您的位置:首页 > 运维架构

K8S云管平台开发实践 - 报警功能01

2017-12-20 15:44 253 查看
本篇主要阐述实现方案

关键词: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)实现邮件的发送
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  云管平台 openfalcon