第一次配云监控告警,我把阈值设错,半夜被叫起来三次
上个月给一台跑定时任务的服务器配告警,我以为是个五分钟的活,结果折腾了两天。
那台机器 CPU 平时就在 30% 到 40% 之间晃,跑批的时候会冲到 70%。我当时想都没想,把 CPU 告警阈值设成了 60%,通知方式全勾上,短信电话都开着。
当天晚上十一点半,电话响了。
爬起来开电脑一看,CPU 65%,持续时间 40 秒,已经自己回落了。我点开进程列表,就是正常的批处理任务,跑完就降。挂了电话躺回去,一点多又来一次,三点多再来一次。
第二天顶着黑眼圈复盘,问题出在两个地方。
第一个是阈值。60% 对这台机器来说就是日常水平,等于我把告警线画在了正常波动区里。改成 85% 之后,一天下来一次都不响。
第二个更关键:我没设持续时间。监控系统默认是「瞬时值超阈值就告警」,只要有一秒冲上去就算数。这个参数一般叫「连续 N 个周期」或者「持续时间」,不同厂商叫法不太一样,但基本都有。我设成连续 3 个周期,也就是大概 3 分钟,误报基本就没了。
还有一点是我后来才注意到的:告警通知分等级。CPU 这种自愈性强的指标,走邮件或者站内信就够了,没必要上电话。真正需要半夜打电话的,是磁盘写满、服务进程挂掉这类不会自己恢复的。我把通知方式按指标类型重新分了一遍,电话只留给进程存活和磁盘空间。
现在这套规则跑了三周,一次误报都没有。上周磁盘用到 88%,倒是准准地把我叫醒了,那次是真的该处理。
回头看,配告警其实不是把阈值调高调低的事,而是要想清楚:这个指标正常长什么样,出问题的时候会是什么样,以及这件事值不值得半夜把人叫起来。想明白这三个,参数自然就填对了。
- 点赞
- 收藏
- 关注作者
评论(0)