一、Alertmanager 发送告警的介绍
Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。
Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如
Email、钉钉或企业微信等。
除了基本的告警通知能力外,Altermanager还支持对告警进行去重、分组、抑制、静默和路由等功能:
●分组(Grouping):将相似告警合并为单个告警通知的机制,在系统因大面积故障而触发告警潮时,分组机制能避免用户被大量的告警噪声淹没,进而导致关键信息的隐没
●抑制(Inhibition):系统中某个组件或服务故障而触发告警通知后,那些依赖于该组件或服务的其它组件或服务可能也会因此而触发告警,抑制便是避免类似的级联告警的一种特性,从而让用户能将精力集中于真正的故障所在
●静默(Silent):是指在一个特定的时间窗口内,即便接收到告警通知,Alertmanager也不会真正向用户发送告警信息的行为;通常,在系统例行维护期间,需要激活告警系统的静默特性
●路由(route):用于配置Alertmanager如何处理传入的特定类型的告警通知,其基本逻辑是根据路由匹配规则的匹配结果来确定处理当前告警通知的路径和行为
二、Alertmanager邮箱报警设置
(1)上传 alertmanager-0.24.0.linux-amd64.tar.gz 到 /opt 目录中,并解压
cd /opt/
tar xf alertmanager-0.24.0.linux-amd64.tar.gz
mv alertmanager-0.24.0.linux-amd64 /usr/local/alertmanager
(2)修改 alertmanager 配置文件,添加邮件告警路由信息
vim /usr/local/alertmanager/alertmanager.yml
#global 配置段用于定义全局配置
#templates 配置段负责自定义告警内容模板文件
#route 配置段用于指定如何处理传入的告警
#receiver 配置段则定义了告警信息的接收器,每个接收器都应该有其具体的定义
global: #在全局配置段设置发件人邮箱信息
resolve_timeout: 5m #定义持续多长时间未接收到告警通知后,就将告警状态标记为resolved
smtp_smarthost: 'smtp.qq.com: