您可以用下划线替换指标名称中的破折号吗?

时间:2019-03-26 00:53:26

标签: prometheus

我正在抓取一个导出器,该导出器为我提供带破折号的度量标准名称。普罗米修斯度量名称不能带有破折号,因此我无法抓取这些度量。

是否可以将下划线替换为下划线以使度量标准名称有效?

  • 当前:collectd_a-b_derive_total
  • 所需:collectd_a_b_derive_total

我将此添加到了配置中,但似乎无法正常工作。

      - source_labels: [__name__]
        regex: "(.*)-(.*)"
        action: replace
        target_label: "${1}_${2}"

此外,什么是调试它的好方法?

2 个答案:

答案 0 :(得分:1)

你们真的很亲近,万一有人有兴趣回答,那就是

  - source_labels: [__name__]
    regex: "(.*)-(.*)"
    action: replace
    replacement: "${1}_${2}"
    target_label: "__name__"

这应该可以完成工作。

答案 1 :(得分:0)

我通过电子邮件发送了普罗米修斯用户的邮件列表,有人回答普罗米修斯不能用破折号/连字符“固定”度量标准名称。

由于我不想编辑发布指标的应用程序,因此找到了解决方法。

  1. 设置Nginx。
  2. 将其配置为反向代理。
    • 19103年听。
    • 使用Nginx的sub_filter指令从9103获取并重写主体。
  3. 配置Prometheus刮除19103而不是9103。

reverse-proxy.conf示例:

server{
  listen 19103;

  location / {
    proxy_pass http://127.0.0.1:9103;
    sub_filter_types *;
    sub_filter 'purple-' 'purple_';
    sub_filter_once off;
  }
}