使用步骤:
## 1. 部署Alertmanager
## 2. 配置告警接收人
## 3. 配置Prometheus与Alertmanager通信
## 4. 在Prometheus中创建告警规则
配置Prometheus与Alertmanager通信
修改Prometheus的配置文件,修改alertmanager的targets地址。
重新加载Prometheus地址。
prometheus配置加载生效。
配置Alertmanager
Alertmanager配置介绍:
global:
resolve_timeout: 5m
#邮箱服务器
smtp_smarthost: 'smtp.163.com:25'
smtp_from: 'baojingtongzhi@163.com'
smtp_auth_username: 'baojingtongzhi@163.com'
smtp_auth_password: 'xxx'
smtp_require_tls: false
#配置路由树
route:
group_by: [‘alertname’] # 根据告警规则组名进行分组
group_wait: 10s # 分组内第一个告警等待时间,
10s内如有第二个告警会合并一个告警
group_interval: 10s # 发送新告警间隔时间
repeat_interval: 1h # 重复告警间隔发送时间
receiver: 'mail'
#接收人
receivers:
- name: 'mail'
email_configs:
- to: 'zhenliang369@163.com'
#抑制规则
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
根据指标中的标签发送不同的收件人
route:
receiver: 'default-receiver'
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
group_by: [cluster, alertname]
routes:
- receiver: 'database-pager'
group_wait: 10s
match_re:
service: mysql|cassandra
- receiver: 'frontend-pager'
group_by: [product, environment]
match:
team: frontend
receivers:
- name: ‘database-pager'
email_configs:
- to: 'zhenliang369@163.com'
- name: ‘frontend-pager'
email_configs:
- to: 'zhenliang369@163.com'
修改alertmanager.yml文件内容
重启alertmanager服务
修改prometheus.yml配置文件
重新加在prometheus.yml配置文件
prometheus.yml配置文件生效
创建node.yml文件
文件内容如下
重新加载配置
停止一个node_exporter服务
已经发送了邮件到指定的邮箱
• Inactive:这里什么都没有发生。
• Pending:已触发阈值,但未满足告警持续时间
• Firing:已触发阈值且满足告警持续时间。警报发送给接受者。