流量监控我们需要注意几点:
- 不同的系统,使用的监控指标是不同的,比如redis,可以用QPS指标,对于交易系统,可以用TPS
- 通过测试和业务量的预估来配置合适的监控阈值
- 监控阈值需要考虑突发情况,比如秒杀、抢券等场景
1.3 异常监控
异常监控对于系统来说非常重要。在生产环境中很难保证程序不发生异常,配置合理的异常报警对快速定位和解决问题至关重要。比如开篇提到的跑批告警,告警信息中带着异常,让我很快就定位到了问题。
异常监控需要注意下面几个方面:
- 客户端read timeout,这时要尽快从服务端找出原因
- 对客户端收到响应的时间设置一个阈值,比如1秒,超出后触发告警
- 对业务异常一定要监控,比如失败响应码
1.4 资源使用率
生产环境配置系统资源时,一般要对系统资源的使用率有一个预测。比如redis在当前的内存增长速率下,多久会耗尽内存,数据库在当前的增长速率下多久会用光磁盘。
系统资源需要设置一个阈值,比如70%,超过这个限制就要触发告警。因为资源使用快要饱和时,处理效率也会严重下降。
配置资源使用率的阈值时,一定要考虑突增流量和突发业务的情况,提前预留额外的资源来应对。
对核心服务要做好限流措施,防止突增流量把系统压垮。
1.5 请求延迟
请求延迟并不是一个很容易统计的指标,下图是一个电商购物系统: