InfluxDB+Grafana Alert功能Email+webhook

来源:互联网 发布:如何删除知乎回答 编辑:程序博客网 时间:2024/05/16 12:29

Grafana从4.0开始新增预警功能,而且目前只有Graph有这个功能,这里说下与InfluxDB的联合使用。

默认InfluxDB与Grafana已经安装配置OK,如果有不懂的可以参考前面的博文InfluxDB+Grafana整合及metrics没有显示问题。

  • 使用Email预警

提前准备:
使用Email的时候必须先设置smtp:

#################################### SMTP / Emailing ##########################[smtp]enabled = truehost = smtp.exmail.qq.com:465user = email address# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""password =your email password;cert_file =;key_file =skip_verify = truefrom_address = email addressfrom_name = Grafana Alert[emails];welcome_email_on_sign_up = false

我这里的host设置的是腾讯的企业邮箱,其它的可以具体设置,端口这里是465,不是默认的25,另外这里的“;”是注意,所以每个需要用到的字段一定要去掉。

另外server下的domain一定要设成自己服务器的ip,要不然点击图片的链接是不能正常跳转的。

一、配置数据源

这里首先新增InfluxDB的数据源(具体细节可以参考上篇文章):
这里写图片描述

二、新增Alerting:

这里写图片描述

之后点击New Channel进入配置页面:
这里写图片描述

三、建立dashboard

因为目前只有Graph支持报警功能,所以这里只说Graph:
这里写图片描述

这里的Graph选项是在new点击之后出现的。
这里写图片描述
按照1→2的顺序点击会出现3Graph的选项

四、调整Graph数据图形

设置metrics,显示出数据信息:
这里写图片描述

这里的具体细节可以参考上篇文章,另外使用鼠标拖动panel可以调整时间范围。

在Display中的points选项打勾,显示出数据点就完成上图显示了。

注:这里记得先保存一次dashboard,要不然下边测试的时候会有至少要先保存一次的提示。

五、设置Alert关联

点击create alert:
这里写图片描述

上图是Alert Config的设置:
1、此alert名称,自己命名,会在Alert list中显示。
2、执行的频率,这里我选择每10s检测一次。
3、判断标准,默认是avg,这里是下拉框,自己按需求选择;
4、query(A,2m,now),字母A代表选择的metrics中设置的sql,也可以选择其它在metrics中设置的,但这里是单选。2m代表从现在起往之前的两分钟,即2m之前的那个点为时间的起始点,now为时间的结束点,此外这里可以自己手动输入时间。这里也可以写成query(A,30m,now-5m)表示起始时间点为30m前,结束点为5m前,即舍弃最近的5m这段时间的数据。
5、设置的预警临界点,这里手动输入,和7是同样功能,7为手动移动,两种操作是等同的。
6、增加其它判断条件,每个判断条件之间用and或or来连接,每个条件的结果都是一个布尔值,true or false,这个点击之后就很容易理解。

点击Notifications选择预警提示:

点击图中的+选择报警提示方式,message自己输入相应的提示内容。

返回Alert config,点击最下方的Test Rule,测试条件满足时是否能够发送出Email预警通知。
这里写图片描述

如果返回结果是true说明上述设置条件满足了预警条件,false没有达到预警条件,可以自己调整条件后重新试下。

每次设置完之后跟新的备注信息随便输入:
这里写图片描述

注:邮件收到可能会有延迟,只要Email地址和返回结果是true,就说明已经正常发送了。发送邮件到达的时候可以在State History中查看。

在Alert list中也可以查看报警信息:

这里写图片描述

这里显示的状态一般有:Alerting、ok、pending、no data还有paused这几种状态。
每种状态后的时间可以不必太在意,表示该状态的持续时间,这个时间精确度不高,需要具体时间的可以去State History中查看计算。

特别注意,如果是ALerting状态,该graph图不会继续发送下次警告,除非手动切换状态,这里只能点击两下后切成pending状态,如此方可出发下次预警通知。

Grafana目前没有提供自动结束Alerting状态,这个只能自己手动切换,或者找个临界值,自己的条件如果在设定的时间范围内查询不到数据会发送一个no data,将状态切换成no data,这样下次预警的时候可以正常启动。

  • 使用webhook预警

    这里与Email不同点在于设置的时候:
    这里写图片描述

    type选择的时候选择webhook,url为你提供的被调用的接口,可以先弄个helloworld试下,这里目前只有put和post两种方式,username和password可以不写。

其它地方设置与Email完全一样,另外通过webhook也可以获取graph上具体哪条数据线出的问题的信息,这些东西以后再补充文章。