Grafana 短信报警

2020-02-18 21:44:14 浏览数 (1)

一、分析

需求

Grafana支持短信渠道报警

要求

使用开发提供的短信API接口

请求url:

代码语言:javascript复制
http://192.168.1.1:8088/alerting/sendSms?mobile=手机号码

这个是java项目开发的api,请求方式为POST

如果要增加多个手机号码,使用逗号隔开

使用shell脚本的发送命令为:

代码语言:javascript复制
curl -X POST --header "Content-Type: application/json" --header "Accept: */*" -d "{"title": "监控告警"}" http://192.168.1.1:8088/alerting/sendSms?mobile=12345678910

逻辑

1. 在Grafana添加短信报警方式

2. 在相关图表中应用短信报警

二、实际操作

添加报警方式

点击Alerting-->Notification channels

 选择新建

输入报警方式的名字,比如: devops-sms

类型选择 webhook

输入url  http://192.168.1.1:8011/alerting/sendSms?mobile=12345678910

最后点击保存

上面还有2个选项

Send on all alerts 表示发送给所有的alerts。 Include image  发送图表。

解释:

1. 如果选择Send on all alerts,必须要保证相关的图表,已经开启了alerts。也就是说,创建图像时,alerts默认是空的

2. 由于是短信报警,发送的是文字,所以图片即使发过去,也没啥卵用。如果是邮件报警,则可以看到图表信息!

在webhook settings选项中,还有2个参数,username和password。由于此接口不需要认证,所以这2个参数不需要填写!

测试报警

点击上面的Send Test,确保能够收到短信!

图表添加报警

随便点击一个图表,点击edit

进入 alert选项

Alert Config-->Evaluate every 表示检测评率,这里为了测试效果,改为1秒

Conditions 表示触发条件。下面图片的意思表示 当每秒平均值达到10,就会触发报警。

when 表示什么时间,of 表示条件,is above 表示触发值

If no data or all values are null   如果没有数据或所有值都为空,这里选择触发报警 If execution error or timeout  如果执行错误或超时,这里选择触发报警

这里有一条红线,表示警戒线,就是刚刚设置的报警条件。

 点击Notifications,选择devops-sms

点击保存

更新描述可以不写,点击保存

 等待1分钟,就会收到短信了

在State history,会看到报警的历史信息

注意:下一次触发,比如1秒后,它不会再次触发,防止 报警风暴产生!

只会发送一次!

如果需要查看所有的,点击Alerting-->Alert List

 进入告警列表页面,选择 Alerting,效果如下:

上面只是演示了,单个图表的报警设置,如果需要设置所有图表都应用短信报警

需要勾选这个选项

请确保其他图表的alert选项中,设置了报警策略。它才会报警,否则不会!

0 人点赞