几台Linux机器分开运行时,最容易想到的监控办法是每隔几分钟SSH进去检查一下磁盘和进程,再把不正常的结果发到手机。
这个方案初期很好写,实际用久了会遇到另一个问题:同一个故障,每次检查都发一次。到了后来,通知越多,我反而越容易漏掉真正值得处理的变化。
把状态记下来
我以前做的Edge Fleet Ops Automation是从一套真实用过的节点巡检工具整理出来的脱敏版本。里面的重点不是某个SSH命令,而是节点发现、健康检查、持续状态和去重告警。
如果一块盘第一次超过阈值,值得提醒;继续超标十次不需要十条完全相同的信息。恢复正常时反而应该有一条明确的恢复通知。临时网络抖动也可以通过连续失败次数判断,不要一次超时就启动修复。
自动处理应该保守
清理缓存、重启服务或回收空间看起来可以自动化,但每一步都可能删错东西或放大故障。我倾向先dry-run、限制操作范围,再决定哪些动作真的可以无人值守。
仓库中的公开代码不是我现在所有设备上的实时部署。它保留的是处理这类问题的思路,也方便我以后给J1900和N1重新搭建监控时作参考。