概述
线上系统挂了,服务异常了,响应超时了;系统运行结果不符合预期。。。
用户被影响,甲方爸爸不开心,后果很严重。
从某种意义上讲,“在用户遇到问题之前把问题解决,问题也就不算问题了”。
文章概要:线上环境痛点》解决方案》想象空间。
1、痛点
以下痛点是本公司实践中遇到的痛点,痛点或许不具备通用性,但思路却可以借鉴。
1.1、在服务发布时,我们经常会遇到如下的问题
- 服务刚发布,是否部署成功;
- 服务刚发布,版本是否正确(实例运行版本是否是我想要部署的版本);
- 服务刚发布,文件是否缺失;
如果服务实例较少,挨个上服务器检测,也是可行的,但目前稍微有点用户的系统,都是多实例部署,一个机房动辄几十上百个实例,挨个上服务器费时费力。
事实上,如果CI & CD 给力,以上问题都将不再是问题。
1.2、在服务发布后,也会有如下问题
- 服务是否可用;
- 单个服务可用,但系统链路是否畅通呢;
- 同一个机房不同实例代码是否一致(人工疏忽、运维系统 等问题导致不一致);
此外,我们公司还涉及本地化部署(将公司系统打包部署到其他公司),本地化部署一段时间需要部署新版本,但我们却不知道上次部署的系统是什么时候的版本。直接部署最新版本?系统太大,关联系统太多,所有系统部署最新版本,部署及验证耗时费力,成本太高,肯定不行。
1.3、管理诉求
- 发布故障:在发布完成后有故障则立即告警;
- 系统运行故障:运行有故障则立即告警,力争比用户早发现异常;
- 监控自动化:总不能挨个实例看控制台吧;
- 接收告警方便高效:相关责任方能方便接收到消息(不考虑邮件);
- 监控系统本身稳定:没有收到告警就一定是没有故障吗,是否是监控系统本身故障了呢;
2、解决方案
目前市面上有很多的监控系统,稳定高效、历经众多大厂生产系统检验,如Zabbix、Prometheus(普罗米修斯)等。
但最终我并没有选择这些监控系统,而是自己搭建一套。为什么自己构建,自己搭建的比他们更优秀吗,当然不是。
更优秀的不一定是最好的,更合适的才是最好的。
自行搭建监控系统原因如下:①这些系统太重,而我仅仅是监控一个业务模块的几个服务而已;②这些系统属于公司级别的监控,需要公司级别去推行,而我需要的是几天就能上线监控系统;③这些系统面向大众,监控方案也是通用的,而我需要自己定制化一些监控指标。
通用的东西不易做精细,越定制化,做好的概率越大。

本文介绍了如何基于XXL-JOB和钉钉机器人构建系统监控告警,解决了服务发布和运行过程中的痛点,包括服务状态监控、告警通知、监控自动化以及告警渠道多元化等。通过自定义监控接口和钉钉群机器人,实现了快速响应和服务稳定性保障。
最低0.47元/天 解锁文章
859

被折叠的 条评论
为什么被折叠?



