Prometheus添加邮件告警和企业微信机器人告警

Prometheus添加邮件告警和企业微信机器人告警_alertmanager对接企业微信机器人-CSDN博客

我们将在 Prometheus 服务器上编写警报规则 ,这些规则将使用我们收集的指标并在指定的阈值或标准上触发警报,收到警报后, Alertmanager 会处理警报并根据其标签进行路由。一旦路径确定,它们将由Alertmanager发送到外部目的地,如电子邮件、短信或聊天工具

邮件告警(注意如果用qq的需要开启smtp协议)

 
  1. ~]# vim alertmanager.yml
  2. global:
  3. resolve_timeout: 5m
  4. smtp_smarthost: 'smtp.qq.com:465' # 邮箱的url和端口
  5. smtp_from: 'xxxxxxx@qq.com' # 发送邮箱
  6. smtp_auth_username: 'xxxxxxxx@qq.com' # 发送邮箱
  7. smtp_auth_password: 'xxxxxxxxxxxx' # 授权码(也可以叫密码)
  8. smtp_require_tls: false
  9. smtp_hello: 'qq.com'
  10.  
  11. templates: # 自定义模板
  12. - '/etc/alertmanager/template/*.tmpl'
  13.  
  14. route:
  15. group_by: ['alertname','alarmPolicyName','version']
  16. group_wait: 10s
  17. group_interval: 10s
  18. repeat_interval: 40m
  19. receiver: 'email'
  20.  
  21. receivers:
  22. - name: 'email'
  23. email_configs: # 自己的邮箱
  24. - to: 'xxxxxx@qq.com'
  25. html: '{{ template "email.html" . }}'
  26. headers: { Subject: "[WARN]CPU告警" }
  27. send_resolved: true
 

 

企业微信机器人

1.先创建机器

 

 

 2.创建webhook服务

 
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. labels:
  5. run: prometheus-webhook-dingtalk
  6. name: prometheus-webhook-dingtalk
  7. namespace: kube-system
  8. spec:
  9. selector:
  10. matchLabels:
  11. run: prometheus-webhook-dingtalk
  12. template:
  13. metadata:
  14. labels:
  15. run: prometheus-webhook-dingtalk
  16. spec:
  17. containers:
  18. - args:
  19. - --adapter=/app/prometheusalert/wx.js=/adapter/wx=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={} # 这里的key按刚刚创建的
  20. image: registry.cn-hangzhou.aliyuncs.com/guyongquan/webhook-adapter
  21. name: prometheus-webhook-dingtalk
  22. ports:
  23. - containerPort: 80
  24. protocol: TCP
  25.  
  26. ---
  27. apiVersion: v1
  28. kind: Service
  29. metadata:
  30. labels:
  31. run: prometheus-webhook-dingtalk
  32. name: prometheus-webhook-dingtalk
  33. namespace: kube-system
  34. spec:
  35. ports:
  36. - port: 8060
  37. protocol: TCP
  38. targetPort: 80
  39. selector:
  40. run: prometheus-webhook-dingtalk
  41. type: ClusterIP
 

3.告警方式书写

 
  1. ~]# vim alertmanager.yaml
  2.  
  3. global:
  4. resolve_timeout: 5m
  5.  
  6. templates:
  7. - '/etc/alertmanager/template/*.tmpl'
  8.  
  9. route:
  10. group_by: ['alertname']
  11. group_wait: 10s
  12. group_interval: 10s
  13. repeat_interval: 100m
  14. receiver: 'web.hook'
  15.  
  16. receivers:
  17. - name: 'web.hook'
  18. webhook_configs:
  19. - url: 'http://prometheus-webhook-dingtalk.kube-system.svc.cluster.local:8060/adapter/wx' # 刚刚创建的webhook地址
  20. send_resolved: false
  21.  
  22. inhibit_rules:
  23. - source_match:
  24. severity: 'critical'
  25. target_match:
  26. severity: 'warning'
  27. equal: ['alertname', 'dev', 'instance']
 

注:配置企业微信机器人告警时需要先安装webhook;最后重启

4.查看

 

posted @ 2025-02-05 13:31  CharyGao  阅读(414)  评论(0)    收藏  举报