From 8bb861bb361aff5ad3be826112694a3131ea4b28 Mon Sep 17 00:00:00 2001 From: Christopher Randles Date: Thu, 18 Apr 2019 12:00:16 -0400 Subject: [PATCH] add relabelings/metricRelabelings to all exporter serviceMonitors (#13143) Signed-off-by: Chris Randles --- stable/prometheus-operator/Chart.yaml | 2 +- stable/prometheus-operator/README.md | 13 ++ .../prometheus-operator/ci/test-values.yaml | 133 +++++++++++++++++- .../exporters/core-dns/servicemonitor.yaml | 8 ++ .../kube-api-server/servicemonitor.yaml | 4 + .../servicemonitor.yaml | 8 ++ .../exporters/kube-dns/servicemonitor.yaml | 8 ++ .../exporters/kube-etcd/servicemonitor.yaml | 8 ++ .../kube-scheduler/servicemonitor.yaml | 8 ++ .../kube-state-metrics/serviceMonitor.yaml | 4 + .../exporters/kubelet/servicemonitor.yaml | 8 ++ .../node-exporter/servicemonitor.yaml | 4 + stable/prometheus-operator/values.yaml | 122 ++++++++++++++++ 13 files changed, 323 insertions(+), 7 deletions(-) diff --git a/stable/prometheus-operator/Chart.yaml b/stable/prometheus-operator/Chart.yaml index f7153dc0b4..7d7815b744 100644 --- a/stable/prometheus-operator/Chart.yaml +++ b/stable/prometheus-operator/Chart.yaml @@ -9,7 +9,7 @@ name: prometheus-operator sources: - https://github.com/coreos/prometheus-operator - https://coreos.com/operators/prometheus -version: 5.0.13 +version: 5.1.0 appVersion: 0.29.0 home: https://github.com/coreos/prometheus-operator keywords: diff --git a/stable/prometheus-operator/README.md b/stable/prometheus-operator/README.md index 2d7e237b25..a33e1275f8 100644 --- a/stable/prometheus-operator/README.md +++ b/stable/prometheus-operator/README.md @@ -317,10 +317,12 @@ The following tables list the configurable parameters of the prometheus-operator | `kubeApiServer.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus | `component` | | `kubeApiServer.serviceMonitor.selector` | The service selector | `{"matchLabels":{"component":"apiserver","provider":"kubernetes"}}` | | `kubeApiServer.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | +| `kubeApiServer.serviceMonitor.relabelings` | The `relabel_configs` for scraping the Kubernetes API server. | `` | | `kubelet.enabled` | Deploy servicemonitor to scrape the kubelet service. See also `prometheusOperator.kubeletService` | `true` | | `kubelet.namespace` | Namespace where the kubelet is deployed. See also `prometheusOperator.kubeletService.namespace` | `kube-system` | | `kubelet.serviceMonitor.https` | Enable scraping of the kubelet over HTTPS. For more information, see https://github.com/coreos/prometheus-operator/issues/926 | `true` | | `kubelet.serviceMonitor.cAdvisorMetricRelabelings` | The `metric_relabel_configs` for scraping cAdvisor. | `` | +| `kubelet.serviceMonitor.cAdvisorRelabelings` | The `relabel_configs` for scraping cAdvisor. | `` | | `kubelet.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | | `kubeControllerManager.enabled` | Deploy a `service` and `serviceMonitor` to scrape the Kubernetes controller-manager | `true` | | `kubeControllerManager.endpoints` | Endpoints where Controller-manager runs. Provide this if running Controller-manager outside the cluster | `[]` | @@ -329,6 +331,8 @@ The following tables list the configurable parameters of the prometheus-operator | `kubeControllermanager.service.selector` | Controller-manager service selector | `{"component" : "kube-controller-manager" }` | | `kubeControllermanager.serviceMonitor.https` | Controller-manager service scrape over https | `false` | | `kubeControllermanager.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | +| `kubeControllermanager.serviceMonitor.metricRelabelings` | The `metric_relabel_configs` for scraping the scheduler. | `` | +| `kubeControllermanager.serviceMonitor.relabelings` | The `relabel_configs` for scraping the scheduler. | `` | | `coreDns.enabled` | Deploy coreDns scraping components. Use either this or kubeDns | true | | `coreDns.service.port` | CoreDns port | `9153` | | `coreDns.service.targetPort` | CoreDns targetPort | `9153` | @@ -337,6 +341,8 @@ The following tables list the configurable parameters of the prometheus-operator | `kubeDns.enabled` | Deploy kubeDns scraping components. Use either this or coreDns| `false` | | `kubeDns.service.selector` | kubeDns service selector | `{"k8s-app" : "kube-dns" }` | | `kubeDns.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | +| `kubeDns.serviceMonitor.metricRelabelings` | The `metric_relabel_configs` for scraping kubeDns. | `` | +| `kubeDns.serviceMonitor.relabelings` | The `relabel_configs` for scraping kubeDns. | `` | | `kubeEtcd.enabled` | Deploy components to scrape etcd | `true` | | `kubeEtcd.endpoints` | Endpoints where etcd runs. Provide this if running etcd outside the cluster | `[]` | | `kubeEtcd.service.port` | Etcd port | `4001` | @@ -346,6 +352,8 @@ The following tables list the configurable parameters of the prometheus-operator | `kubeEtcd.serviceMonitor.insecureSkipVerify` | Skip validating etcd TLS certificate when scraping | `false` | | `kubeEtcd.serviceMonitor.serverName` | Etcd server name to validate certificate against when scraping | `""` | | `kubeEtcd.serviceMonitor.caFile` | Certificate authority file to use when connecting to etcd. See `prometheus.prometheusSpec.secrets` | `""` | +| `kubeEtcd.serviceMonitor.metricRelabelings` | The `metric_relabel_configs` for scraping Etcd. | `` | +| `kubeEtcd.serviceMonitor.relabelings` | The `relabel_configs` for scraping Etcd. | `` | | `kubeEtcd.serviceMonitor.certFile` | Client certificate file to use when connecting to etcd. See `prometheus.prometheusSpec.secrets` | `""` | | `kubeEtcd.serviceMonitor.keyFile` | Client key file to use when connecting to etcd. See `prometheus.prometheusSpec.secrets` | `""` | | `kubeEtcd.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | @@ -356,15 +364,20 @@ The following tables list the configurable parameters of the prometheus-operator | `kubeScheduler.service.selector` | Scheduler service selector | `{"component" : "kube-scheduler" }` | | `kubeScheduler.serviceMonitor.https` | Scheduler service scrape over https | `false` | | `kubeScheduler.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | +| `kubeScheduler.serviceMonitor.metricRelabelings` | The `metric_relabel_configs` for scraping the Kubernetes scheduler. | `` | +| `kubeScheduler.serviceMonitor.relabelings` | The `relabel_configs` for scraping the Kubernetes scheduler. | `` | | `kubeStateMetrics.enabled` | Deploy the `kube-state-metrics` chart and configure a servicemonitor to scrape | `true` | | `kubeStateMetrics.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | | `kubeStateMetrics.serviceMonitor.metricRelabelings` | Metric relablings for the `kube-state-metrics` ServiceMonitor | `[]` | +| `kubeStateMetrics.serviceMonitor.relabelings` | The `relabel_configs` for scraping `kube-state-metrics`. | `` | | `kube-state-metrics.rbac.create` | Create RBAC components in kube-state-metrics. See `global.rbac.create` | `true` | | `kube-state-metrics.podSecurityPolicy.enabled` | Create pod security policy resource for kube-state-metrics. | `true` | | `nodeExporter.enabled` | Deploy the `prometheus-node-exporter` and scrape it | `true` | | `nodeExporter.jobLabel` | The name of the label on the target service to use as the job name in prometheus. See `prometheus-node-exporter.podLabels.jobLabel=node-exporter` default | `jobLabel` | | `nodeExporter.serviceMonitor.metricRelabelings` | Metric relablings for the `prometheus-node-exporter` ServiceMonitor | `[]` | | `nodeExporter.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used | `nil` | +| `nodeExporter.serviceMonitor.metricRelabelings` | The `metric_relabel_configs` for scraping the `prometheus-node-exporter`. | `` | +| `nodeExporter.serviceMonitor.relabelings` | The `relabel_configs` for scraping the `prometheus-node-exporter`. | `` | | `prometheus-node-exporter.podLabels` | Additional labels for pods in the DaemonSet | `{"jobLabel":"node-exporter"}` | | `prometheus-node-exporter.extraArgs` | Additional arguments for the node exporter container | `["--collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+)($|/)", "--collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$"]` | diff --git a/stable/prometheus-operator/ci/test-values.yaml b/stable/prometheus-operator/ci/test-values.yaml index 865103e143..09bf03f0b0 100644 --- a/stable/prometheus-operator/ci/test-values.yaml +++ b/stable/prometheus-operator/ci/test-values.yaml @@ -199,7 +199,7 @@ alertmanager: ## image: repository: quay.io/prometheus/alertmanager - tag: v0.16.1 + tag: v0.16.2 ## Secrets is a list of Secrets in the same namespace as the Alertmanager object, which shall be mounted into the ## Alertmanager Pods. The Secrets are mounted into /etc/alertmanager/secrets/. @@ -423,6 +423,13 @@ kubeApiServer: component: apiserver provider: kubernetes + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + ## Component scraping the kubelet and kubelet-hosted cAdvisor ## kubelet: @@ -453,6 +460,15 @@ kubelet: # replacement: $1 # action: drop + # relabel configs to apply to samples before ingestion. + ## + cAdvisorRelabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace ## Component scraping the kube controller manager ## @@ -484,6 +500,23 @@ kubeControllerManager: ## https: false + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping coreDns. Use either this or kubeDns ## coreDns: @@ -498,6 +531,23 @@ coreDns: ## interval: "" + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping kubeDns. Use either this or coreDns ## kubeDns: @@ -509,6 +559,24 @@ kubeDns: ## Scrape interval. If not set, the Prometheus default scrape interval is used. ## interval: "" + + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping etcd ## kubeEtcd: @@ -551,6 +619,23 @@ kubeEtcd: certFile: "" keyFile: "" + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping kube scheduler ## @@ -581,6 +666,23 @@ kubeScheduler: ## https: false + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping kube state metrics ## kubeStateMetrics: @@ -597,6 +699,16 @@ kubeStateMetrics: # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' # sourceLabels: [__name__] + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Configuration for kube-state-metrics subchart ## kube-state-metrics: @@ -628,6 +740,16 @@ nodeExporter: # replacement: $1 # action: drop + ## relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Configuration for prometheus-node-exporter subchart ## prometheus-node-exporter: @@ -919,7 +1041,7 @@ prometheus: ## image: repository: quay.io/prometheus/prometheus - tag: v2.7.1 + tag: v2.7.2 ## Tolerations for use with node taints ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ @@ -1064,14 +1186,13 @@ prometheus: ## The remote_read spec configuration for Prometheus. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotereadspec - remoteRead: {} + remoteRead: [] # - url: http://remote1/read ## The remote_write spec configuration for Prometheus. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotewritespec - remoteWrite: {} - # remoteWrite: - # - url: http://remote1/push + remoteWrite: [] + # - url: http://remote1/push ## Resource limits & requests ## diff --git a/stable/prometheus-operator/templates/exporters/core-dns/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/core-dns/servicemonitor.yaml index 803882b1fd..ebdbe02f8d 100644 --- a/stable/prometheus-operator/templates/exporters/core-dns/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/core-dns/servicemonitor.yaml @@ -21,4 +21,12 @@ spec: interval: {{ .Values.coreDns.serviceMonitor.interval }} {{- end }} bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token +{{- if .Values.coreDns.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ toYaml .Values.coreDns.serviceMonitor.metricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.coreDns.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.coreDns.serviceMonitor.relabelings | indent 4 }} +{{- end }} {{- end }} diff --git a/stable/prometheus-operator/templates/exporters/kube-api-server/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/kube-api-server/servicemonitor.yaml index 2a64c3bc26..242419c5bc 100644 --- a/stable/prometheus-operator/templates/exporters/kube-api-server/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/kube-api-server/servicemonitor.yaml @@ -14,6 +14,10 @@ spec: {{- end }} port: https scheme: https +{{- if .Values.kubeApiServer.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ toYaml .Values.kubeApiServer.serviceMonitor.metricRelabelings | indent 6 }} +{{- end }} {{- if .Values.kubeApiServer.relabelings }} relabelings: {{ toYaml .Values.kubeApiServer.relabelings | indent 6 }} diff --git a/stable/prometheus-operator/templates/exporters/kube-controller-manager/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/kube-controller-manager/servicemonitor.yaml index dcf2b1d99e..ebd8c8166c 100644 --- a/stable/prometheus-operator/templates/exporters/kube-controller-manager/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/kube-controller-manager/servicemonitor.yaml @@ -26,4 +26,12 @@ spec: tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt {{- end }} +{{- if .Values.kubeControllerManager.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ toYaml .Values.kubeControllerManager.serviceMonitor.metricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.kubeControllerManager.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.kubeControllerManager.serviceMonitor.relabelings | indent 4 }} +{{- end }} {{- end }} \ No newline at end of file diff --git a/stable/prometheus-operator/templates/exporters/kube-dns/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/kube-dns/servicemonitor.yaml index be12b54e02..a4255be6eb 100644 --- a/stable/prometheus-operator/templates/exporters/kube-dns/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/kube-dns/servicemonitor.yaml @@ -26,4 +26,12 @@ spec: interval: {{ .Values.kubeDns.serviceMonitor.interval }} {{- end }} bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token +{{- if .Values.kubeDns.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ toYaml .Values.kubeDns.serviceMonitor.metricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.kubeDns.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.kubeDns.serviceMonitor.relabelings | indent 4 }} +{{- end }} {{- end }} diff --git a/stable/prometheus-operator/templates/exporters/kube-etcd/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/kube-etcd/servicemonitor.yaml index f62d48d42b..d0a7892961 100644 --- a/stable/prometheus-operator/templates/exporters/kube-etcd/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/kube-etcd/servicemonitor.yaml @@ -38,4 +38,12 @@ spec: {{- end}} insecureSkipVerify: {{ .Values.kubeEtcd.serviceMonitor.insecureSkipVerify }} {{- end }} +{{- if .Values.kubeEtcd.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ toYaml .Values.kubeEtcd.serviceMonitor.metricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.kubeEtcd.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.kubeEtcd.serviceMonitor.relabelings | indent 4 }} +{{- end }} {{- end }} diff --git a/stable/prometheus-operator/templates/exporters/kube-scheduler/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/kube-scheduler/servicemonitor.yaml index b5a9b14846..aa66c461c4 100644 --- a/stable/prometheus-operator/templates/exporters/kube-scheduler/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/kube-scheduler/servicemonitor.yaml @@ -26,4 +26,12 @@ spec: tlsConfig: caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt {{- end}} +{{- if .Values.kubeScheduler.serviceMonitor.metricRelabelings }} + metricRelabelings: +{{ toYaml .Values.kubeScheduler.serviceMonitor.metricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.kubeScheduler.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.kubeScheduler.serviceMonitor.relabelings | indent 4 }} +{{- end }} {{- end }} diff --git a/stable/prometheus-operator/templates/exporters/kube-state-metrics/serviceMonitor.yaml b/stable/prometheus-operator/templates/exporters/kube-state-metrics/serviceMonitor.yaml index bf6d562eaf..d8ac0d0a14 100644 --- a/stable/prometheus-operator/templates/exporters/kube-state-metrics/serviceMonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/kube-state-metrics/serviceMonitor.yaml @@ -17,6 +17,10 @@ spec: {{- if .Values.kubeStateMetrics.serviceMonitor.metricRelabelings }} metricRelabelings: {{ toYaml .Values.kubeStateMetrics.serviceMonitor.metricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.kubeStateMetrics.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.kubeStateMetrics.serviceMonitor.relabelings | indent 4 }} {{- end }} selector: matchLabels: diff --git a/stable/prometheus-operator/templates/exporters/kubelet/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/kubelet/servicemonitor.yaml index 679aac9fc4..1d9a094db5 100644 --- a/stable/prometheus-operator/templates/exporters/kubelet/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/kubelet/servicemonitor.yaml @@ -33,6 +33,10 @@ spec: {{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }} metricRelabelings: {{ toYaml .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }} + relabelings: +{{ toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | indent 4 }} {{- end }} {{- else }} - port: http-metrics @@ -49,6 +53,10 @@ spec: {{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }} metricRelabelings: {{ toYaml .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings | indent 4 }} +{{- end }} +{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }} + relabelings: +{{ toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | indent 4 }} {{- end }} {{- end }} jobLabel: k8s-app diff --git a/stable/prometheus-operator/templates/exporters/node-exporter/servicemonitor.yaml b/stable/prometheus-operator/templates/exporters/node-exporter/servicemonitor.yaml index b18c224767..4095143d10 100644 --- a/stable/prometheus-operator/templates/exporters/node-exporter/servicemonitor.yaml +++ b/stable/prometheus-operator/templates/exporters/node-exporter/servicemonitor.yaml @@ -21,4 +21,8 @@ spec: metricRelabelings: {{ toYaml .Values.nodeExporter.serviceMonitor.metricRelabelings | indent 4 }} {{- end }} +{{- if .Values.nodeExporter.serviceMonitor.relabelings }} + relabelings: +{{ toYaml .Values.nodeExporter.serviceMonitor.relabelings | indent 4 }} +{{- end }} {{- end }} diff --git a/stable/prometheus-operator/values.yaml b/stable/prometheus-operator/values.yaml index 90fc446d4b..b66aa5c9c2 100644 --- a/stable/prometheus-operator/values.yaml +++ b/stable/prometheus-operator/values.yaml @@ -423,6 +423,13 @@ kubeApiServer: component: apiserver provider: kubernetes + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + ## Component scraping the kubelet and kubelet-hosted cAdvisor ## kubelet: @@ -453,6 +460,15 @@ kubelet: # replacement: $1 # action: drop + # relabel configs to apply to samples before ingestion. + ## + cAdvisorRelabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace ## Component scraping the kube controller manager ## @@ -484,6 +500,23 @@ kubeControllerManager: ## https: false + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping coreDns. Use either this or kubeDns ## coreDns: @@ -498,6 +531,23 @@ coreDns: ## interval: "" + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping kubeDns. Use either this or coreDns ## kubeDns: @@ -509,6 +559,24 @@ kubeDns: ## Scrape interval. If not set, the Prometheus default scrape interval is used. ## interval: "" + + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping etcd ## kubeEtcd: @@ -551,6 +619,23 @@ kubeEtcd: certFile: "" keyFile: "" + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping kube scheduler ## @@ -581,6 +666,23 @@ kubeScheduler: ## https: false + ## metric relabel configs to apply to samples before ingestion. + ## + metricRelabelings: [] + # - action: keep + # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + # sourceLabels: [__name__] + + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Component scraping kube state metrics ## kubeStateMetrics: @@ -597,6 +699,16 @@ kubeStateMetrics: # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' # sourceLabels: [__name__] + # relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Configuration for kube-state-metrics subchart ## kube-state-metrics: @@ -628,6 +740,16 @@ nodeExporter: # replacement: $1 # action: drop + ## relabel configs to apply to samples before ingestion. + ## + relabelings: [] + # - sourceLabels: [__meta_kubernetes_pod_node_name] + # separator: ; + # regex: ^(.*)$ + # target_label: nodename + # replacement: $1 + # action: replace + ## Configuration for prometheus-node-exporter subchart ## prometheus-node-exporter: