Alertmanager简介
Alertmanager是什么?
Alertmanager 是 Prometheus 的一个报警模块,主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且能够做到对告警信息进行去重,降噪,分组,是一款前卫的告警通知系统。
Alertmanager工作机制
在Prometheus生态架构里,警报是由独立的俩部分组成,Prometheus和Alertmanager是两个独立的组件,Prometheus用于采集监控指标数据,定义告警规则,并会根据配置的参数周期性的对警报规则进行计算, 如果满足警报条件,则生产一条警报信息,将其推送到Alertmanager组件,Alertmanager收到警报信息之后,会对警告信息进行处理(沉默、抑制、聚合等),并将它们通过定义好的路由 Routing
规则转到 正确的接收器 receiver
, 比如 Email
Slack
钉钉、企业微信 Robot(webhook)
企业微信
等。
设置警报和通知的主要步骤:
1.安装和配置Alertmanager
2.配置Prometheus与Alertmanager关联
3.在Prometheus中设置警报规则
1.安装、配置Alertmanager
1)创建Alertmanager配置文件:使用K8S部署的方式,先创建一个ConfigMap 资源对象用于管理Alertmanager的配置文件,在Alertmanager配置文件中配置全局参数、邮件信息、分发路由、接收者等,如下为ConfigMap资源定义:
$ cat alert_cm.yml
apiVersion: v1
kind: ConfigMap
metadata:
name: alert-config
namespace: kube-mon
data:
config.yml: |-
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.163.com:465'
smtp_from: 'yhhh@163.com'
smtp_auth_username: 'yhhh@163.com'
smtp_auth_password: 'XXXXXXXXXXXXX'
smtp_hello: '163.com'
smtp_require_tls: false
route:
group_by: ['alertname', 'cluster']
group_wait: 30s
group_interval: