[英]How to send JVM metrics of Spark to Prometheus in Kubernetes
[英]Scrape Prometheus metrics from two endpoints in the same Kubernetes pod
使用這個示例普羅米修斯配置:
- 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
我有一個公開兩個度量路徑的 pod。 一個在這里 /metrics/prometheus 和另一個 /metrics/executors/prometheus 在同一個端口上。
如何使用此示例配置來使用服務發現和抓取兩者?
你實現了嗎? 我對同樣的問題感到震驚。 我可以通過在廢棄配置文件中進行多個作業來在本地 Prometheus 設置上執行此操作。 但我無法在 Kubernetes 上復制它。 (由於聲譽較低,無法發表評論,所以在這里回復。我道歉!!!)
您應該在服務而不是 Pod 上使用注解。 這樣,您可以創建兩個服務,指向同一個 pod,同時設置不同的注釋來設置您的抓取路徑。
切換這個:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
對於那個:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
然后,將您的 prometheus.io/path 注釋從 Pods 移動到 Services。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.