【博客475】alertmanager集群如何同步数据
alertmanger在处理告警时有一个延迟等待时间,以避免多个实例争抢处理告警的,导致重复。
·
alertmanager集群如何同步数据
alertmanager告警数据处理流程
Gossip协议
alertmanager如何使用gossip协议
alertmanager收到告警后的处理流程如下:
每个阶段的解析:
需要涉及到gossip的地方:
cluster模块使用gossip协议实现数据同步
细节一:如何保证alertmanager之间不会重复发送
alertmanger在处理告警时有一个延迟等待时间,以避免多个实例争抢处理告警的,导致重复
等待原则如下:
细节二:如何保证一定收敛和收敛的时间
如何保证一定收敛:
gossip传播协议是依靠互相传播来保证最终一致性的,如果集群有节点数据跟其他节点不一致,那么传播就不会停止,会一直传播,直到最终一致。
如何保证收敛的时间:
这个是个需要综合衡量的。如果每个节点都全量pull其他节点数据,同时push自己的全量数据给所有节点,也就是节点之间以full mesh的形式传播,那收敛最快,但是也最费带宽。如果每个节点每次只pull一个其他节点数据,同时push自己的全量数据给一个其他的节点,那这样最节省带宽,但是也收敛最慢。
因此收敛时间其实是可配置的,需要取根据收敛时间和带宽占用这两个指标的重要程度,做出合理的调整
细节三:每次alertmanger都向集群所有节点广播数据吗
alertmanger每次gossip传播的时候会从集群中随机挑选k个节点来传播,而非全量传播

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)