• 【博客475】alertmanager集群如何同步数据


    alertmanager集群如何同步数据

    在这里插入图片描述

    alertmanager告警数据处理流程

    在这里插入图片描述

    Gossip协议

    在这里插入图片描述

    alertmanager如何使用gossip协议

    alertmanager收到告警后的处理流程如下:

    在这里插入图片描述
    在这里插入图片描述

    每个阶段的解析:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    需要涉及到gossip的地方:

    在这里插入图片描述

    cluster模块使用gossip协议实现数据同步

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    细节一:如何保证alertmanager之间不会重复发送

    alertmanger在处理告警时有一个延迟等待时间,以避免多个实例争抢处理告警的,导致重复

    等待原则如下:
    在这里插入图片描述

    细节二:如何保证一定收敛和收敛的时间

    如何保证一定收敛:

    gossip传播协议是依靠互相传播来保证最终一致性的,如果集群有节点数据跟其他节点不一致,那么传播就不会停止,会一直传播,直到最终一致。

    如何保证收敛的时间:

    这个是个需要综合衡量的。如果每个节点都全量pull其他节点数据,同时push自己的全量数据给所有节点,也就是节点之间以full mesh的形式传播,那收敛最快,但是也最费带宽。如果每个节点每次只pull一个其他节点数据,同时push自己的全量数据给一个其他的节点,那这样最节省带宽,但是也收敛最慢。

    因此收敛时间其实是可配置的,需要取根据收敛时间和带宽占用这两个指标的重要程度,做出合理的调整

    细节三:每次alertmanger都向集群所有节点广播数据吗

    alertmanger每次gossip传播的时候会从集群中随机挑选k个节点来传播,而非全量传播
    在这里插入图片描述

  • 相关阅读:
    Maven 配置指南
    Flutter本地化存储介绍与使用
    RuntimeError: DataLoader worker (pid(s) 46220) exited unexpectedly
    系统架构设计师 2023年 综合知识
    【ES】笔记-ES6模块化
    微任务和宏任务
    2.线性代数基础
    MySQL---优化&日志
    字符与字符串
    u盘损坏如何恢复数据?u盘恢复数据,超好用的几个方法!
  • 原文地址:https://blog.csdn.net/qq_43684922/article/details/126678563