一、简介

  1. 所有的graph图形都可以设置连接上多个报警平台并设置阈值并报警
  2. prometheus_server(alertmanager插件)-Pagerduty仅仅作为数据源即可(没有必要再使⽤prometheus做报警设置了)
  3. 整个的流程如下

image.png

二、grafana告警平台设置

使用qq邮箱发送报警信息

  1. 修改grafana配置文件

# vim /etc/grafana/grafana.ini
image.png

  1. 重启grafana服务

# systemctl restart grafana-server

  1. 设置grfana报警平台

    image.png
    image.png

  2. 发送测试短信并查看

    image.png

    三、图表添加报警规则

  3. 进⼊编辑模式后,选择 Alert 选项卡

image.png

  1. 设置告警规则

image.png

  • name:告警名称
  • evaluate every:告警检测时间间隔(可填写30s, 3m, 5m or 1h
  • for:在触发告警前,需要查询多长时间的间隔(当告警满足触发条件,不会立即告警,而是先转为peding,一旦超过for设置的时长,再转为alerting状态)

image.png

  1. 开始设置对于这⼀个graph监控的阈值

    image.png

  • when:聚合操作类型(可以是 avg、max、min、last等)
  • of:查询公式Query(A,5m,now)。其中的A是Graph曲线编号,5m表示取开始时间区间,now表示结束时间区间。也可以是(1h,now-50m)
  • IS ABOVE:报警的触发阈值了,当⼤于80的时候 就会发出报警到 Pagerduty
  1. 无数据和错误处理

image.png

  • If no data or all values are null:如果没有数据或所有值都为空
  • If execution error or timeout:如果执行错误或超时 | 选项 | 介绍 | | —- | —- | | No Data | 将警报规则状态设置为无数据 | | Alerting | 将警报规则状态设置为警报 | | Keep Last State | 保持当前的警报规则状态。 | | Ok | 将警报规则状态设置为正常 |
  1. 设置报警工具与内容

    image.png

  2. tag设置

  • 目前支持自定义tag类型为:Prometheus Alertmanager、Webhook
  1. 查看报警信息

image.png
image.png

四、webhook

  1. {
  2. "dashboardId":1,
  3. "evalMatches":[
  4. {
  5. "value":1,
  6. "metric":"Count",
  7. "tags":{}
  8. }
  9. ],
  10. "imageUrl":"https://grafana.com/assets/img/blog/mixed_styles.png",
  11. "message":"Notification Message",
  12. "orgId":1,
  13. "panelId":2,
  14. "ruleId":1,
  15. "ruleName":"Panel Title alert",
  16. "ruleUrl":"http://localhost:3000/d/hZ7BuVbWz/test-dashboard?fullscreen\u0026edit\u0026tab=alert\u0026panelId=2\u0026orgId=1",
  17. "state":"alerting",
  18. "tags":{
  19. "tag name":"tag value"
  20. },
  21. "title":"[Alerting] Panel Title alert"
  22. }