Prometheus federation ignoring/dropping # HELPline from metrics

Posted

技术标签:

【中文标题】Prometheus federation ignoring/dropping # HELPline from metrics【英文标题】:Promtheus federation ignoring/dropping # HELP line from metrics 【发布时间】:2021-10-07 02:44:44 【问题描述】:

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

我发现对于所有指标,它都会从每个指标中删除 # HELP 行。只有 # TYPE 保留。 尝试在文档和论坛上搜索找不到任何布尔答案,例如“Prometheus Federation 默认情况下会丢弃 #HELP 行,只留下 #TYPE 和指标”

过去有人可能遇到过这种情况并有一些知识可以分享?

配置在这里并没有真正影响 AFAIK,因为即使 scraping K8s 端点只使用 Kubernetes-pods 作业,没有任何丢弃/替换,但提供 federate="yes",然后在联合端点中,没有 # HELP 行,它们只是默认删除。

在 Prometheus scraped 到 /metrics 或 /monitoring 端点的 pod 的实际目标中 #HELP 是持久的

【问题讨论】:

【参考方案1】:

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

例如见here:

Prometheus 的说明格式的帮助文本是为了以后创建功能而发明的。

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

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

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

【讨论】:

感谢您的解释和分享信息!是的,看到这个社区链接查询元数据community.grafana.com/t/…

以上是关于Prometheus federation ignoring/dropping # HELPline from metrics的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus学习系列之Prometheus 联盟迁移

prometheus安装

如何解析 Prometheus 数据

无法使用docker(prom / prometheus)加载prometheus.yml配置文件

将 Prometheus 抓取的数据转换为数组

什么信号(SIGPIPE,SIG_IGN);做?