监控无数,告警乱飞,历史难查,进度难寻。
随着接入监控的团队和集群越来越多,告警管理也变的异常重要。由于网络的限制,无法使用类似快猫
、睿象云
等 SAAS
告警系统,所以就自己开发一套简单的告警平台,满足日常的业务需求。
该平台主要有以下特性:
-
告警分组:借鉴
快猫
协作空间的理念,这里使用协作空间进行告警分组。 -
灵活配置通知模板:不同的团队和业务对通知模板有不同的需求,这里将通知模板可配置话,便于日常工作的自定义。
-
多种通知渠道:目前仅实现企业微信这一个渠道,后续会增加短信、邮箱甚至电话等,以满足不同的告警场景。
-
通知策略可选:目前支持单渠道 和多渠道通知策略,主要是为了满足将不同级别的告警推送到不同的接收人。
-
告警屏蔽
-
告警认领
-
排班管理
后续还希望实现的主要功能有:
-
初因判断:希望对每次告警都做基本的初因判断,帮助
SRE
快速定位问题。 -
故障自愈:对于可以自动化处理的告警希望不耗费人力介入处理。
-
告警源集成:目前仅接入 Prometheus 告警,还可以集成其他数据源,比如 zabbix、阿里云、腾讯云等。
-
分派策略:目前仅有按告警级别的分派策略,希望可以基于 Label、时间段等进行分派,满足更复杂的告警需求。
所以,目前监控平台 V1.0 版本的架构流程大致如下:
其中主要涉及:
-
管理端:便于 SRE 工作期间的告警管理,包括不限于接入配置、告警处理、历史查询等。
-
移动 H5 端:便于使用手机查看、认领、屏蔽告警信息。
另外,管理端又分前后端,其主要使用 gin-vue-admin
框架实现。
目前成果展示如下:
(1)仪表盘
(2)协作空间
(3)故障列表
(4)通知模板
(5)通知渠道
(6)通知策略
(7)排班管理
另外,每一个协作空间
里面也会单独列出该空间的告警信息,如下:
通知策略
目前仅可以按告警级别进行通知,如下:
告警通知端接收到的告警信息如下:
其中点击未解决告警
,即进入 H5 页面,也会展示相关的告警信息,如下:
以上就是目前告警平台实现的主要功能,有些功能不够完善,有些功能还缺失,各位大佬如果有好的建议欢迎留言。