麦式参考 MickerBook Reference

监控

Monitoring

也常被叫作:观测告警看日志

你可能会这么说

「我总担心网站半夜挂了,我第二天早上才知道。」

监控 Monitoring

持续盯着网站的健康指标,出问题第一时间通知你,而不是等用户来骂。

监控回答一个问题:你的网站正在发生什么。 它分两半——(数据)和(告警)。只看不叫,等于装了摄像头没人看;只叫不看,等于闹钟响了不知道响在哪。

对不做技术的人,最低限度的监控三件套就够:可用性(网站能不能打开)、错误率(接口报错的比例)、(响应时间)。这三样各设一个「超过多少就要通知我」的阈值,你的第一个监控就成立了。

监控最容易被忽略的价值是基线:你不记录平常的错误率,就没法判断「今天 3% 的错误率」是正常还是异常。所以监控要长期开着,不是上线那天看一眼。

还有一句提醒:监控告警的阈值设太紧会让人疲于奔命,最后看到通知也不当回事;设太松等于没设。好阈值是「出了事但还没到不可收拾」的那条线。

长什么样 真实可交互,不是截图

✓ 最低三件套可用性:网站能打开吗
错误率:接口报错比例
延迟:页面响应时间
超阈值 → 自动通知你
✕ 常见裸奔「网站应该没问题」
「等用户反馈再处理」
「上线那天看过一眼」
正常 错误率 0.2% · 平均响应 0.8s 告警 错误率 8% 持续 5 分钟 → 已通知

告警的价值在于「第一时间」:晚发现一小时,可能已经积累了几千次失败。

拆开看,里面有这几块

  1. 1
    指标 Metrics

    在量的东西:可用性、错误率、延迟、磁盘、流量。

  2. 2
    阈值 Threshold

    超过多少算异常。要有基线才知道设多少合理。

  3. 3
    告警 Alert

    触发后怎么通知你:邮件、短信、群消息。通知不到等于没告警。

  4. 4
    记录 History

    历史数据。不看历史,你无法判断「现在正常吗」。

容易搞混?这样区分

监控 日志 Logs

日志是出了事之后查细节用的;监控是出事当时主动告诉你的。监控负责叫醒你,日志负责告诉你原因。

看 日志
监控 灰度发布 Canary release

灰度靠监控做决策(要不要继续放量),监控靠灰度获得早期样本。两者配合:灰度制造「小范围真实流量」,监控读取它的信号。

看 灰度发布

什么时候用得上

第一次做监控

先搭可用性检查:每 5 分钟访问一次网站首页,失败 3 次就通知你。

上线新版本

盯着错误率和延迟看一小时,别上完就睡觉。

设置阈值

先跑一周收集基线,再定阈值。没有基线的阈值都是拍脑袋。

你可以这样跟 AI 说

直接复制下面这段,把【】里的换成你的情况。它比一句「帮我加个 X」多说清楚了:改哪里、不许动啥、做完交什么。

【任务】为 [我的网站/服务] 搭建一个最小监控
【要求】
  1. 监控这三样:可用性(每 [5] 分钟检查一次,连续失败 [3] 次告警)、接口错误率(超过 [X]% 持续 [5] 分钟告警)、平均响应时间(超过 [X] 秒持续 [5] 分钟告警)
  2. 告警通知发到 [我的方式:邮件/群消息],告诉我怎么接入
  3. 所有数据要有历史记录,我能回看过去 [7] 天
【边界】不要监控用户的隐私数据;不要给监控工具过大的权限;不要告警到通知疲劳(阈值按上面的来)
【交付】
  1. 怎么确认监控在正常工作(我可以触发一个假故障看它会不会叫)
  2. 告警消息长什么样
  3. 我每天在哪看这些数据
  4. 哪些指标你暂时没覆盖、为什么

「触发一个假故障看它会不会叫」是最实在的验收方式——监控和备份一样,没演练过就不算存在。

它说「做好了」,你怎么自己验

这是本站的重头戏。AI 最会的不是写代码,是说「已完成」。这一条,它通常最多做到「生产」这层:线上真实环境有效,有回滚和观测。

要亲眼看到这些,才算数

  • 演练:真的制造一个临时故障(比如停掉服务 1 分钟),确认告警真的通知到了你。
  • 看一眼监控面板:可用性、错误率、延迟三样都在,不是只有「网站活着」。
  • 确认告警方式你真的收得到(邮件/群消息测试过)。
  • 回看历史数据:能看到过去几天的曲线,不是只有当前数字。
  • 确认阈值不是拍脑袋:基线有了吗?阈值会不会天天误报?

它常这么糊弄你

  • 「监控已配置」——但从没触发过,也不知道告警会发到哪。演练一次就知道真假。
  • 「监控显示一切正常」——但只监控了首页能否打开,接口和数据完全没看。
  • 告警阈值设成 0 错误:天天误报,一周后你开始无视它。
  • 「上线后再配监控」——事故最喜欢在配置监控之前发生。
  • 把监控面板地址当成监控本身:有面板不代表有人看、有告警。

监控就是为「生产」层服务的——它只对真实环境有意义,所以验收也必须在真实环境演练。

考考你 选一个你觉得对的

怎么确认监控真的有用,而不是摆设?