模型服务可用性监控指标及阈值设置
作为DevOps工程师,在构建机器学习模型运行时监控平台时,模型服务可用性是核心关注点。以下为具体的监控指标和告警配置方案。
核心监控指标
1. 响应时间 (Response Time)
- 指标:P95响应时间
- 阈值设置:> 200ms 告警,> 500ms 紧急告警
- 监控命令:
curl -w "@curl-format.txt" -o /dev/null -s http://model-service:8080/predict
2. 服务可用率 (Service Availability)
- 指标:99.9% SLA达标率
- 阈值设置:< 99.5% 告警,< 99% 紧急告警
- 监控脚本:
#!/bin/bash
SUCCESS=$(curl -s -w "%{http_code}" http://model-service:8080/health | grep -c "200")
TOTAL=100
RATE=$(echo "scale=2; $SUCCESS/$TOTAL*100" | bc)
[ $(echo "$RATE < 99.5" | bc) -eq 1 ] && echo "ALERT: Availability below 99.5%"
3. 错误率 (Error Rate)
- 指标:HTTP 5xx错误率
- 阈值设置:> 1% 告警,> 5% 紧急告警
- Prometheus查询语句:
sum(rate(http_requests_total{status=~"5.*"}[5m])) / sum(rate(http_requests_total[5m])) > 0.01
告警配置方案
使用Prometheus + Alertmanager实现分级告警,关键指标阈值设置如上所示。建议设置多级通知:
- 微信/钉钉群通知(P95>200ms)
- 邮件通知(可用率<99.5%)
- 紧急电话通知(P95>500ms或可用率<99%)

讨论