Skip to content

Commit b599cc9

Browse files
authored
chore(prometheus): support auto discovery addons metrics in namespaces (#12)
1 parent 145b6b5 commit b599cc9

2 files changed

Lines changed: 55 additions & 46 deletions

File tree

addons/prometheus/2/chart/prometheus/templates/_scrape_config.tpl

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,47 @@ relabel_configs:
8585
regex: 0
8686
action: keep
8787
{{- end -}}
88+
89+
{{- define "addons.ds_scrape_config" -}}
90+
honor_labels: true
91+
kubernetes_sd_configs:
92+
- role: endpoints
93+
namespaces:
94+
own_namespace: true
95+
names:
96+
- {{ include "common.names.namespace" .context }}
97+
relabel_configs:
98+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
99+
action: keep
100+
regex: true
101+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
102+
action: drop
103+
regex: true
104+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
105+
action: replace
106+
target_label: __scheme__
107+
regex: (https?)
108+
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
109+
action: replace
110+
target_label: __metrics_path__
111+
regex: (.+)
112+
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
113+
action: replace
114+
target_label: __address__
115+
regex: (.+?)(?::\d+)?;(\d+)
116+
replacement: $1:$2
117+
- action: labelmap
118+
regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
119+
replacement: __param_$1
120+
- action: labelmap
121+
regex: __meta_kubernetes_service_label_(.+)
122+
- source_labels: [__meta_kubernetes_namespace]
123+
action: replace
124+
target_label: namespace
125+
- source_labels: [__meta_kubernetes_service_name]
126+
action: replace
127+
target_label: service
128+
- source_labels: [__meta_kubernetes_pod_node_name]
129+
action: replace
130+
target_label: node
131+
{{- end -}}

addons/prometheus/2/chart/prometheus/values.yaml

Lines changed: 11 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -625,12 +625,16 @@ server:
625625
- job_name: alertmanager
626626
{{- include "prometheus.scrape_config" (dict "component" "alertmanager" "context" $) | nindent 4 }}
627627
{{- end }}
628+
{{- if .Values.scrapeAddons.enabled }}
629+
- job_name: addons
630+
{{- include "addons.ds_scrape_config" (dict "context" $) | nindent 4 }}
631+
{{- end }}
628632
{{- if .Values.server.extraScrapeConfigs}}
629633
{{- include "common.tplvalues.render" (dict "value" .Values.server.extraScrapeConfigs "context" $) | nindent 2 }}
630634
{{- end }}
631-
{{- if .Values.server.dsScrapeConfigs}}
632-
{{- include "common.tplvalues.render" (dict "value" .Values.server.dsScrapeConfigs "context" $) | nindent 2 }}
633-
{{- end }}
635+
# {{- if .Values.server.dsScrapeConfigs}}
636+
# {{- include "common.tplvalues.render" (dict "value" .Values.server.dsScrapeConfigs "context" $) | nindent 2 }}
637+
# {{- end }}
634638
{{- if or .Values.alertmanager.enabled .Values.server.alertingEndpoints}}
635639
alerting:
636640
alertmanagers:
@@ -653,49 +657,7 @@ server:
653657
## ref: <https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config>
654658
##
655659
extraScrapeConfigs: []
656-
dsScrapeConfigs:
657-
- job_name: 'service-endpoints'
658-
honor_labels: true
659-
kubernetes_sd_configs:
660-
- role: endpoints
661-
namespaces:
662-
own_namespace: true
663-
names:
664-
- default
665-
relabel_configs:
666-
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
667-
action: keep
668-
regex: true
669-
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
670-
action: drop
671-
regex: true
672-
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
673-
action: replace
674-
target_label: __scheme__
675-
regex: (https?)
676-
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
677-
action: replace
678-
target_label: __metrics_path__
679-
regex: (.+)
680-
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
681-
action: replace
682-
target_label: __address__
683-
regex: (.+?)(?::\d+)?;(\d+)
684-
replacement: $1:$2
685-
- action: labelmap
686-
regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
687-
replacement: __param_$1
688-
- action: labelmap
689-
regex: __meta_kubernetes_service_label_(.+)
690-
- source_labels: [__meta_kubernetes_namespace]
691-
action: replace
692-
target_label: namespace
693-
- source_labels: [__meta_kubernetes_service_name]
694-
action: replace
695-
target_label: service
696-
- source_labels: [__meta_kubernetes_pod_node_name]
697-
action: replace
698-
target_label: node
660+
699661
## @param server.replicaCount Number of Prometheus replicas to deploy
700662
##
701663
replicaCount: 1
@@ -1569,3 +1531,6 @@ volumePermissions:
15691531
##
15701532
containerSecurityContext:
15711533
runAsUser: 0
1534+
1535+
scrapeAddons:
1536+
enabled: true

0 commit comments

Comments
 (0)