diff --git a/charts/sn-platform-slim/templates/prometheus/prometheus-configmap.yaml b/charts/sn-platform-slim/templates/prometheus/prometheus-configmap.yaml index 36443c15c..030dd3add 100644 --- a/charts/sn-platform-slim/templates/prometheus/prometheus-configmap.yaml +++ b/charts/sn-platform-slim/templates/prometheus/prometheus-configmap.yaml @@ -31,6 +31,11 @@ data: path_prefix: {{ template "pulsar.control_center_path.alertmanager" . }}/ {{- end }} scrape_configs: +{{- if .Values.prometheus.customScrapeConfigs -}} +{{- with .Values.prometheus.customScrapeConfigs }} +{{ toYaml . | indent 4 }} +{{- end }} +{{- else }} - job_name: 'prometheus' static_configs: - targets: @@ -107,7 +112,7 @@ data: {{ toYaml . | indent 6 }} {{- end }} {{- end }} -{{- if .Values.prometheus.serviceAccount.clusterRole }} +{{- if and .Values.prometheus.serviceAccount.clusterRole (or (not (hasKey .Values.prometheus.scrape "kubernetesNodes")) (eq .Values.prometheus.scrape.kubernetesNodes true)) }} - job_name: 'kubernetes-nodes' scheme: https kubernetes_sd_configs: @@ -126,6 +131,8 @@ data: regex: (.+) target_label: __metrics_path__ replacement: /api/v1/nodes/${1}/proxy/metrics +{{- end }} +{{- if and .Values.prometheus.serviceAccount.clusterRole (or (not (hasKey .Values.prometheus.scrape "kubernetesCadvisor")) (eq .Values.prometheus.scrape.kubernetesCadvisor true)) }} - job_name: 'kubernetes-cadvisor' scheme: https kubernetes_sd_configs: @@ -154,6 +161,7 @@ data: {{- with .Values.prometheus.extraCustomArgs }} {{ toYaml . | indent 4 }} {{- end }} +{{- end }} {{- end }} rules.yml: | {{- if .Values.monitoring.alert_manager -}} diff --git a/charts/sn-platform-slim/templates/prometheus/pulsar-operators-rbac.yaml b/charts/sn-platform-slim/templates/prometheus/pulsar-operators-rbac.yaml index 8381bd3be..6b23e899e 100644 --- a/charts/sn-platform-slim/templates/prometheus/pulsar-operators-rbac.yaml +++ b/charts/sn-platform-slim/templates/prometheus/pulsar-operators-rbac.yaml @@ -15,6 +15,7 @@ rules: resources: - nodes - nodes/proxy + - nodes/metrics - services - endpoints - pods diff --git a/charts/sn-platform-slim/values.yaml b/charts/sn-platform-slim/values.yaml index 819e52b3d..8ffd58964 100644 --- a/charts/sn-platform-slim/values.yaml +++ b/charts/sn-platform-slim/values.yaml @@ -1951,6 +1951,10 @@ prometheus: node_exporter: true proxy: true zookeeper: true + # Enable scraping of kubernetes nodes metrics + kubernetesNodes: true + # Enable scraping of kubernetes cadvisor metrics + kubernetesCadvisor: true # nodeSelector: # cloud.google.com/gke-nodepool: default-pool labels: {} @@ -2026,6 +2030,7 @@ prometheus: customRelabelConfigs: [] extraScrapeConfigs: [] extraCustomArgs: {} + customScrpaConfigs: [] ## Prometheus service ## templates/prometheus-service.yaml diff --git a/charts/sn-platform/templates/prometheus/prometheus-configmap.yaml b/charts/sn-platform/templates/prometheus/prometheus-configmap.yaml index 36443c15c..030dd3add 100644 --- a/charts/sn-platform/templates/prometheus/prometheus-configmap.yaml +++ b/charts/sn-platform/templates/prometheus/prometheus-configmap.yaml @@ -31,6 +31,11 @@ data: path_prefix: {{ template "pulsar.control_center_path.alertmanager" . }}/ {{- end }} scrape_configs: +{{- if .Values.prometheus.customScrapeConfigs -}} +{{- with .Values.prometheus.customScrapeConfigs }} +{{ toYaml . | indent 4 }} +{{- end }} +{{- else }} - job_name: 'prometheus' static_configs: - targets: @@ -107,7 +112,7 @@ data: {{ toYaml . | indent 6 }} {{- end }} {{- end }} -{{- if .Values.prometheus.serviceAccount.clusterRole }} +{{- if and .Values.prometheus.serviceAccount.clusterRole (or (not (hasKey .Values.prometheus.scrape "kubernetesNodes")) (eq .Values.prometheus.scrape.kubernetesNodes true)) }} - job_name: 'kubernetes-nodes' scheme: https kubernetes_sd_configs: @@ -126,6 +131,8 @@ data: regex: (.+) target_label: __metrics_path__ replacement: /api/v1/nodes/${1}/proxy/metrics +{{- end }} +{{- if and .Values.prometheus.serviceAccount.clusterRole (or (not (hasKey .Values.prometheus.scrape "kubernetesCadvisor")) (eq .Values.prometheus.scrape.kubernetesCadvisor true)) }} - job_name: 'kubernetes-cadvisor' scheme: https kubernetes_sd_configs: @@ -154,6 +161,7 @@ data: {{- with .Values.prometheus.extraCustomArgs }} {{ toYaml . | indent 4 }} {{- end }} +{{- end }} {{- end }} rules.yml: | {{- if .Values.monitoring.alert_manager -}} diff --git a/charts/sn-platform/templates/prometheus/pulsar-operators-rbac.yaml b/charts/sn-platform/templates/prometheus/pulsar-operators-rbac.yaml index 8381bd3be..6b23e899e 100644 --- a/charts/sn-platform/templates/prometheus/pulsar-operators-rbac.yaml +++ b/charts/sn-platform/templates/prometheus/pulsar-operators-rbac.yaml @@ -15,6 +15,7 @@ rules: resources: - nodes - nodes/proxy + - nodes/metrics - services - endpoints - pods diff --git a/charts/sn-platform/values.yaml b/charts/sn-platform/values.yaml index 8a3408f3f..dec55a308 100644 --- a/charts/sn-platform/values.yaml +++ b/charts/sn-platform/values.yaml @@ -2032,6 +2032,10 @@ prometheus: proxy: true zookeeper: true vault: true + # Enable scraping of kubernetes nodes metrics + kubernetesNodes: true + # Enable scraping of kubernetes cadvisor metrics + kubernetesCadvisor: true # nodeSelector: # cloud.google.com/gke-nodepool: default-pool labels: {} @@ -2107,6 +2111,8 @@ prometheus: customRelabelConfigs: [] extraScrapeConfigs: [] extraCustomArgs: {} + # A advanced configuration to add custom scrape configs. + customScrapeConfigs: [] ## Prometheus service ## templates/prometheus-service.yaml