From 58a3771e494e7b3f8b4e10a64bb0f52f5771bc7e Mon Sep 17 00:00:00 2001 From: William Martin Stewart Date: Thu, 21 Jul 2016 13:16:23 +0200 Subject: [PATCH 1/3] Add roles to prometheus kubernetes example Needed with Prometheus 1.0 --- documentation/examples/prometheus-kubernetes.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/examples/prometheus-kubernetes.yml b/documentation/examples/prometheus-kubernetes.yml index 22df79df1d..1a51500962 100644 --- a/documentation/examples/prometheus-kubernetes.yml +++ b/documentation/examples/prometheus-kubernetes.yml @@ -32,6 +32,7 @@ scrape_configs: - api_servers: - 'https://kubernetes.default.svc' in_cluster: true + role: apiserver relabel_configs: - source_labels: [__meta_kubernetes_role] @@ -60,6 +61,7 @@ scrape_configs: - api_servers: - 'https://kubernetes.default.svc' in_cluster: true + role: endpoint relabel_configs: - source_labels: [__meta_kubernetes_role, __meta_kubernetes_service_annotation_prometheus_io_scrape] @@ -106,6 +108,7 @@ scrape_configs: - api_servers: - 'https://kubernetes.default.svc' in_cluster: true + role: service relabel_configs: - source_labels: [__meta_kubernetes_role, __meta_kubernetes_service_annotation_prometheus_io_probe] @@ -139,6 +142,7 @@ scrape_configs: - api_servers: - 'https://kubernetes.default.svc' in_cluster: true + role: pod relabel_configs: - source_labels: [__meta_kubernetes_role, __meta_kubernetes_pod_annotation_prometheus_io_scrape] From 599fafd2aa989ea49f23935954356916bdea201d Mon Sep 17 00:00:00 2001 From: William Stewart Date: Thu, 21 Jul 2016 15:45:42 +0200 Subject: [PATCH 2/3] Add node job --- .../examples/prometheus-kubernetes.yml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/documentation/examples/prometheus-kubernetes.yml b/documentation/examples/prometheus-kubernetes.yml index 1a51500962..e6ef4ebb00 100644 --- a/documentation/examples/prometheus-kubernetes.yml +++ b/documentation/examples/prometheus-kubernetes.yml @@ -34,6 +34,33 @@ scrape_configs: in_cluster: true role: apiserver +- job_name: 'kubernetes-nodes' + + # Default to scraping over https. If required, just disable this or change to + # `http`. + scheme: https + + # This TLS & bearer token file config is used to connect to the actual scrape + # endpoints for cluster components. This is separate to discovery auth + # configuration (`in_cluster` below) because discovery & scraping are two + # separate concerns in Prometheus. + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + # If your node certificates are self-signed or use a different CA to the + # master CA, then disable certificate verification below. Note that + # certificate verification is an integral part of a secure infrastructure + # so this should only be disabled in a controlled environment. You can + # disable certificate verification by uncommenting the line below. + # + # insecure_skip_verify: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + kubernetes_sd_configs: + - api_servers: + - 'https://kubernetes.default.svc' + in_cluster: true + role: node + relabel_configs: - source_labels: [__meta_kubernetes_role] action: keep From f97cd29e47dcb5a839a192dace2c9756bd1c15c7 Mon Sep 17 00:00:00 2001 From: William Stewart Date: Thu, 21 Jul 2016 15:46:14 +0200 Subject: [PATCH 3/3] Drop '__meta_kubernetes_role' since we have role in the config --- .../examples/prometheus-kubernetes.yml | 25 ++++++------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/documentation/examples/prometheus-kubernetes.yml b/documentation/examples/prometheus-kubernetes.yml index e6ef4ebb00..5b14bc4759 100644 --- a/documentation/examples/prometheus-kubernetes.yml +++ b/documentation/examples/prometheus-kubernetes.yml @@ -62,14 +62,8 @@ scrape_configs: role: node relabel_configs: - - source_labels: [__meta_kubernetes_role] - action: keep - regex: (?:apiserver|node) - action: labelmap regex: __meta_kubernetes_node_label_(.+) - - source_labels: [__meta_kubernetes_role] - action: replace - target_label: kubernetes_role # Scrape config for service endpoints. # @@ -91,9 +85,9 @@ scrape_configs: role: endpoint relabel_configs: - - source_labels: [__meta_kubernetes_role, __meta_kubernetes_service_annotation_prometheus_io_scrape] + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] action: keep - regex: endpoint;true + regex: true - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] action: replace target_label: __scheme__ @@ -109,9 +103,6 @@ scrape_configs: replacement: $1:$2 - action: labelmap regex: __meta_kubernetes_service_label_(.+) - - source_labels: [__meta_kubernetes_role] - action: replace - target_label: kubernetes_role - source_labels: [__meta_kubernetes_service_namespace] action: replace target_label: kubernetes_namespace @@ -138,9 +129,9 @@ scrape_configs: role: service relabel_configs: - - source_labels: [__meta_kubernetes_role, __meta_kubernetes_service_annotation_prometheus_io_probe] + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe] action: keep - regex: service;true + regex: true - source_labels: [__address__] target_label: __param_target - target_label: __address__ @@ -149,8 +140,6 @@ scrape_configs: target_label: instance - action: labelmap regex: __meta_kubernetes_service_label_(.+) - - source_labels: [__meta_kubernetes_role] - target_label: kubernetes_role - source_labels: [__meta_kubernetes_service_namespace] target_label: kubernetes_namespace - source_labels: [__meta_kubernetes_service_name] @@ -158,7 +147,7 @@ scrape_configs: # Example scrape config for pods # -# The relabeling allows the actual pod scrape endpoint to be configured via the +# The relabeling allows the actual pod scrape endpoint to be configured via the # following annotations: # # * `prometheus.io/scrape`: Only scrape pods that have a value of `true` @@ -172,9 +161,9 @@ scrape_configs: role: pod relabel_configs: - - source_labels: [__meta_kubernetes_role, __meta_kubernetes_pod_annotation_prometheus_io_scrape] + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] action: keep - regex: pod;true + regex: true - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] action: replace regex: (.+):(?:\d+);(\d+)