From fae7f98c010783eb49a994324d216ccff290f447 Mon Sep 17 00:00:00 2001 From: Steve Wilkerson Date: Tue, 15 May 2018 14:39:43 -0500 Subject: [PATCH] Update prometheus service discovery for openstack-exporter This updates the prometheus service discovery configuration to define the openstack-exporter service discovery separate from the other services. This allows for relabeling the instance label for the openstack-exporter service, removing the potential for multiple data series being returned by the single stat panels in the Grafana dashboards for the openstack services. As the other services perform as expected when exporter pods restart, they remain configured the same as before. Change-Id: Iad4c56d31fb553a9629f5a6fd1eac5464207add4 Signed-off-by: Steve Wilkerson --- prometheus/values.yaml | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/prometheus/values.yaml b/prometheus/values.yaml index 41a24d587..24b6cebd7 100644 --- a/prometheus/values.yaml +++ b/prometheus/values.yaml @@ -345,11 +345,63 @@ conf: # * `prometheus.io/path`: If the metrics path is not `/metrics` override this. # * `prometheus.io/port`: If the metrics are exposed on a different port to the # service then set this appropriately. + - job_name: 'openstack-exporter' + kubernetes_sd_configs: + - role: endpoints + scrape_interval: 60s + relabel_configs: + - source_labels: + - __meta_kubernetes_service_name + action: keep + regex: "openstack-metrics" + - source_labels: + - __meta_kubernetes_service_annotation_prometheus_io_scrape + action: keep + regex: true + - source_labels: + - __meta_kubernetes_service_annotation_prometheus_io_scheme + action: replace + target_label: __scheme__ + regex: (https?) + - source_labels: + - __meta_kubernetes_service_annotation_prometheus_io_path + action: replace + target_label: __metrics_path__ + regex: (.+) + - source_labels: + - __address__ + - __meta_kubernetes_service_annotation_prometheus_io_port + action: replace + target_label: __address__ + regex: ([^:]+)(?::\d+)?;(\d+) + replacement: $1:$2 + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: + - __meta_kubernetes_namespace + action: replace + target_label: kubernetes_namespace + - source_labels: + - __meta_kubernetes_service_name + action: replace + target_label: instance + - source_labels: + - __meta_kubernetes_service_name + action: replace + target_label: kubernetes_name + - source_labels: + - __meta_kubernetes_service_name + target_label: job + replacement: ${1} - job_name: 'kubernetes-service-endpoints' kubernetes_sd_configs: - role: endpoints scrape_interval: 60s relabel_configs: + - source_labels: + - __meta_kubernetes_service_name + action: drop + regex: "openstack-metrics" - source_labels: - __meta_kubernetes_service_annotation_prometheus_io_scrape action: keep