线上业务稳定运行必须盯紧的七个监控项是:服务器性能、应用程序性能、数据库性能、网络与API、业务关键指标、安全与日志、用户体验。忽略任何一项都可能导致服务中断、收入损失或用户流失。下面直接告诉你每个监控项具体要监控什么、用什么工具、以及如何设置警报阈值。
一、服务器性能监控:这是稳定性的基石
服务器是业务的物理承载,必须实时监控CPU使用率、内存占用、磁盘I/O和网络流量。CPU长期超过80%就需要扩容或优化代码;内存使用率超过90%可能引发OOM(内存溢出)错误;磁盘空间低于10%会导致写入失败。推荐使用开源的Prometheus配合Grafana进行可视化,它可以通过Node Exporter采集系统指标。警报规则可以这样设置:当CPU使用率持续5分钟高于85%时触发警告。同时,不要忘记监控服务器负载(Load Average),1分钟负载值持续超过CPU核心数的3倍,说明系统已过载。
二、应用程序性能监控(APM):深入代码层面
即使服务器正常,应用本身也可能出问题。必须监控关键接口的响应时间、错误率、吞吐量(QPS/TPS)以及JVM堆内存(对于Java应用)或Goroutine数量(对于Go应用)。例如,一个电商下单接口,响应时间超过2秒就需预警,错误率一旦超过0.5%必须立即排查。可以使用SkyWalking、Pinpoint等开源APM工具进行代码级追踪。它们能帮你定位到是哪个数据库查询慢,或是哪个第三方API调用超时。对于核心事务,要设置SLA(服务等级协议),比如确保99.95%的请求响应时间在1秒内。
三、数据库性能监控:瓶颈往往在这里
数据库慢是线上业务最常见的性能问题。监控重点包括:查询耗时(慢查询日志)、连接数、缓存命中率(如MySQL的InnoDB Buffer Pool Hit Rate)、锁等待时间以及复制延迟(对于主从架构)。如果缓存命中率低于90%,可能需要优化查询或增加缓存;连接数接近最大限制,会导致新的用户无法登录。可以使用Percona Monitoring and Management (PMM) 或阿里云的DAS等工具。一个关键的实践是:为所有SQL语句设置超过1秒即为慢查询,并每天进行审计。
-- 示例:在MySQL中启用慢查询日志 SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 1; -- 单位:秒 SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
四、网络与API监控:确保内外连通性
你的服务依赖于内部微服务间的调用和外部第三方API(如支付网关、短信服务)。监控要点是API的可用性、延迟和状态码。对于内部API,使用健康检查端点(如 "/health");对于外部API,使用从多个地理节点发起的定时探测。任何关键API的可用性低于99.9%或返回5xx错误码比例超过1%,都需要告警。黑盒监控工具如Blackbox Exporter或商业化的UptimeRobot很适用。特别注意网络层面的丢包率和延迟,这在跨机房部署时尤为重要。
五、业务关键指标监控:直接关联收入与用户
这是最容易被技术团队忽略,但对企业至关重要的部分。你需要将技术数据与业务数据关联。核心指标包括:每分钟订单数、支付成功率、新用户注册转化率、活跃用户数(DAU/MAU)以及核心业务流程的漏斗转化率。例如,支付成功率突然从99%跌至95%,意味着每分钟都在损失真金白银,必须与支付网关监控联动报警。通常需要将业务日志打入数据平台(如Elasticsearch),或通过埋点数据实时计算。建立业务仪表盘,让技术和运营团队都能实时看到。
六、安全与日志监控:防御入侵与快速排障
安全监控包括异常登录尝试、DDoS攻击流量、敏感数据访问模式等。日志监控则是故障排查的生命线。必须集中收集所有应用、系统和安全日志(使用ELK堆栈或Loki),并设置关键错误日志的实时警报。例如,应用日志中突然出现大量“SQL注入尝试”或“权限拒绝”记录,可能是攻击的前兆。同时,监控日志增长率,异常暴增可能代表程序出现了无限循环打印错误。确保日志包含唯一的请求ID,以便跨服务追踪一个用户请求的全链路。
七、用户体验监控:从最终用户视角发现问题
前面六项都是从系统内部视角,而用户实际感受到的性能可能完全不同。这就需要Real User Monitoring (RUM)。监控用户在真实世界使用你网站或App时的页面加载时间(首屏加载、可交互时间)、核心操作点击响应速度以及JavaScript错误率。特别是要关注不同地区、不同网络运营商、不同设备型号下的性能差异。可以使用开源的性能Timing API进行数据收集。如果某个地区的用户平均页面加载时间比其他地区慢3倍,问题可能出在你的CDN节点或当地网络。将用户体验数据与APM数据结合,能精准定位是后端API慢还是前端资源加载慢。
将这七个监控项构建成一个立体化的监控体系,并确保它们之间能联动告警。例如,当支付成功率(业务指标)下降时,能自动关联查看支付API的延迟(网络监控)和数据库订单表的写入延迟(数据库监控)。真正的稳定运行,不是等故障发生再去救火,而是通过这七双“眼睛”的持续盯防,将问题扼杀在萌芽状态。记住,监控的目标不是收集海量图表,而是驱动有效的行动和决策。
