给物联网平台补一套监控,比我想的麻烦

技术 532 字

我们的物联网平台上线以后一直有个隐患:没有像样的监控。设备在线率、消息积压量、接口耗时这些指标都在,但散在四五个地方,出了事全靠人肉一个个查。

四月开始动手补。先说结论:装 Prometheus 不难,难的是想清楚该看什么,以及报警该打给谁。

1、指标怎么收

服务本身用 micrometer 暴露 /actuator/prometheus,加几行配置就能被拉到。麻烦的是设备侧,几十万台设备的状态不可能一个个上报,最后是在网关层做聚合,只把汇总值发出来。

2、看什么

一开始我们列了六十多个指标,两天后自己都看不过来。最后砍到十二个,分三组:能不能用(在线率、消息积压量)、快不快(接口 P95、数据库慢查询)、稳不稳(GC 次数、线程池排队长度)。指标少才记得住,看见数字就知道正不正常,这叫肌肉记忆。

3、报警打给谁

这是最容易被忽略的一条。报警必须有人接,没人接的报警等于没有报警。我们最后定了规矩:只有影响用户使用的才发短信,其余进值班群,第二天早上处理。

这类工作真正的价值,往往不是发现新故障,是翻出那些一直存在、大家都以为正常的问题。我在梳理指标的时候就碰到一个:某个接口的 P95 一直是三秒多,谁都习惯了,其实是索引建错了。要不是把耗时摆到一张图上,这个数字会一直"正常"下去。

返回首页