Prometheus federation ignoring/dropping # 来自指标的 HELPline

Promtheus federation ignoring/dropping # HELP line from metrics

大家好,我在通过 Prometheus 向 /federate 端点公开指标时遇到了一些问题

我看到对于所有指标,它都会从每个指标中删除# HELP 行。只保留#TYPE。 试图搜索文档和论坛找不到任何布尔答案,如“Prometheus Federation by default drops # HELP line and leaves only # TYPE and the metric”

可能有人遇到过,有什么知识可以分享一下?

配置在这里并没有真正影响 AFAIK,因为即使 scraping K8s endpoints with just Kubernetes-pods job without any drops/replacements but providing federate="yes " 然后在联合端点中,没有 # HELP 行,它们只是默认删除。

在 pods 的实际目标中,Prometheus 将 抓取到 /metrics 或 /monitoring 端点 # HELP 是 persist

Prometheus /federate 端点旨在供其他 Prometheus 实例使用,因此它仅公开另一个 Prometheus 实例严格需要的内容。虽然 # TYPE 行是必不可少的,因为它定义了指标的类型,但 # HELP 行显然不被视为必不可少的,因为在 Prometheus 中没有对它做太多事情。

参见示例 here:

The HELP text in Prometheus’ exposition format was invented with the intent of creating functionality later.

目前,Prometheus 提供了一个metadata API,可以查询一个metric 的# HELP 文本。但这就是普罗米修斯在内部对 # HELP 文本所做的所有事情,它不会以任何其他方式解释。

因此,总而言之,Prometheus 目前没有在其联合端点上公开 # HELP 行,因为它认为它不重要。

但是,随着更多功能的添加,这在未来可能会发生变化。如果您有特定用例,可以随时在此区域提出功能请求。