JAiRouter告警规则指南¶
文档版本: 1.0.0
最后更新: 2025-08-19
Git 提交: f47f2607
作者: Lincoln
概述¶
本文档详细介绍了JAiRouter项目的Prometheus告警规则配置,包括告警类型、触发条件、处理建议等。
告警规则分类¶
1. 基础服务告警 (jairouter.basic)¶
JAiRouterServiceDown¶
- 描述: JAiRouter服务不可用
- 触发条件:
up{job="jairouter"} == 0
- 持续时间: 1分钟
- 严重级别: Critical
- 处理建议:
- 检查JAiRouter服务进程状态
- 查看应用启动日志
- 验证端口占用情况
- 检查系统资源是否充足
JAiRouterHighErrorRate¶
- 描述: JAiRouter错误率过高
- 触发条件: 4xx/5xx错误率超过10%
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查应用错误日志
- 验证后端服务状态
- 检查网络连接
- 分析错误类型分布
JAiRouterCriticalErrorRate¶
- 描述: JAiRouter严重错误率过高
- 触发条件: 5xx错误率超过5%
- 持续时间: 1分钟
- 严重级别: Critical
- 处理建议:
- 立即检查服务器状态
- 查看应用异常日志
- 检查数据库连接
- 验证依赖服务可用性
2. 性能告警 (jairouter.performance)¶
JAiRouterHighLatency¶
- 描述: JAiRouter响应时间过高
- 触发条件: 95%分位响应时间超过2秒
- 持续时间: 3分钟
- 严重级别: Warning
- 处理建议:
- 检查系统资源使用情况
- 分析慢查询和性能瓶颈
- 验证后端服务响应时间
- 检查网络延迟
JAiRouterCriticalLatency¶
- 描述: JAiRouter响应时间严重过高
- 触发条件: 95%分位响应时间超过5秒
- 持续时间: 1分钟
- 严重级别: Critical
- 处理建议:
- 立即检查系统负载
- 分析性能瓶颈
- 考虑临时限流
- 检查是否需要扩容
JAiRouterLowRequestVolume¶
- 描述: JAiRouter请求量异常低
- 触发条件: 请求率低于0.1 req/s
- 持续时间: 5分钟
- 严重级别: Warning
- 处理建议:
- 检查客户端连接状态
- 验证负载均衡器配置
- 检查网络路由
- 确认是否为正常业务低峰
JAiRouterSlowQueriesDetected¶
- 描述: JAiRouter检测到慢查询
- 触发条件: 5分钟内慢查询数量超过5个
- 持续时间: 1分钟
- 严重级别: Warning
- 处理建议:
- 检查慢查询日志
- 分析慢查询原因
- 优化相关查询或操作
- 考虑增加索引或缓存
JAiRouterHighSlowQueryRate¶
- 描述: JAiRouter慢查询率过高
- 触发条件: 慢查询速率超过1个/秒
- 持续时间: 2分钟
- 严重级别: Critical
- 处理建议:
- 立即分析系统性能瓶颈
- 检查数据库连接和查询
- 评估是否需要扩容资源
- 考虑临时限流措施
3. 后端服务告警 (jairouter.backend)¶
JAiRouterBackendDown¶
- 描述: JAiRouter后端服务不可用
- 触发条件:
jairouter_backend_health == 0
- 持续时间: 1分钟
- 严重级别: Critical
- 处理建议:
- 检查后端服务状态
- 验证网络连接
- 检查服务配置
- 查看健康检查日志
JAiRouterBackendHighLatency¶
- 描述: JAiRouter后端服务响应慢
- 触发条件: 后端95%分位响应时间超过3秒
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查后端服务性能
- 分析网络延迟
- 验证后端资源使用
- 考虑调整超时配置
JAiRouterBackendHighErrorRate¶
- 描述: JAiRouter后端服务错误率高
- 触发条件: 后端错误率超过15%
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查后端服务日志
- 验证API兼容性
- 检查认证配置
- 分析错误类型
4. 基础设施告警 (jairouter.infrastructure)¶
JAiRouterCircuitBreakerOpen¶
- 描述: JAiRouter熔断器开启
- 触发条件:
jairouter_circuit_breaker_state == 2
- 持续时间: 30秒
- 严重级别: Warning
- 处理建议:
- 检查下游服务状态
- 分析失败率原因
- 验证熔断器配置
- 考虑手动恢复
JAiRouterRateLimitTriggered¶
- 描述: JAiRouter限流器频繁触发
- 触发条件: 限流拒绝率超过10 req/s
- 持续时间: 1分钟
- 严重级别: Warning
- 处理建议:
- 分析请求来源
- 检查限流配置
- 评估是否需要调整阈值
- 考虑增加容量
JAiRouterLoadBalancerImbalance¶
- 描述: JAiRouter负载均衡不均匀
- 触发条件: 实例间请求量差异超过50%
- 持续时间: 5分钟
- 严重级别: Warning
- 处理建议:
- 检查负载均衡策略
- 验证实例健康状态
- 分析实例性能差异
- 考虑调整权重配置
5. 资源告警 (jairouter.resources)¶
JAiRouterHighMemoryUsage¶
- 描述: JAiRouter内存使用率高
- 触发条件: JVM堆内存使用率超过80%
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查内存泄漏
- 分析GC日志
- 考虑调整JVM参数
- 评估是否需要扩容
JAiRouterCriticalMemoryUsage¶
- 描述: JAiRouter内存使用率严重过高
- 触发条件: JVM堆内存使用率超过90%
- 持续时间: 1分钟
- 严重级别: Critical
- 处理建议:
- 立即检查内存使用
- 考虑重启服务
- 增加内存配置
- 分析内存泄漏原因
JAiRouterHighGCRate¶
- 描述: JAiRouter GC频率过高
- 触发条件: GC频率超过0.2次/秒
- 持续时间: 3分钟
- 严重级别: Warning
- 处理建议:
- 分析GC日志
- 优化JVM参数
- 检查内存分配模式
- 考虑调整堆大小
JAiRouterHighThreadCount¶
- 描述: JAiRouter线程数过多
- 触发条件: 当前线程数超过200
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查线程池配置
- 分析线程堆栈
- 查找线程泄漏
- 优化并发处理
6. 业务指标告警 (jairouter.business)¶
JAiRouterModelCallFailureRate¶
- 描述: JAiRouter模型调用失败率高
- 触发条件: 模型调用失败率超过20%
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查AI模型服务状态
- 验证API密钥和配置
- 分析失败原因
- 检查网络连接
JAiRouterLargeRequestSize¶
- 描述: JAiRouter请求大小异常
- 触发条件: 95%分位请求大小超过1MB
- 持续时间: 3分钟
- 严重级别: Warning
- 处理建议:
- 分析请求内容
- 检查客户端行为
- 考虑添加大小限制
- 优化数据传输
JAiRouterLargeResponseSize¶
- 描述: JAiRouter响应大小异常
- 触发条件: 95%分位响应大小超过5MB
- 持续时间: 3分钟
- 严重级别: Warning
- 处理建议:
- 检查响应内容
- 优化数据格式
- 考虑分页处理
- 检查是否有数据泄漏
7. 安全告警 (jairouter.security)¶
JAiRouterSuspiciousIPActivity¶
- 描述: JAiRouter检测到可疑IP活动
- 触发条件: 单个IP请求率超过100 req/s
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 分析IP访问模式
- 检查是否为攻击行为
- 考虑临时封禁
- 加强访问控制
JAiRouterHighAuthFailureRate¶
- 描述: JAiRouter认证失败率高
- 触发条件: 401错误率超过5%
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查认证系统状态
- 分析失败原因
- 验证密钥配置
- 检查是否有暴力破解
JAiRouterHighClientErrorRate¶
- 描述: JAiRouter客户端错误率高
- 触发条件: 4xx错误率超过20%
- 持续时间: 3分钟
- 严重级别: Warning
- 处理建议:
- 分析客户端请求
- 检查API文档一致性
- 验证参数校验逻辑
- 提供更好的错误信息
8. 容量规划告警 (jairouter.capacity)¶
JAiRouterRequestVolumeGrowth¶
- 描述: JAiRouter请求量显著增长
- 触发条件: 相比24小时前增长超过50%
- 持续时间: 5分钟
- 严重级别: Info
- 处理建议:
- 分析增长原因
- 评估系统容量
- 考虑扩容计划
- 监控资源使用
JAiRouterLowDiskSpace¶
- 描述: JAiRouter服务器磁盘空间不足
- 触发条件: 可用磁盘空间低于20%
- 持续时间: 5分钟
- 严重级别: Warning
- 处理建议:
- 清理临时文件
- 归档历史日志
- 检查磁盘使用
- 考虑扩容
JAiRouterHighCPUUsage¶
- 描述: JAiRouter服务器CPU使用率高
- 触发条件: CPU使用率超过80%
- 持续时间: 3分钟
- 严重级别: Warning
- 处理建议:
- 分析CPU使用情况
- 检查进程状态
- 优化性能瓶颈
- 考虑扩容
9. 依赖服务告警 (jairouter.dependencies)¶
JAiRouterDatabaseConnectionIssue¶
- 描述: JAiRouter数据库连接池使用率高
- 触发条件: 连接池使用率超过80%
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查数据库状态
- 分析连接泄漏
- 优化连接池配置
- 检查慢查询
JAiRouterLowCacheHitRate¶
- 描述: JAiRouter缓存命中率低
- 触发条件: 缓存命中率低于70%
- 持续时间: 5分钟
- 严重级别: Warning
- 处理建议:
- 分析缓存策略
- 检查缓存配置
- 优化缓存键设计
- 考虑预热缓存
JAiRouterExternalAPITimeout¶
- 描述: JAiRouter外部API调用超时频繁
- 触发条件: 超时频率超过5次/秒
- 持续时间: 2分钟
- 严重级别: Warning
- 处理建议:
- 检查外部服务状态
- 分析网络延迟
- 调整超时配置
- 考虑重试策略
告警处理流程¶
1. 告警接收¶
- 通过邮件、Slack、钉钉等渠道接收告警通知
- 查看告警详细信息和严重级别
- 确认告警的真实性和紧急程度
2. 初步诊断¶
- 访问Grafana仪表板查看详细指标
- 检查Prometheus告警页面了解相关告警
- 查看应用日志和系统日志
3. 问题处理¶
- 根据告警类型执行相应的处理步骤
- 记录处理过程和结果
- 必要时联系相关团队协助
4. 验证恢复¶
- 确认问题已解决
- 验证相关指标恢复正常
- 等待告警自动解除
5. 事后分析¶
- 分析问题根本原因
- 评估是否需要调整告警规则
- 完善预防措施和处理流程
告警规则维护¶
定期检查¶
- 每月检查告警规则的有效性
- 根据业务变化调整阈值
- 清理过时或无效的告警规则
阈值调优¶
- 基于历史数据分析合理阈值
- 避免过多的误报和漏报
- 考虑业务特点和用户体验
文档更新¶
- 及时更新告警处理文档
- 记录常见问题和解决方案
- 分享最佳实践和经验教训
测试和验证¶
语法检查¶
# Linux/macOS
./monitoring/prometheus/test-alerts.sh
# Windows
.\monitoring\prometheus\test-alerts.ps1
完整验证¶
# Linux/macOS
./monitoring/prometheus/validate-alerts.sh
# Windows
.\monitoring\prometheus\validate-alerts.ps1
手动测试¶
- 模拟故障场景触发告警
- 验证通知渠道是否正常
- 测试告警恢复机制
相关链接¶
联系方式¶
如有问题或建议,请联系: - 运维团队: ops-team@example.com - 开发团队: dev-team@example.com - JAiRouter团队: jairouter-team@example.com