让Grafana支持企业微信告警

让Grafana支持企业微信告警

Grafana 4.0之后提供了基于Panel的告警功能,同时支持一系列Notifier(如Email,Slack等)。

在墙内,我们用的更多的是微信这样的工具,因此我向Grafana提供了一个使用企业微信作为Notifier的PR。

企业微信及其配置

使用企业微信是因为其提供了相关API(详见开发文档 - 企业微信)可以发送告警(我们无法直接向微信发送告警,虽然存在一些Hack方式)。

要使用企业微信,需要从企业微信获取发送告警的一些参数

  1. 企业微信账号开通(企业微信
  2. 登陆察看“我的企业”,获取CorpID
  1. 创建告警应用

3. 得到告警应用的AgentID和Secret

完成以上几步我们就可以开始使用Grafana发送告警了

Grafana配置

进入[grafanaurl]/alerting/notifications页面,点击+New Channel创建新的Notifier Channel


  • 修改Type为WeChat
  • 依次输入AgentID/CorpID/Secret
  • 输入告警接受人(ToUser),可以输入具体User,或at all(可以发送给谁,受限于创建企业微信时选择的范围)
  • 保存退出页面

特性

如何配置Grafana Alert请参考(Alerting Engine & Rules Guide),这里只介绍WeChat Notifier的几个特性

  • WeChat Notifier会尝试将告警发生时的Graph发送给用户作为参考信息,我详细这是一个很强大的特性。(这需要在创建Notifier Channel时选择Include Image,同时配置Render Image的存储后端,请参考Configuration
  • 通知文字会将告警发生时的Metric值传递给用户,但由于Grafana实现限制,还无法将告警计算表达式附上。

编辑于 2018-06-19