站点运营不是發完内容就結束。服務器、證书、域名解析、資料库、蜘蛛抓取這些环节,任何一處出問题,前台都可能表現為打不開、加载慢或頁面报错。监控與告警的價值不在于多装几個工具,而在于提前知道哪里不正常,並且知道该谁處理。
先明确要监控哪些東西
监控項越多,告警越容易失控。可以從訪客能感知的层面倒推,再补上内部指标。
- 可用性:首頁、栏目頁、詳情頁、搜尋结果頁能否正常打開,返回狀態碼是否在 2xx/3xx 范围内。
- 响應時間:首字节時間、完整加载時間、關键接口响應時間,注意区分 CDN 缓存命中和回源。
- 證书與域名:HTTPS 證书剩余有效期、域名解析是否正常、DNS 解析结果是否符合预期。
- 蜘蛛抓取:服務器日誌里搜尋引擎蜘蛛的訪問频率、狀態碼分布、抓取頁面類型是否有異常波動。
- 错誤率:5xx 和 4xx 數量,尤其是突然增多的 404 或 503。
- 關键流程:登入、提交表單、站内搜尋、支付或下载入口,這些流程断了不一定影响首頁,但影响业務。
告警要能叫醒人,也要能安静
很多站点不是没有告警,而是告警太多,最後没人看。需要設定分級和收敛規則。
- 嚴重級別:整站不可訪問、證书過期、資料库连接失敗,走电话或即时通信强提醒。
- 警告級別:單节点响應變慢、错誤率小幅上升,走邮件或群消息,允许延迟處理。
- 通知聚合:同一故障在短時間内反复触發时合並成一條,避免刷屏。
- 静默窗口:發布、维護、迁移期間提前静默,但要有明确的結束時間和恢复確認。
监控点從外到内分层布置
外部拨测
從不同地区、不同網絡环境訪問站点,能看到訪客真實遇到的情况。重点看 DNS 解析、TCP 连接、TLS 握手、HTTP 狀態碼和頁面内容關鍵詞是否正常出現。
服務器内部指标
CPU、内存、磁盘使用率、磁盘 I/O、網絡连接數、進程存活狀態都要有基础采集。磁盘寫满和内存耗尽往往先表現為服務變慢,再變成不可用。
业務與日誌层
資料库慢查询、连接池占用、缓存命中率、队列积压、日誌中的異常堆栈,這些指标能帮助定位“為什么慢”,而不只是“慢了”。
告警之後要有處理路径
- 確認影响范围:是全部訪客還是部分线路,是前台頁面還是後台接口。
- 查看最近變更:代碼發布、配置調整、證书更新、DNS 修改、服務器扩容。
- 按层級排查:先看外部拨测,再看负载均衡和 Web 服務器,最後看資料库和存储。
- 记錄處理過程:時間点、現象、操作、恢复结果,方便下次快速對照。
- 恢复後补上监控盲区:如果這次没提前發現,說明监控項或阈值需要調整。
定期减少告警噪声
每周或每月花一点時間看告警记錄,統計哪些告警频繁出現却不需要處理。對這類告警,要么調整阈值,要么补充自動化處理,要么直接關掉。保留真正需要人介入的告警,团队才會對提醒保持敏感。
监控的目标不是證明系統一直正常,而是在不正常的时候,让站点运营人員比訪客更早知道。
最後可以從最小可用清單開始:一個外部拨测、一個服務器资源采集、一個错誤日誌告警、一個證书到期提醒。先把這四項跑稳,再根據實际故障逐步增加,比一開始铺開几十個指标更實际。