Added the host label to the k8s-api Prometheus target
Within this change we add a host label to
kubernetes-api Prometheus target.
Change-Id: I9326b286c24232dc8388a97cebb791af670b0d90
Related-Bug: PROD-25539
diff --git a/prometheus/files/server/prometheus.yml b/prometheus/files/server/prometheus.yml
index 4bc011c..87a6fd0 100644
--- a/prometheus/files/server/prometheus.yml
+++ b/prometheus/files/server/prometheus.yml
@@ -197,11 +197,17 @@
{%- endfor %}
{%- set kubernetes_target = {} %}
+{%- set kubernetes_apiservers = {} %}
{%- if server.get('use_grains', {}).get('target', True) %}
{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
{%- set kubernetes_grain = node_grains.get('prometheus', {}).get('server', {}).get('target', {}).get('kubernetes', {}) %}
{%- if kubernetes_grain %}
{%- do kubernetes_target.update(kubernetes_grain) %}
+ {%- set api_server_endpoint = kubernetes_grain.get('api_server_endpoint') %}
+ {%- if api_server_endpoint %}
+ {%- set host = node_name.split(".")[0] %}
+ {%- do kubernetes_apiservers.update({host: {'endpoint': api_server_endpoint}}) %}
+ {%- endif %}
{%- endif %}
{%- endfor %}
{%- endif %}
@@ -230,7 +236,12 @@
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: default;kubernetes;https
-
+ {%- for node, node_params in kubernetes_apiservers.iteritems() %}
+ - source_labels: ['__address__']
+ regex: {{ node_params.endpoint }}
+ replacement: {{ node }}
+ target_label: "host"
+ {%- endfor %}
- job_name: 'kubernetes-node'
scheme: https
tls_config: