From 9c59f393a59c8e231417c7a911164ae5307a24b6 Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Thu, 7 Feb 2019 23:26:59 -0800 Subject: [PATCH] Add Kubernetes pod name to metrics discovered from service endpoints * Prometheus queries from some upstreams use joins of node-exporter and kube-state-metrics metrics by (namespace,pod). Add the Kubernetes pod name to service endpoint metrics * Rename the kubernetes_namespace field to namespace * Honor labels since kube-state-metrics already include a `pod` field that should not be overridden --- CHANGES.md | 3 +++ addons/prometheus/config.yaml | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 46faa2a4..f89ff56f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -10,6 +10,9 @@ Notable changes between versions. #### Addons * Raise nginx-ingress liveness/readiness timeout to 5 seconds +* Improve Prometheus metrics labels + * Add `pod` name label to metrics discovered via service endpoints + * Rename `kubernetes_namespace` label to `namespace` ## v1.13.3 diff --git a/addons/prometheus/config.yaml b/addons/prometheus/config.yaml index b1d38307..2408b3de 100644 --- a/addons/prometheus/config.yaml +++ b/addons/prometheus/config.yaml @@ -119,10 +119,10 @@ data: # * `prometheus.io/port`: If the metrics are exposed on a different port to the # service then set this appropriately. - job_name: 'kubernetes-service-endpoints' - kubernetes_sd_configs: - role: endpoints + honor_labels: true relabel_configs: - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] action: keep @@ -144,7 +144,10 @@ data: regex: __meta_kubernetes_service_label_(.+) - source_labels: [__meta_kubernetes_namespace] action: replace - target_label: kubernetes_namespace + target_label: namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: pod - source_labels: [__meta_kubernetes_service_name] action: replace target_label: job @@ -177,7 +180,7 @@ data: - action: labelmap regex: __meta_kubernetes_service_label_(.+) - source_labels: [__meta_kubernetes_namespace] - target_label: kubernetes_namespace + target_label: namespace - source_labels: [__meta_kubernetes_service_name] target_label: job