K8S云管平台开发实践 - 报警功能01
本篇主要阐述实现方案关键词:open-falcon、javaxmail、apache-james要实现完整的报警功能,我们需要5步:1. 创建规则2. 收集数据3. 将规则数据和收集到的数据进行比较4. 产生报警数据5. 推送报警数据而在运管平台中,我们整合了小米开源监控系统open-falcon,对应上面分析的步骤,我们给出的方案是:1. k8s云管平台提供报
·
本篇主要阐述实现方案
关键词:open-falcon、javaxmail、apache-james
要实现完整的报警功能,我们需要5步:
1. 创建规则
2. 收集数据
3. 将规则数据和收集到的数据进行比较
4. 产生报警数据
5. 推送报警数据
而在运管平台中,我们整合了小米开源监控系统open-falcon,对应上面分析的步骤,我们给出的方案是:
1. k8s云管平台提供报警管理模块,可以管理报警规则
2. 对open-falcon的agent模块进行了二次开发,整合了Cadvisor,使之不仅能获取主机数据,也能获取容器数据
3. 使用open-falcon的judge模块进行报警事件的判断
4. 对open-falcon的alarm模块进行了二次开发,使之能读取k8s云管平台数据库中规则相关的数据,结合judge产生的数据,生产完整的报警所需数据
5. 对open-falcon的sender模块进行了二次开发,调用云管平台发送报警接口(目前只做了邮件报警),实现发送邮件的功能
简单画了个流程示意图如下:
从数据流转的角度我们可以看到:
1. 规则数据由平台负责,主要存储在mysql
2. 报警数据由open-falcon负责,主要存储在redis(持久化在rrd磁盘文件)
3. 最后将redis中完整的报警数据作为参数传给报警邮件发送接口,完成整个流程
下一篇,我我会具体写下open-falcon二次开发实现细节、java发送邮件关键代码实现,以及最后如何部署一个邮箱服务器(Apache-James)实现邮件的发送
更多推荐
已为社区贡献6条内容
所有评论(0)