知识卡片
"正常运行"检查应验证行为而非仅确认存活
内容
要修正[[复选框式监控的识别信号]],第一步是和服务/应用的所有者谈清楚”正常运行”在这个具体语境下到底意味着什么,再据此设计高级别检查。以 Web 应用为例,不能只检查进程是否存活,而应发送 HTTP GET 请求并同时记录响应码、请求延迟、页面预期文本三项:响应码仍是 200 但延迟升高,或响应码 200 但预期文本缺失,都提示系统可能异常,尽管从最粗浅的”活着还是死了”角度看一切正常。这类高级检查未必能直接定位故障点,但能可靠地预示”某处可能出了问题”,随着对系统理解加深再逐步补充更具体的检查。发散:这体现了监控设计的一个通用原则——先定义清楚”正确”是什么样子,再决定测什么,顺序反了就会退化成复选框式监控。
参考来源
《监控运维实践 原则与策略-2021》第1章《监控反模式》