AlertManager
Alertmanager接收到的告警的数据结构:
1 2 3 4 5 6 7 8 9 | type Alert struct { Status string `json: "status" ` Labels KV `json: "labels" ` Annotations KV `json: "annotations" ` StartsAt time.Time `json: "startsAt" ` EndsAt time.Time `json: "endsAt" ` GeneratorURL string `json: "generatorURL" ` Fingerprint string `json: "fingerprint" ` } |
具有相同Lable的Alert才会被认为是同一种。在prometheus rules文件配置的一条规则可能会产生多种报警
Alertmanager启动时,使用--config.file参数指定一份配置文件。
- 全局配置
- templates
- route
route被组织成routing tree。
告警首先走到根节点,其必须match所有告警
此后match到某个节点之后依次走到所有子节点。
receiver:根据receiver的name把告警送到receiver
group_by:此处填写标签的key,根据key将Alert分组,同一组的组合到一起发给receiver
continue:告警与子route匹配之后是否应该往下走
match和matchers:key-value的匹配规则
group_wait:一个新group的告警被构建出来后,等待若干时间再发送。期间有新的告警的话都组合到一起。
group_interval:已有group的告警,等待若干时间再发送。
repeat_interval:等待若干时间后重新发送
mute_time_intervals:覆盖全局的mute_time_intervals配置
routes:指定若干个子route
- receivers
配置文件中,指定receiver,将相应的报警信息发送到webhook、邮件、钉钉等
xxx可以是email、pagerduty、pushover、slack、opsgenie、webhook、victorops、wechat
- inhibit_rules
告警抑制规则
示例:
- mute_time_intervals
告警静默规则:
处理流程:
(1)接收到Alert,根据labels判断属于哪些Route(可存在多个Route,一个Route有多个Group,一个Group有多个Alert)
(2)将Alert分配到Group中,没有则新建Group
组合后的告警数据结构为:
1 2 3 4 5 6 7 8 9 | type Data struct { Receiver string `json: "receiver" ` Status string `json: "status" ` Alerts Alerts `json: "alerts" ` GroupLabels KV `json: "groupLabels" ` CommonLabels KV `json: "commonLabels" ` CommonAnnotations KV `json: "commonAnnotations" ` ExternalURL string `json: "externalURL" ` } |
(3)新的Group等待group_wait指定的时间(等待时可能收到同一Group的Alert),根据resolve_timeout判断Alert是否解决,然后发送通知
(4)已有的Group等待group_interval指定的时间,判断Alert是否解决,当上次发送通知到现在的间隔大于repeat_interval或者Group有更新时会发送通知
__EOF__

本文作者:扬羽流风
本文链接:https://www.cnblogs.com/yangyuliufeng/p/15979371.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/yangyuliufeng/p/15979371.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具