仪表盘里的图表看不到数据怎么排查?

关键字 PromQL

监控仪表盘中图表看不到数据的原因有很多可能,但是建议排查的第一步就是找到PromQL语句。

也许你用的是内置大盘,如何查看它的PromQL呢?首先把这个内置大盘克隆到一个业务组下,让这个大盘能够被编辑;其次选择缺失数据的图表进行编辑,此时就能够看到PromQL了。输入框中显示的PromQL通常带有变量,此时可以通过修改时间范围触发一个名为query-range-batch的请求(在 Chrome 开发者工具的 Network 中可以查看),从请求的 Payload 中可以看到请求服务端的完整 PromQL 语句。

20230524143855

看到PromQL后,就可以通过即时查询接着来排查原因,是原始数据压根就没有,还是PromQL语句错误了。

分析之后,如果确认时序库中确实没有相关数据。此时就要排查采集侧了。

  1. 是否有这个指标,Categraf 可以用 ./categraf --test | grep xxx 来测试是否存在某个指标。当然,更具体一些可以指定具体的采集插件,比如我们知道是 mysql 采集插件涉及的数据,此时可以执行 ./categraf --test --inputs mysql | grep xxx,只是检查 mysql 插件相关的数据。
  2. 是否采集成功了但是传输失败,通常在采集器的日志中可以找到线索。