grafana向钉钉群发送告警通知(v7及以下版本)

背景介绍

最近公司内要完善对微服务基础指标的监控,主要针对ADL、CAL、SAL,底层监控的数据以及和grafana的连接一开始就有,这里就不展开了。(很多教程都有怎么连接数据库以及配置告警,本文只描述过程中遇到的问题)

报警配置

报警通告配置

左侧工具栏点击Alerting–>Notification channels–>New channel 便可新建一个报警通告,v7及以下版本界面可能如下,比较老的版本可能没有后两个选项,但不影响。

因为要发送到钉钉群,所以Type选择dingding,url就是群里机器人的webhook。基于当下时间点,钉钉支持三种方式来保证消息的安全性:自定义关键词、加签、IP地址。而grafana v8.2以上的版本才支持自定义关键词功能,所以这里选择IP地址的方式来配置机器人

dingding robot
这里有两点需要注意

  1. 如果是公司配置的话,要用公司的公网IP,而不是内网IP,这个一般运维的人会知道
  2. 要报警的机器人只能有这一种安全验证,若同时配置关键词,他无法同时满足两个安全验证,发送消息会失败

配置完成后,点击test,看看能否成功发送通知到群里,如果不能,上述步骤出有问题,下图为成功的实例:
测试告警

具体报警规则配置

这里配置路径就不赘述了,直接说注意的问题:
报警规则配置

  1. 首先是conditions,我们在配置query中的条件时可能会动态的配置来更好的展示,但报警条件却不支持动态模版配置;并且不支持by等语法,因为它是将这样一条语句sum(http_requests_total{env='test'}) by (method)拆分了而诸如A、B等query只能配置成http_requests_total{env='test'}这样的一段
  2. Evaluate every参数指定了 Grafana 每隔多久评估一次警报规则。多久检查一次,这里如果时间很短的话会很消耗cpu
  3. for参数指定了警报条件必须持续满足多长时间后,警报才会被触发。如果短时间内超过阈值便要报警,可以设的短一些
  4. 点击test rule便可测试报警条件,若firing为false表示未触发报警,为true的话表示触发报警,但是可能并不会发送消息到钉钉群

如果要想测试一下报警规则并发送消息到钉钉群的话,需注意以下
Evaluate everyfor参数都要设置的比较短,并且图表中的数据要满足is above选项后的配置条件。

grafana只有在发生状态转换时才会发送消息,绿心表示监控正常,红心表示出异常了。从绿心变道红心,grafana便认为触发了报警,会发送消息到钉钉群
监控状态
机器人成功报警
而处于红心状态下,grafana不会频繁的触发报警,所以频繁点击test rule并不会生效,并且test rule实际并不会发送告警消息
而当问题解决后,又从红心变成了绿心,这时会发送已解决到钉钉群
问题已解决通知
至此,grafana告警功能便可正常使用了,以上是基于比较老的版本,还是建议使用较新的版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值