Prometheus监控神器-Alertmanager篇(七)

icegoblin
发布于 2022-7-5 17:35
浏览
0收藏

 

本章节主要讲解Alertmanager高可用的搭建与配置的详细的内容。


为了提升Prometheus的服务可靠性,我们会部署两个或多个的Prometheus服务,两个Prometheus具有相同的配置(Job配、告警规则、等),当其中一个Down掉了以后,可以保证Prometheus持续可用。

 

AlertManager自带警报分组机制,即使不同的Prometheus分别发送相同的警报给Alertmanager,Alertmanager也会自动把这些警报合并处理。

Prometheus监控神器-Alertmanager篇(七)-鸿蒙开发者社区

虽然Alertmanager 能够同时处理多个相同的Prometheus的产生的警报,如果部署的Alertmanager是单节点,那就存在明显的的单点故障风险,当Alertmanager节点down机以后,警报功能则不可用。

 

解决这个问题的方法就是使用传统的HA架构模式,部署Alertmanager多节点。但是由于Alertmanager之间关联存在不能满足HA的需求,因此会导致警报通知被Alertmanager重复发送多次的问题。

Prometheus监控神器-Alertmanager篇(七)-鸿蒙开发者社区

 alertmanager-ha

Alertmanager为了解决这个问题,引入了Gossip机制,为多个Alertmanager之间提供信息传递机制。确保及时的在多个Alertmanager分别接受到相同的警报信息的情况下,不会发送重复的警报信息给Receiver.

 

Gossip 机制
要知道什么是Gossip机制,必须了解清楚Alertmanager中的每一次警报通知是如何产生的,下面一图很详细的阐述了警报个流程:

Prometheus监控神器-Alertmanager篇(七)-鸿蒙开发者社区

 alertmanager-ha

Prometheus监控神器-Alertmanager篇(七)-鸿蒙开发者社区

Gossip俩个关键:

  • Alertmanager 节点之间的Silence设置相同,这样确保了设置为静默的警报都不会对外发送
  • Alertmanager 节点之间通过Gossip机制同步警报通知状态,并且在流程中标记Wait阶段,保证警报是依次被集群中的Alertmanager节点读取并处理。

 

欢迎大家关注我的公众号ID:k8stech


文章转自公众号:Kubernetes技术栈

已于2022-7-5 17:35:20修改
收藏
回复
举报
回复
    相关推荐