Prometheus Exporter - 过滤目标

Prometheus Exporter - Filtering targets

我正在用 Go 编写 Prometheus Exporter 以公开从 AIX 服务器推送的指标。 AIX 服务器将它们的指标(在 json 中)推送到中央侦听器(导出程序),后者将它们转换为标准 Prometheus 指标并公开它们以供抓取。

我遇到的问题是指标的主机名是从推送的 json 中提取的。我将其存储为每个指标中的标签。例如。 njmon_memory_free{lpar="我的主机名"}。虽然这可行,但它不太理想,因为似乎没有办法将其重新标记为通常的 instance 标签 (njmon_memory_free{instance="myhostname"}。Prometheus 重新标记发生在抓取,这样 lpar 标签就不会被重新标记。

一个选项似乎是重写导出器,以便 Prometheus 服务器探测定义的目标,每个目标都是 lpar。为了让它工作,我需要一种方法来通过 lpar 过滤存储的指标,以便只返回与 target/lpar 相关的指标。这是一个实用的解决方案还是我被迫为每个 lpar 创建一个专用的侦听器或 url?

所以我正在修正我在评论中给出的答案,因为它对作者有帮助。

  • 在导出器中使用“instance”标签,而不是“lpar”(更改导出器代码)
  • 在 Prometheus 中使用“honor_labels: true”scrape_config