网站监控工具选型指南:可用性/性能/错误追踪全覆盖

网站监控是保障在线业务稳定运行的基础。一个完整的监控体系包括可用性监控(网站是否能访问)、性能监控(访问速度如何)、错误追踪(代码是否有 Bug)和日志管理(发生了什么)。本文从这四个维度推荐主流工具。

一、可用性监控(Uptime Monitoring)

1.1 核心功能

可用性监控定期检查网站是否可以正常访问,并在宕机时发送告警。

功能 说明
HTTP/HTTPS 检查 检查网站是否返回 200 OK
多地点检查 从全球不同城市检测
SSL 证书检查 证书到期前提醒
响应时间记录 记录每个检查的响应时间
告警通知 Email/Slack/短信/电话

检查间隔不是越短越好:UptimeRobot 免费版的 5 分钟间隔对绝大多数站点足够,1 分钟间隔意味着每个月约 4 万次请求,免费额度通常不够,成本也要随之上升。多地点检查可以避免"某个城市网络抖动被当成站点宕机"的误报,但要留意部分工具默认检查节点较少,海外与国内结果差异明显。另一个容易被忽略的配置是维护窗口:发布或迁移期间临时暂停告警,否则每次上线都会把自己从睡梦中叫醒。

1.2 工具对比

工具 免费版 付费版 特点
UptimeRobot 50 个监控器,5 分钟间隔 $7/月起 简单易用
Better Uptime 1 个监控器,1 分钟间隔 $20/月起 状态页 + 告警电话
Pingdom 1 个监控器,1 分钟间隔 $12/月起 老牌工具,稳定
Checkly 5 个监控器 $30/月起 支持 Playwright 浏览器检查
StatusCake 5 个监控器 $6.50/月起 性价比高

二、性能监控(Performance Monitoring)

2.1 RUM vs Synthetic

类型 说明 代表工具
RUM(真实用户监控) 采集真实用户的访问数据 Google Analytics, Datadog RUM
Synthetic(合成监控) 模拟浏览器访问 Lighthouse CI, Checkly

2.2 工具对比

工具 价格 特点
Google PageSpeed Insights 免费 基于 Lighthouse,真实用户数据
WebPageTest 免费 多地点、多浏览器深度测试
GTmetrix 免费 + $15/月 可视化瀑布图
Lighthouse CI 免费 CI/CD 集成
Datadog RUM 按量付费 企业级性能监控
// Web Vitals 监控(免费)
import {onCLS, onFID, onLCP, onFCP} from 'web-vitals';

onCLS(console.log);
onFID(console.log);
onLCP(console.log);

RUM 与合成监控不是二选一。合成监控回答"从服务商视角看网站通不通",适合告警与 SLA 审计;RUM 回答"真实用户实际感受到什么",适合定位某地区、某设备、某页面加载慢。典型配合是:用合成监控做 7×24 兜底告警,用 RUM(如 PageSpeed Insights 的 CrUX 数据或自建的 web-vitals 上报)做性能趋势。需要注意:RUM 样本只在有人访问时才有,冷门页面或无人时段的数据是缺失的,这时合成监控反而更可靠。两者结合才是一个完整的性能视图。

三、错误追踪(Error Tracking)

3.1 为什么需要错误追踪

错误追踪工具自动捕获前端和后端的运行时错误,帮助开发者快速定位和修复问题。

3.2 工具对比

工具 免费版 付费版 特点
Sentry 5,000 事件/月 $26/月起 开源,功能最全
Bugsnag 2,000 事件/月 $19/月起 稳定可靠
Rollbar 5,000 事件/月 $19/月起 部署追踪好
Datadog APM 按量 $31/主机/月 全栈可观测性

3.3 Sentry 集成示例

// 前端 Sentry 集成
import * as Sentry from "@sentry/react";

Sentry.init({
  dsn: "https://[email protected]/12345",
  environment: process.env.NODE_ENV,
  tracesSampleRate: 1.0,
  integrations: [new Sentry.BrowserTracing()],
});

// 捕获错误
try {
  riskyOperation();
} catch (error) {
  Sentry.captureException(error);
}

// 设置用户信息
Sentry.setUser({ email: "[email protected]" });

四、日志管理(Log Management)

4.1 工具对比

工具 免费版 付费版 特点
Papertrail 100MB/月 $7/月起 简单日志搜索
Logtail 1GB/月 $9/月起 现代日志平台
Grafana Loki 自托管免费 Grafana Cloud 免费层 与 Prometheus 整合
Datadog Logs 按量 按量计费 企业级全栈

4.2 结构化日志

// 好的日志实践
logger.info('用户注册成功', {
  userId: user.id,
  email: user.email,
  source: req.headers['referer'],
  timestamp: new Date().toISOString(),
  requestId: req.id,
});

// 错误日志
logger.error('支付处理失败', {
  orderId: order.id,
  amount: order.amount,
  error: error.message,
  stack: error.stack,
});

五、监控体系架构

一个真实案例:告警提前拦住事故

某 SaaS 团队只用了免费的 UptimeRobot 做可用性监控。一次数据库迁移后,接口开始间歇性 5xx,因为首页能打开,三天都没人发现,直到客户投诉才定位问题。后来他们补上两件事:一是加了一层合成监控,直接对关键 API 断言返回码;二是接入 Sentry 并打开错误率告警。第二次出问题时,错误率在 10 分钟内触达阈值,值班人员在上线后 15 分钟就完成了回滚,避免了整晚的服务降级。监控的价值不在于"有工具",而在于"事件发生时,第一响应时间有多短"。

5.1 推荐组合方案

小型网站(预算 $0/月):
- 可用性:UptimeRobot 免费版
- 性能:Google PageSpeed Insights
- 错误:Sentry 免费版
- 日志:应用日志记录到文件

中型网站(预算 $50-100/月):
- 可用性:Better Uptime $20/月
- 性能:WebPageTest 免费
- 错误:Sentry $26/月
- 日志:Papertrail $7/月

大型网站(预算 $200+/月):
- 全栈监控:Datadog 或 Grafana Stack
- 覆盖 APM、日志、基础设施监控
- 自建告警和 Dashboard

5.2 告警配置

告警规则示例:
- 宕机告警 → 立即通知(电话/SMS)
- 响应时间 > 5 秒 → 5 分钟内通知(Slack)
- 错误率 > 1% → 10 分钟内通知(Slack)
- SSL 证书即将到期 → 提前 30 天通知(邮件)
- 磁盘使用率 > 85% → 立即通知(Slack)

六、总结

构建网站监控体系不需要一步到位。从最重要的可用性监控开始(推荐 UptimeRobot 或 Better Uptime),然后逐步增加性能监控(Web Vitals)和错误追踪(Sentry)。随着业务增长,再引入完整的日志管理和 APM 方案。一个好的监控体系应该让你"睡个好觉"——即使出现问题,你能在第一时间知道并快速响应。

参考:https://uptimerobot.com/https://docs.sentry.io/https://web.dev/vitals/https://www.pingdom.com/