1 感想

伴随着数字化的发展,逐渐成为生产、生活等方方面面的底座支撑。就像国家电网在保障电力供应,运维保障数字稳定。运维的过程包括架构分析、业务部署、监控、备份、安全等方面,而监控既是保障业务运行的探针,也是伴随数字生命周期的哨兵。

数字基础设施包括计算和通信,基于 TCP/IP 等协议协同工作。保障数字基础设施稳定运行的指标也是基于 TCP/IP协议等,涉及 CPU、MEM、DISK 等操作系统监控物理资源;数据库、中间件等应用监控等。

夜莺监控系统拥有扎实的架构设计,包含丰富的监控插件,为运维保障数字基础设施稳定运行提供了重要工作支持。

2 方案

当前,我在进行的是物联网公司的运维监控工作,涉及测试、生产、学习等环境。因此,分别部署测试夜莺、生产夜莺、学习夜莺共三套夜莺监控系统,相互隔离,降低复杂度。另外,针对不同监控类型,也部署多套 nagios、uptime-kuma。最终,统一接入 FlashDuty 实现统一告警平台。


图:整体监控方案

每天起床第一件事,也是查看 FlashDuty 告警。
每天上班第一件事就是打开 FlashDuty 查看是否有告警。

pasted_file_1745807553595.png
图:办公电脑浏览器页面(包含 uptime-kuma6 套,nagios2 套,夜莺监控 3 套)

每天下班第一件事也是打开 FlashDuty 查看是否有告警。
下班途中,我会经常关注 FlashDuty 手机客户端以及飞书告警通知信息。夜莺系统已经伴随整个运维保障工作。
工作过程中,我会有一台单独的笔记本电脑放在我在左手边,作为运维监控大屏以及告警信息通知。

pasted_file_1745806037152.png
图:现场办公环境照片

3 实践

3.1 部署监控代理

在一台主机中,部署 agent 并调整 config.toml 文件。将 categraf 文件夹打包,放到 123pan。开启 123pan 直链功能。实际部署中就可以直接刷命令了。
部署 agent 之后,可以在夜莺监控平台“基础设施-机器列表”里打标签,也可以通过在 categraf 的config.toml中打标签。监控对象少的情况下,使用第一种方式方便一些。机器多得时候,使用后者直接在 categraf 配置文件打标签会方便一些。

3.2 配置其他监控

日常使用到的中间件包括 Nginx、Mongodb、MySQL 等。为了方便监控配置,使用飞书整理了一张表格,竖列是中间件的名称,横列是针对中间件的部署、配置、运行以及夜莺监控配置等内容。
categraf 监控配置也十分清晰,只需要找到对应目录对应文件,参考配置方法并修改相关参数即可。


图: 包含中间件部署夜莺监控内容的飞书表格

3.3 定制监控仪表

夜莺监控系统部署过程方便,默认内置大量仪表盘开箱即用。日常工作中,面对多项目,多主机等环境,进行了若干实践调整,主要包括:

  • 针对主机监控,标签使用“项目名称-服务名称-主机名称”。
  • 针对中间件监控,标签使用“项目-中间件类型-实例名称”。


图:Host 监控仪表盘页面


图:中间件 RabbitMQ 监控仪表盘页面

3.4 统一告警接收

将部署各种监控的告警,包括 nagios、uptime-kuma、夜莺等纷纷接入 FlashDuty,实现统一告警平台。


图:FlashDuty 集成中心页面

4 实战

4.1 数据支撑判断

在物联网系统中,数十万设备通过连接服务接入平台。平台中的 JAVA 程序有内存泄露,通过剩余内存判断是否需要紧急重启。不着急的话就尽量在凌晨重启(可以下班了。可以睡觉了。)。

pasted_file_1745806382147.png
图:长连接服务器集群监控仪表盘页面

4.2 监控避免失误

去年出了档子事儿,一大早7 点起来满手机全是告警。稳了稳神儿,发现原来是云平台没有续费。说来也巧,接手这一摊子时,费用告警不在我这里,包括手机短信和邮箱统统不在。而且,客户经理正在休假。好家伙,通过支付宝快速充值后,恢复了足足 4 个小时,好在集群和服务最终恢复了。
亡羊补牢为时不晚,除了修改云平台费用相关告警通知外,使用夜莺监控通过云平台 SDK 设置费用告警。


图:剩余金额监控仪表盘

另外,举一反三,把第三方短信剩余条数也做了监控。

图:剩余短信监控仪表盘

5 祝愿

数字化已经进入到了人工智能时代,数字基础设施与电力基础设施一样越来越重要。保障数字基础设施稳定运行的重要支撑力量落在了夜莺身上。祝愿夜莺监控越来越好。祝愿夜莺的兄弟们工作顺利,身体健康。愿与夜莺的兄弟们一起努力,共筑数字基础设施稳定运行保障防线。

最后修改:2025 年 04 月 28 日
如果觉得我的文章对你有用,请随意赞赏