警报管理器-配置文件
alertmanager启动时常用启动参数的配置。
-config . file:Alert Manager要加载的配置文件是yaml格式的配置文件。
- Web.lister-address:监听Web接口和API的地址端口。
- web.external-url:用于返回alertmanager的相对和绝对链接地址。您可以直接单击链接地址,在后续报警中访问Alertmanager Web UI。
- data.retention:历史数据的最大保留时间,默认为120h。
- storage.path:数据存储路径。
配置文件格式
alertmanager的配置主要分为五个部分,分别是全局配置、报警路由、inhibit_rules、接收者和模板。
1)全局配置:用于定义一些全局公共参数,比如全局SMTP配置,Slack配置。
2)报警路由:根据标签匹配,确定如何处理当前报警。
3)约束_规则:合理设置约束规则可以减少垃圾邮件报警的产生。
4)接收者:接收者是一个抽象的概念,可以是邮箱,可以是微信,也可以是Webhook。接收器通常配置报警路由的使用。
5)模板:用于定义报警通知的模板,如HTML模板、邮件模板等。
全球:
?#您可以配置alertmanager通知的目的地,例如,您可以配置邮件发送信息。
#每个告警消息的根路由,用于设置告警分发策略。
路线:
?#根路由不能有任何匹配器,因为它是所有报警的入口点。它需要配置一个接收器(即,一个接收器)来发出与任何子路由都不匹配的警报。
?接收者:接收者:' xxx' # alarm,支持email和webhook。
#对警报进行分组,以避免大规模警报。发送报警时,与group_by在此指定的标记键对应的标记值相同的报警将被分组到同一个组中,并聚合成一个报警。
?group_by: ['xxx']
#创建新的报警组时,您需要等待
?group _ wait:& lt;持续时间& gt
#现有报警组发送报警的最后时间是t,如果在最近一段时间内(即,
?group _ interval:& lt;持续时间& gt
#现有报警组发送报警的最后时间是t,如果是在t ~ t+时
?重复间隔:& lt持续时间& gt
#以上属性是根路由的属性,被所有子路由继承,可以被每个子路由覆盖。
?路线:
?#此路由在警报标签上执行正则表达式匹配,以捕获与服务列表相关的警报。
?-匹配_回复:
& ltlabel _ key & gt:& ltregex & gt
#当此子路由捕获报警时要通知的对象。
?接收者:xxx
#抑制规则。如果发出的报警是由发出的报警引起的,则匹配的报警不会发出。
禁止_规则:
?#已经发出的警报的标签
-源匹配:
?& ltlabel _ key & gt:& lt标签值& gt
?#如果未发送的报警符合此处的标签,且符合source_match中标签的报警已发送,则匹配target_match的报警不会发送出去。
?目标匹配:
?& ltlabel _ key 1 & gt;:& ltlabel _ value 1 & gt;
#报警接收器
接收器:
-名称:报警接收器的名称。
?& lt发送警报的具体目的地支持电子邮件、webhook等。>;
#模板块保存报警模板的目录列表。
模板:
?[-& lt;文件路径& gt]