我有一个复制因子为 3 的 pod。该应用程序将指标放在端口9001
上。我希望普罗米修斯操作员抓取指标。使用稳定/普罗米修斯操作员掌舵图时,我的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.*'
使用上面的设置,我可以看到 pod 在/target
但它正在尝试从端口2551
和8558
获取指标。我想将这些端口更改为9001
(我的应用程序吐出指标的实际端口(。我想知道我该怎么做?
您应该能够使用重新标记规则来执行此操作:
- 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。这应该导致普罗米修斯始终使用<ip>:9001
作为目标。
在 Kubernetes 的官方示例抓取配置中使用了类似的东西。