如何使用Prometheus刮除metrcs来更改端口号

时间:2019-12-11 18:46:25

标签: akka prometheus metrics prometheus-operator

我有一个复制因子为3的Pod。该应用程序将指标放置在端口9001上。我希望Prometheus运算符可以抓取指标。使用稳定/ prometheus-operator舵图时,values.yaml中包含以下内容。

prometheus:
  prometheusSpec:
    additionalScrapeConfigs:
    - job_name: 'akka-metrics'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: pod
        namespaces:
          names:
          - default
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_container_name]
        action: keep   
        regex: 'my_pod_name.*'

使用上面的设置,我可以在/target中看到吊舱,但它正在尝试从端口25518558获取指标。我想将这些端口更改为9001(我的应用程序吐出指标的实际端口)。我想知道我该怎么做?

1 个答案:

答案 0 :(得分:0)

您应该可以使用relabelling rule来做到这一点:

- job_name: 'akka-metrics'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: pod
        namespaces:
          names:
          - default
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_container_name]
        action: keep   
        regex: 'my_pod_name.*'
      - source_labels: [__address__]
        action: replace
        regex: ([^:]+):.*
        replacement: $1:9001
        target_label: __address__

最后一条规则修改目标的__address__标签。它提取IP地址并将端口设置为9001。这将导致Prometheus始终使用<ip>:9001作为目标。

example scrape config for Kubernetes官方使用了类似的东西。