华为云 ECS 健康巡检实战:把「救火」变成「体检」
华为云 ECS 健康巡检:用一套脚本把「救火」变成「体检」
一、为什么需要常态化巡检
在生产环境里,ECS 出问题往往不是「突然坏掉」,而是「指标缓慢劣化到临界点」。磁盘使用率从 60% 爬到 92%、内存偶发 OOM 前兆、安全组规则被误放宽——这些在故障发生前都有迹可循。等到业务告警才介入,本质是在「救火」;而定期巡检把问题拦在告警之前,是「体检」。
本文分享一套轻量 ECS 健康巡检脚本的落地思路,核心是三件事:采集维度怎么定、阈值怎么给、结果怎么读。
二、采集维度:先覆盖「五高一低」
巡检项不必求全,先覆盖常见故障面即可。建议至少包含以下维度:
1. 计算与内存:CPU 使用率、load average(重点看 5/15 分钟趋势,不只看瞬时值)、内存与 swap 使用率、是否有 OOM 记录;
2. 存储:系统盘/数据盘使用率、inode 使用率(inode 打满比空间打满更隐蔽)、磁盘 IO 等待;
3. 网络:网卡收发包错误计数、TCP 重传率、连接数是否接近内核上限;
4. 安全:安全组入方向是否有 0.0.0.0/0 的高危端口、密钥登录是否已启用、是否存在弱口令风险;
5. 服务:关键进程存活、监听端口与预期一致、systemd 单元是否为 failed 状态;
6. 低水位预警:证书剩余有效期、账户余额、快照/备份的最近成功时间。
三、阈值怎么给:分级而非一刀切
阈值建议分三档,避免「一超就告警」造成告警疲劳:
- 关注(WARN):磁盘 >75%、内存 >80%、load 超过核数 1.5 倍;
- 警告(ALERT):磁盘 >85%、内存 >90%、存在 OOM 或 failed 单元;
- 严重(CRIT):磁盘 >95%、关键进程丢失、安全组暴露高危端口、根证书 7 天内到期。
经验值:把 CRIT 项控制在个位数,确保每一条告警都值得人工介入。
四、结果怎么读:一页纸说清
巡检输出最忌「一堆数字不加结论」。建议直接输出三段式:
- 结论区:一句话说明整体健康度(正常 / 需关注 / 需处置);
- 明细区:仅列出达到 WARN 及以上的项,正常项折叠或只计数;
- 建议区:每条异常给出可执行动作,例如「数据盘使用率 88%,建议清理 /var/log 下 30 天前日志并扩容至 200G」。
五、自动化落地建议
把巡检脚本挂到 crontab 每日执行,结果写入对象存储或日志服务,异常项通过企业微信/邮件推送。关键是「留证据」:每次执行无论成败都记录一行,这样下一次排查时能直接对比趋势,而不是靠回忆。
六、小结
ECS 巡检的价值不在于脚本本身多复杂,而在于把隐性风险显性化、把偶发问题流程化。一套 200 行左右的脚本,配合分级阈值和三段式报告,就能覆盖日常运维 80% 的隐患发现需求。先从「五高一低」起步,跑顺了再按业务特点逐项扩展。
- 点赞
- 收藏
- 关注作者
评论(0)