我有一个 PromQL 查询,它查看每个分位数的最大延迟并在 Grafana 中显示数据,但它显示来自重新部署且不再存在的 pod 的数据。豆荚比 15 天的陈旧期更年轻。
这是查询:max(latency{quantile="..."})
发现的最大延迟是从它被限制的时候开始的,在它重新部署并恢复正常后不久,现在我只想查看当前活动的最大延迟。
到目前为止,我发现的所有关于过时的信息都表明它应该在幕后进行过滤,但看起来它并没有在当前设置中发生,我无法弄清楚我应该改变什么。
在查询中手动添加特定实例 ID 时 - 它运行良好,但 ID 会在重新部署后更改:max(latency{quantile="...", exported_instance="ID"})
这是我发现的一长串类似问题,有些没有回答,有些没有要求相同。我确实发现有些相关但不能以可持续方式解决问题的想法是:
以下链接中没有帮助的建议
- 更改陈旧期,不会起作用,因为它会影响整个系统
- 重启普罗米修斯,不会工作,因为每次重新部署一个pod时都不能这样做
- 列出每台机器的每个图表,不适用于
max
查询
类似问题的链接
- 如何处理 Prometheus 中收集的旧指标? 切换 prom->elk:基于日志的监控
- 仅从最后一次抓取迭代中从 prometheus 获取数据 过时是一个相关概念,在 Singlestat 中它显示了如何仅使用当前值
- Grafana 仪表板显示从 prometheus 删除的信息 默认保留期为 15 天,使用复选框隐藏机器
- 如何从 Prometheus 中删除旧作业? 手动查询/重启
- grafana 变量仍然捕获旧的指标信息 更新普罗米修斯目标
- 使用 prometheus 设置清除 Grafana Delete 中的旧数据
- https://community.grafana.com/t/prometheus-push-gateway/18835 未回答
- https://www.robustperception.io/staleness-and-promql 在没有示例的情况下解释新的陈旧性如何工作
最终目标
正在显示当前所有源之间的最大延迟,从不再存在的源中删除数据。