我们有一个Kubernetes Pod,提供多个指标端点(:3093/metrics
和:9113/metrics
),但它也有一个端口,不提供任何指标(:80
)。
TL; DR:是否可以仅抓取端口3093
和9113
?
我们正在使用the example configuration进行抓取配置:
- job_name: 'kubernetes-pods'
tls_config:
insecure_skip_verify: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
使用此注释启用抓取时,这些端点会被正确地抓取:
annotations:
prometheus.io/scrape: "true"
但是这有问题,它也会抓取端口:80
,它本不应该。
答案 0 :(得分:0)
我们创建了一个导出器,用于合并多个其他导出器的输出。这是非常阿尔法,但它现在适用于我们。