整理原理以及工作流程:
1、app执行agent
2、agent获取各种系统的监控项数值传给Transfer模块
3、Transfer模块将整理过的监控项数值传给Judge模块进行告警判断
4、Transfer模块将整理过的监控项数值传给Graph模块进行RRD数据文件存储
5、Judge根据具体报警策略或阈值进行告警判断,如需告警,将告警event事件存储进redis队列。
6、Alarm根据event事件中的判定结果,执行event,该发短信的发短信,该发邮件的发邮件。
7、Graph收到数据后,将数据存储成RRD文件格式,进行归档,并提供查询接口。
8、query将从Graph获取的结果负责传送给Dashboard以展示。
9、Dashboard提供web环境用以数据展示。
10、Protal提供web环境用于用户对报警策略的具体配置。并将报警策略持久化进mysql。
11、HBS,HeartbeatServer心跳服务器,维持与agent的心跳,并将Protal创建的策略进行缓存,以及将agent具体需要监控的端口以及实现的插件提供给agent,并将策略下发给Judge进行告警判断。
agent与transfer为长连接。
transfer通过一致性Hash将数据传给judge以及graph。
凡多对一,均又多的一方进行push或pull而非一的一方进行push或pull