跳到主要内容
弗美科技
技术分享

Prometheus 加 Grafana,先盯了 5 个指标

上监控没一上来堆几十个面板,先只盯 5 个数:接口 P95 响应时间、5xx 比率、MySQL 连接数、Redis 命中率、队列长度。Prometheus 抓,Grafana 画一屏,阈值写在旁边。跑了一个月才加第 6 个:磁盘剩余。告警只发到一个群,别一上来铺满手机。

2023年9月15日监控告警运维

9 月上监控,客户问要不要做一块大屏,把能采的都采上。我们没干,先只接了 5 个数。

为什么是 5 个

指标多了,等于没有。真出事的时候,人只会看那几个能立刻判断「要不要起来」的:

  • 接口 P95 响应时间。不看平均,平均会把长尾盖住。
  • 5xx 比率。按分钟算,超过 1% 才提示。
  • MySQL 连接数。之前被 max_connections 顶满过,这个数最直观。
  • Redis 命中率。掉到 80% 以下就得看是不是缓存又穿透了。
  • 消息队列长度。涨起来不降,说明消费者卡住了。

Prometheus 每 15 秒抓一次,Grafana 就一屏,5 个面板,横着排。每个面板右上角写一行小字:超过多少算异常、先找谁。不写这行,值摆在那儿也没人敢动。

1. 告警只发一个群

第一版按指标分了 3 个群,结果半夜响了三条,其实都是同一个数据库慢引起的。改成全部进一个群,一条消息里带指标名和当前值,人看一眼就知道是不是同一件事。

2. 阈值调了两轮

5xx 一开始设 0.5%,上线头两天报了 7 次,多数是单个用户刷出来的零星错误。改到 1% 加「持续 2 分钟」才报,安静了。阈值不是拍的,是看了一周真实曲线之后定的。

3. 别让监控自己把库拖慢

有个 exporter 默认每 5 秒跑一次 SHOW GLOBAL STATUS,那台 MySQL 本来就吃紧,加上之后更慢。改成 15 秒,并且单独用一个只读账号。

4. 第 6 个指标是加出来的

跑了一个月,才补了「磁盘剩余」。起因是备份文件把一块盘写满了,前面 5 个数全正常,页面却开始传不了图。补完之后顺手给备份目录设了保留 7 天的清理。

现在

一屏还是那 5 个加 1 个,没再往上堆。值班表上多了一行:先看 Grafana 那一屏,再看日志。

有回新人问,怎么不做成那种转来转去的大屏。我说等哪天出事时你第一个想看的是它,再说。

商务咨询 · 免费初步沟通

需要针对你的场景给个建议?

把业务背景和当前系统情况告诉我们,我们会给出可执行的思路。

在线留言

周一至周五 9:00–18:00 · 工作日 9:00–18:00 响应,留言会在一个工作日内回复。

商务微信
商务微信二维码

扫一扫,加商务微信咨询服务与方案报价

或填写需求表单