凌晨三点,数据设置我被手机震醒。数据设置服务器CPU使用率飙到97%,数据设置持续了整整十一分钟。数据设置我爬起来打开笔记本,数据设置发现告警邮件是数据设置两小时前发的——那时候我正睡得死沉。这件事让我彻底改了设置预警的数据设置习惯。
以前我总把阈值设得很高,数据设置怕误报打扰人。数据设置CPU设95%,数据设置内存设90%,数据设置磁盘设85%。数据设置结果呢?数据设置系统确实安静了,但也彻底聋了。数据设置那次事故之后,数据设置我把阈值往下调了十个百分点,加了连续持续时间判断——不是瞬时值触发,而是持续五分钟才告警。误报率反而降了,因为瞬时尖峰被过滤掉了,真正的问题都是持续性的。
预警这事的核心矛盾在于:太灵敏让你麻木,太迟钝让你错过。我见过一个运维同事,把磁盘预警设在99%。他跟我说,反正磁盘满了再清理就行。结果那天日志文件疯长,半小时内写满整个分区,数据库直接崩了。恢复花了四个小时,老板脸都绿了。他后来把预警改成85%触发,90%再次触发,95%直接电话通知——三级递进,每一级都有对应动作。
设置预警还有个容易忽略的点:通知渠道要分轻重。邮件适合低级别预警,微信适合中等级别,电话只留给最高级别。我见过有人把所有预警都发到同一个群,结果重要信息淹没在“CPU瞬时超过50%”这种垃圾告警里。真正出大事的时候,没人看群。我把规则改成:磁盘连续十分钟超过80%才发邮件,超过90%直接打电话。说实话,电话响的次数一只手数得过来,但每次响都是真出事了。
另一个坑是时间维度。白天和晚上的告警策略应该不一样。白天有人在岗,可以稍微灵敏些,反正有人处理。晚上没人值守,阈值得调紧——宁可半夜被吵醒,也别早上起来发现系统已经挂了。我有个朋友把夜间磁盘预警设在70%,他跟我说:“吵醒我一次,比让我第二天修一天强。”这话糙理不糙。
最后说一句,预警设置完不是就完事了。每个季度得回头看一次告警记录,看看哪些告警是从来没触发过的,哪些是天天在响但没人理的。前者说明阈值设得太高,后者说明大家都已经麻木了——这两种情况都得调整。我上个月就删了三条一年没响过的规则,又把一条天天响的规则阈值调高了。系统安静了,但耳朵竖着,这才是正常状态。
数据预警不是设个数字那么简单,它是个动态平衡的过程。你得让系统在真正出事的时候能喊醒你,又不能让它在没事的时候瞎嚷嚷。这跟养孩子差不多——太严了孩子不敢说话,太松了出大事才找你。找到那个刚刚好的度,靠的是对自己业务的理解,和对告警记录的持续复盘。