“我们有监控”通常指的是有个服务在定时请求首页,打不开就报警。
这个有用,但它只能发现最粗暴的一类故障。网站真正常见的问题,是它照常打开、看起来一切正常,但某个环节已经不工作了。
这类故障的共同点是不报错,只能靠主动去查。下面是值得盯的五件事,按重要性排。
一、SSL 证书到期
这是唯一一个”到点就全站不可用”的定时炸弹。
免费证书通常 90 天有效,靠自动续期维持。但自动续期本身会坏:续期程序停了、配置改动之后脚本失效、验证方式变了、定时任务被误删。
坏了的时候没有任何通知。到期那一刻,所有访客看到的是一个红色的安全警告页,而不是你的网站。多数人看到这个页面会直接关掉。
怎么监控:有免费服务可以在证书还剩 30 天时给你发邮件。设置一次,五分钟。这是投入产出比最高的一项监控,没有之一。
二、表单和联系入口
这一条最容易被忽略,损失却最直接。
表单坏掉的表现是:访客提交后看到”提交成功”,而邮件从来没发出去,或者进了垃圾箱。你收不到询盘,但你以为是最近没人问。
坏掉的原因很多:邮件服务商改了规则、发信域名的验证记录过期、服务器 IP 被列入黑名单、表单插件升级后配置丢了。这些都不会让网站打不开。
怎么监控:最简单可靠的办法是每个月自己提交一次测试,确认收到。设个日历提醒。
更好的做法是让表单在发给你的同时也发一份到另一个邮箱(比如你的私人邮箱)。两个地方都没收到,说明是表单坏了;只有一个没收到,说明是那个邮箱的问题。
三、搜索引擎的收录状况
网站被搜索引擎”看不见”是一种静默故障——网站好好的,但新页面不被收录,或者已有页面掉出索引。
常见原因:某次改动带上了 noindex 标记、robots 文件被改、站点地图坏了、某个页面开始返回错误但没人访问所以没人发现。
怎么监控:Google Search Console,免费。它会在检测到抓取问题、收录下降、安全问题时发邮件。装了不看也有用——它会主动通知你。
值得定期看一眼的是”页面”报告里的”未编入索引”数量。这个数字突然上涨,通常说明有东西坏了。
四、速度的变化趋势
不是”现在快不快”,是”有没有变慢”。
网站变慢通常是渐进的:图片越传越多、插件越装越多、数据库越来越大。每一次都只慢一点点,一年之后慢了一倍,而你天天用早就适应了。
怎么监控:Search Console 里有”网站体验”报告,会长期记录真实用户的加载速度。这个数据比任何测速工具都真实,因为它来自实际访客。
更简单的办法:每个季度自己测一次首页的首字节时间,记下来。一条 curl 命令的事,但要坚持记录,否则没有对比就看不出趋势。
五、内容是不是还在
这一条听起来奇怪,但确实会发生。
页面还在、能打开,但某个部分空了——图片没显示、案例列表是空的、嵌入的地图挂了、某个动态区块加载失败。
原因可能是:图片被误删、外部服务停了、某个 API 的密钥过期、代码改动导致某个模块静默失败。
怎么监控:最实际的办法是发布之后自动检查关键页面里有没有该有的内容,而不只是检查返回码是不是 200。
我们自己的部署流程里就有这一步:装完之后请求一批关键页面,逐个确认返回 200;静态页面生成之后,再检查关键页面的文件是不是都在。缺页面不报错,只会安静地变慢——这类问题能潜伏几个月。
如果你没有自动化,那就人工:每个季度把主要页面点一遍,特别是那些平时你自己不会去看的(比如某个服务详情页)。
不太值得投入的
秒级的可用性监控。对企业官网来说,一分钟检测一次和十秒检测一次没有实质区别——反正你也不会在凌晨三点起来处理。五分钟一次足够。
复杂的监控面板。装了不看的面板等于没装。能主动给你发邮件的监控,价值远高于需要你去看的。
过多的告警。如果监控每周误报三次,两个月后你就会开始忽略它,然后真出事的那次也被忽略了。告警的价值取决于你还会不会认真对待它。
一个最小可行的配置
如果你什么都没有,按这个顺序做,全部免费,总共不到半小时:
一、注册 Google Search Console 并验证。它管收录、安全和速度趋势,而且会主动通知。
二、设一个证书到期告警。唯一能防住”某天早上全站变成警告页”的手段。
三、设一个基础的可用性监控。五分钟一次,打不开就发邮件。免费服务很多。
四、在日历上设一个每月的提醒:提交一次表单测试。三十秒的事,防的是最贵的那种故障。
这四样做完,覆盖了绝大多数会真正造成损失的情况。剩下的可以等真的需要了再说。
如果有人在维护你的网站
这三个问题值得问一次:
证书是自动续期的吗?有没有到期告警?
出问题的时候,是你们先发现还是我先发现?这个问题的答案能说明监控到底存不存在。
上一次是什么时候发现并处理了一个我不知道的问题?答得上来的,说明真的在看。
我们托管的项目里,证书到期、可用性、部署后的内容校验都是自动的。这些不是加价项——因为它们防的是”客户损失了却不知道”这一类,而那类损失最后仍然会算到我们头上。