From 0b1790ee4446449f276f9abac4e6436e0b3e87d6 Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Tue, 14 Feb 2017 20:12:38 -0500 Subject: [PATCH] Match addresses with or without declared ports. This change updates port relabeling for pod and service discovery so the relabeling regex matches addresses with or without declared ports. As well, this change uses a consistent style in the replacement pattern for the two expressions. Previously, for both services or pods that did not have declared ports, the relabel config regex would fail to match: __meta_kubernetes_service_annotation_prometheus_io_port regex: (.+)(?::\d+);(\d+) __meta_kubernetes_pod_annotation_prometheus_io_port regex: (.+):(?:\d+);(\d+) Both regexes expected a : pattern. The new regex matches addresses with or without declared ports by making the : pattern optional. __meta_kubernetes_service_annotation_prometheus_io_port __meta_kubernetes_pod_annotation_prometheus_io_port regex: (.+)(?::\d+)?;(\d+) --- documentation/examples/prometheus-kubernetes.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/examples/prometheus-kubernetes.yml b/documentation/examples/prometheus-kubernetes.yml index 1f91d36a9..893614e63 100644 --- a/documentation/examples/prometheus-kubernetes.yml +++ b/documentation/examples/prometheus-kubernetes.yml @@ -108,7 +108,7 @@ scrape_configs: - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] action: replace target_label: __address__ - regex: (.+)(?::\d+);(\d+) + regex: (.+)(?::\d+)?;(\d+) replacement: $1:$2 - action: labelmap regex: __meta_kubernetes_service_label_(.+) @@ -174,8 +174,8 @@ scrape_configs: regex: (.+) - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] action: replace - regex: (.+):(?:\d+);(\d+) - replacement: ${1}:${2} + regex: (.+)(?::\d+)?;(\d+) + replacement: $1:$2 target_label: __address__ - action: labelmap regex: __meta_kubernetes_pod_label_(.+)