我有一个复制因子为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
中看到吊舱,但它正在尝试从端口2551
和8558
获取指标。我想将这些端口更改为9001
(我的应用程序吐出指标的实际端口)。我想知道我该怎么做?
答案 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官方使用了类似的东西。