通过企业微信接收告警

Alertmanger 从 v0.12 开始已经默认支持企业微信了,下面我们就一起体验一下。

准备工作

step 1: 访问网站 注册企业微信账号(不需要企业认证)。

step 2: 访问apps 创建第三方应用,点击创建应用按钮 -> 填写应用信息:

点击创建第三方应用

使用版本

  • prometheus: 2.0.darwin-amd64
  • node_exporter: 0.15.0.darwin-amd64
  • alertmanager: 0.14.darwin-amd64

详细配置:

prometheus 配置:

  1. # Alertmanager configuration
  2. alerting:
  3. alertmanagers:
  4. - static_configs:
  5. - targets:
  6. - localhost:9093
  7. rule_files:
  8. - "rules.yml"
  9. scrape_configs:
  10. - job_name: 'node'
  11. static_configs:
  12. - targets: ['localhost:9100']

rules.yml 配置:

  1. groups:
  2. - name: node
  3. rules:
  4. - alert: server_status
  5. expr: up{job="node"} == 0
  6. for: 15s
  7. annotations:
  8. summary: "机器 {{ $labels.instance }} 挂了"

alertmanger 配置:

  1. route:
  2. group_by: ['alertname']
  3. receiver: 'wechat'
  4. receivers:
  5. - name: 'wechat'
  6. wechat_configs:
  7. - corp_id: 'xxx'
  8. to_party: '1'
  9. agent_id: '1000002'
  10. api_secret: 'xxxx'

参数说明:

  • corp_id: 企业微信账号唯一 ID, 可以在我的企业中查看。
  • to_party: 需要发送的组。
  • agent_id: 第三方企业应用的 ID,可以在自己创建的第三方企业应用详情页面查看。
  • api_secret: 第三方企业应用的密钥,可以在自己创建的第三方企业应用详情页面查看。

详情请参考文档

验证测试

当我们停掉 node_exporter 的时候,会收到如下告警信息:

wechat03.png

当我们重新启动 node_exporter 的时候,会收到如下告警信息:

wechat04.png

结论

企业微信从注册到 alertmanger 配置没有什么坑,而且它的通知非常及时,基本不丢消息,大家可以测试体验以下。