2

我有一个复制因子为 3 的 pod。该应用程序将指标放在 port 上9001。我希望普罗米修斯运营商抓取指标。values.yaml使用 stable/prometheus-operator helm 图表时,我有以下内容。

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.*'

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

4

1 回答 1

2

您应该能够使用重新标记规则来做到这一点:

- 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用作目标。

Kubernetes的官方示例抓取配置中使用了类似的东西。

于 2019-12-12T08:39:32.470 回答