Grafana 短信报警

发布时间:2020-02-13 12:18:26编辑:admin阅读(3218)

    一、分析

    需求

    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

    1.png

     选择新建

    2.png


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

    类型选择 webhook

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

    最后点击保存

    3.png


    上面还有2个选项

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

     

    解释:

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

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

     

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

     

    测试报警

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

    1.png


    图表添加报警

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

    2.png


    进入 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  如果执行错误或超时,这里选择触发报警

     3.png


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

    1.png


     点击Notifications,选择devops-sms

    2.png


    点击保存

    3.png


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

     4.png


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

    1.png


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

    2.png


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

    只会发送一次!

     

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

    3.png


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

     4.png


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

    需要勾选这个选项

     1.png


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


关键字