我们将在 Prometheus 服务器上编写警报规则 ,这些规则将使用我们收集的指标并在指定的阈值或标准上触发警报,收到警报后, Alertmanager 会处理警报并根据其标签进行路由。一旦路径确定,它们将由Alertmanager发送到外部目的地,如电子邮件、短信或聊天工具
邮件告警(注意如果用qq的需要开启smtp协议)
~]# vim alertmanager.yml
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.qq.com:465' # 邮箱的url和端口
smtp_from: 'xxxxxxx@qq.com' # 发送邮箱
smtp_auth_username: 'xxxxxxxx@qq.com' # 发送邮箱
smtp_auth_password: 'xxxxxxxxxxxx' # 授权码(也可以叫密码)
smtp_require_tls: false
smtp_hello: 'qq.com'
templates: # 自定义模板
- '/etc/alertmanager/template/*.tmpl'
route:
group_by: ['alertname','alarmPolicyName','version']
group_wait: 10s
group_interval: 10s
repeat_interval: 40m
receiver: 'email'
receivers:
- name: 'email'
email_configs: # 自己的邮箱
- to: 'xxxxxx@qq.com'
html: '{{ template "email.html" . }}'
headers: { Subject: "[WARN]CPU告警" }
send_resolved: true
企业微信机器人
1.先创建机器
2.创建webhook服务
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
run: prometheus-webhook-dingtalk
name: prometheus-webhook-dingtalk
namespace: kube-system
spec:
selector:
matchLabels:
run: prometheus-webhook-dingtalk
template:
metadata:
labels:
run: prometheus-webhook-dingtalk
spec:
containers:
- args:
- --adapter=/app/prometheusalert/wx.js=/adapter/wx=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key={} # 这里的key按刚刚创建的
image: registry.cn-hangzhou.aliyuncs.com/guyongquan/webhook-adapter
name: prometheus-webhook-dingtalk
ports:
- containerPort: 80
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
labels:
run: prometheus-webhook-dingtalk
name: prometheus-webhook-dingtalk
namespace: kube-system
spec:
ports:
- port: 8060
protocol: TCP
targetPort: 80
selector:
run: prometheus-webhook-dingtalk
type: ClusterIP
3.告警方式书写
~]# vim alertmanager.yaml
global:
resolve_timeout: 5m
templates:
- '/etc/alertmanager/template/*.tmpl'
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 100m
receiver: 'web.hook'
receivers:
- name: 'web.hook'
webhook_configs:
- url: 'http://prometheus-webhook-dingtalk.kube-system.svc.cluster.local:8060/adapter/wx' # 刚刚创建的webhook地址
send_resolved: false
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
注:配置企业微信机器人告警时需要先安装webhook;最后重启
4.查看
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)