夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
第3章:Prometheus告警处理
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
第9章:Prometheus Operator
参考资料

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

关键字 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. 是否采集成功了但是传输失败,通常在采集器的日志中可以找到线索。
开源版
Flashcat
Flashduty