Prometheus通过企业微信接收告警

准备工作

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

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

Prometheus配置

  • prometheus.yml 配置
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets: ['localhost:9093']

rule_files:
  - "rules.yml"

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']
  • rules.yml 配置
groups:
- name: prometheus_go_goroutines
  rules:
  - alert: go_goroutines_numbers
    expr: go_goroutines > 100
    for: 15s
    annotations:
      summary: "prometheus的gorotine数据超过100!"
- name: node
  rules:
  - alert: server_status
    expr: up{job="node"} == 0
    for: 15s
    annotations:
      summary: "机器 {{ $labels.instance }} 宕机"
      description: "机器 {{ $labels.instance }} 宕机"

Alertmanger配置

  • alertmanager.yml
route:
  group_by: ['alertname']
  receiver: 'wechat'

receivers:
  - name: 'wechat'
    wechat_configs:
    - send_resolved: true
      corp_id: 'xxx'
      to_party: '1'
      agent_id: '1000002'
      api_secret: 'xxxx'

参数说明:

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

配置模板

  • alertmanager.yml
templates:
  - './template/wechat.tmpl'
  • wechat.tmpl
{{ define "wechat.default.message" }}
{{ range .Alerts }}
========start=========
告警程序: prometheus_alert
告警级别: {{ .Labels.serverity }}
告警类型: {{ .Labels.alertname }}
故障主机: {{ .Labels.instance }}
告警主题: {{ .Annotations.summary }}
告警详情: {{ .Annotations.description }}
触发时间: {{ .StartsAt.Format "2019-11-02 15:08:05" }}
=========end===========
{{ end }}
{{ end }}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/prometheus-receive-alerts-through-enterprise-wechat/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Prometheus通过企业微信接收告警
准备工作 step 1: 访问企业微信 注册企业微信账号(不需要企业认证)。 step 2: 访问应用管理 创建第三方应用,点击创建应用按钮 -> 填写应用信息: Prome……
<<上一篇
下一篇>>
文章目录
关闭
目 录