Grafana 短信报警

 

一、分析

需求

Grafana支持短信渠道报警

 

要求

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

 

请求url:

http://192.168.1.1:8088/alerting/sendSms?mobile=手机号码

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

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

 

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

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选项中,设置了报警策略。它才会报警,否则不会!

 

posted @ 2019-01-09 12:01  肖祥  阅读(9053)  评论(4编辑  收藏  举报