为啥 Prometheus 不会在不可见的指标上引发错误?
Posted
技术标签:
【中文标题】为啥 Prometheus 不会在不可见的指标上引发错误?【英文标题】:Why Prometheus does not raise error on invisible metric?为什么 Prometheus 不会在不可见的指标上引发错误? 【发布时间】:2021-12-14 21:36:45 【问题描述】:我们有一个自定义指标,仅在应用中出现某些错误情况时才会导出
警报规则使用在 Prometheus 的规则管理器中注册的自定义指标
为什么 Prometheus 在查询此指标名称时不会引发错误?尽管该指标在 Prometheus 中尚不可用...
【问题讨论】:
【参考方案1】:没有信号不被视为错误似乎是正确的。
但是,它可能会导致仪表板和警报出现问题。
请参阅 Prometheus 的一位创作者的演示文稿:Best Practices & Beastly Pitfalls
【讨论】:
具有不可见指标的警报规则已成功与 Prometheus 挂钩。 “挂钩”是指警报已注册吗?这是意料之中的。或者,您的意思是警报触发?这是出乎意料的。如果您在问题中包含您正在做什么和观察的详细信息,将会很有帮助。 是的,警报已注册。我们正在观察“缺失系列”问题,因为在使用该指标注册警报之前,指标名称尚未在目标中检测。 请看一下我在回答中包含的牌组(参见幻灯片#10+)和Existential issues with metrics以上是关于为啥 Prometheus 不会在不可见的指标上引发错误?的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot 2.3.4 - Kafka 指标在 /actuator/prometheus 中不可见
在不使用 spring-boot 执行器的情况下将来自 spring 应用程序的指标公开给 prometheus