You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于响应时间与故障频率配置Grafana网站宕机告警

网站可用性监控告警配置方案

一、响应时间超过5秒的告警配置

1. PromQL查询表达式

根据你的现有指标,假设响应时间指标为http_request_duration_seconds(替换为你实际使用的指标名),结合标签过滤目标网站,使用以下查询:

avg_over_time(http_request_duration_seconds{job="your-website-instance"}[1m]) > 5
  • 说明:用avg_over_time计算1分钟内的平均响应时间,避免瞬时波动误触发;job标签替换为你的网站实例标识,可根据实际添加instance等其他标签缩小范围。

2. Grafana告警设置步骤

  • 进入Grafana的Alerting面板,点击Create alert rule
  • Query标签页:
    • 选择Prometheus数据源
    • 粘贴上述PromQL表达式
    • 设置Evaluation interval(评估间隔)为1分钟(可根据监控精度调整,比如30秒)
  • Alert标签页:
    • 配置Condition为B is above 5(对应查询结果的阈值)
    • 设置For为1分钟(确保响应时间持续超过5秒才触发告警,过滤偶发峰值)
  • Notifications标签页:
    • 添加已配置的通知渠道(如邮件、Slack),选择目标通知团队
  • 保存规则,命名为「网站响应时间超5秒告警」

二、5分钟内失败请求达2次的告警配置(补充需求)

1. PromQL查询表达式

假设失败请求用状态码4xx/5xx标识,指标为http_requests_total(替换为实际指标名),使用以下查询:

increase(http_requests_total{job="your-website-instance", status=~"4..|5.."}[5m]) >= 2
  • 说明:increase计算5分钟内失败请求的增量;status=~"4..|5.."匹配所有4xx、5xx状态码,可根据需求调整(比如只监控5xx)。

2. Grafana告警设置步骤

  • 创建新告警规则,Query部分使用上述表达式
  • 评估间隔设为1分钟
  • Condition配置为B is above or equal to 2
  • For可设为0(只要5分钟内累计失败达2次就触发)
  • 关联相同的通知渠道和团队

三、监控最佳实践与注意事项

  • 指标标准化:统一指标命名和标签规则(如job、instance、endpoint),简化查询和告警管理
  • 减少误告警:
    • 响应时间告警设置合理的For时长,过滤瞬时网络波动
    • 失败请求告警优先用increase而非sum,避免重复统计同一指标的累计值
  • 多维度覆盖:除响应时间和状态码,补充监控请求成功率、服务器CPU/内存使用率,便于快速定位问题根源
  • 告警分级:将告警分为严重(网站完全不可用)、警告(响应超时),不同级别对应不同通知优先级(如严重告警@所有人,警告仅通知运维组)
  • 验证告警:配置完成后手动模拟场景(如用工具发送慢请求或返回500的请求),确认告警触发和通知正常
  • 定期优化:回顾告警历史,调整阈值和规则(如业务高峰时适当放宽响应时间阈值)

内容的提问来源于stack exchange,提问作者FALGUNI BHAVSAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 07:47:28