From 9d876d01596e0d2d41ca421ff9078435565a0f49 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 11 Feb 2025 09:29:56 +0100 Subject: [PATCH 1/3] feat(operator): Support ServiceMonitor Signed-off-by: Nicolas Lamirault --- .../clickhouse-operator/servicemonitor.yaml | 32 +++++++++++++++++++ charts/clickhouse/values.yaml | 14 ++++++++ 2 files changed, 46 insertions(+) create mode 100644 charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml diff --git a/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml b/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml new file mode 100644 index 00000000..66c9e8bb --- /dev/null +++ b/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml @@ -0,0 +1,32 @@ +{{- if .Values.clickhouseOperator.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "clickhouseOperator.fullname" . }}-metrics + namespace: {{ include "clickhouse.namespace" . }} + labels: + {{- include "clickhouseOperator.labels" . | nindent 4 }} + {{- if .Values.clickhouseOperator.serviceMonitor.additionalLabels }} + {{- toYaml .Values.clickhouseOperator.serviceMonitor.additionalLabels | nindent 4 }} + {{- end }} +spec: + endpoints: + - port: {{ include "clickhouseOperator.fullname" $ }}-metrics + selector: + matchLabels: + {{- include "clickhouseOperator.selectorLabels" $ | nindent 4 }} + {{- with .Values.clickhouseOperator.serviceMonitor.interval }} + interval: {{ . }} + {{- end }} + {{- with .Values.clickhouseOperator.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ . }} + {{- end }} + {{- with .Values.clickhouseOperator.serviceMonitor.relabelings }} + relabelings: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.clickhouseOperator.serviceMonitor.metricRelabelings }} + metricRelabelings: + {{- toYaml . | nindent 8 }} + {{- end }} +{{- end }} diff --git a/charts/clickhouse/values.yaml b/charts/clickhouse/values.yaml index 573a57f7..1463dda9 100644 --- a/charts/clickhouse/values.yaml +++ b/charts/clickhouse/values.yaml @@ -762,3 +762,17 @@ clickhouseOperator: configs: # -- ClickHouse Operator confd files confdFiles: null + + serviceMonitor: + # serviceMonitor.enabled -- ServiceMonitor Custom resource is created for a [prometheus-operator](https://github.com/prometheus-operator/prometheus-operator) + enabled: false + # serviceMonitor.additionalLabels -- additional labels for service monitor + additionalLabels: {} + # serviceMonitor.interval -- + interval: 30s + # serviceMonitor.scrapeTimeout -- Prometheus ServiceMonitor scrapeTimeout. If empty, Prometheus uses the global scrape timeout unless it is less than the target's scrape interval value in which the latter is used. + scrapeTimeout: "" + # serviceMonitor.relabelings -- Prometheus [RelabelConfigs] to apply to samples before scraping + relabelings: [] + # serviceMonitor.metricRelabelings -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestio + metricRelabelings: [] From 5ca003fd1f2720000b95b1d1b988e056e50191d3 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 11 Feb 2025 09:33:09 +0100 Subject: [PATCH 2/3] feat(operator): missing fields Signed-off-by: Nicolas Lamirault --- .../templates/clickhouse-operator/servicemonitor.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml b/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml index 66c9e8bb..26ba42f3 100644 --- a/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml +++ b/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml @@ -12,6 +12,9 @@ metadata: spec: endpoints: - port: {{ include "clickhouseOperator.fullname" $ }}-metrics + path: /metrics + scheme: http + honorLabels: true selector: matchLabels: {{- include "clickhouseOperator.selectorLabels" $ | nindent 4 }} From 98a84d8b812a8df4f3eb96d2b6c93e894c4423b0 Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Tue, 11 Feb 2025 19:08:41 +0100 Subject: [PATCH 3/3] fix(servicemonitor): indentation Signed-off-by: Nicolas Lamirault --- .../templates/clickhouse-operator/servicemonitor.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml b/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml index 26ba42f3..dbd780e0 100644 --- a/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml +++ b/charts/clickhouse/templates/clickhouse-operator/servicemonitor.yaml @@ -17,7 +17,7 @@ spec: honorLabels: true selector: matchLabels: - {{- include "clickhouseOperator.selectorLabels" $ | nindent 4 }} + {{- include "clickhouseOperator.selectorLabels" $ | nindent 6 }} {{- with .Values.clickhouseOperator.serviceMonitor.interval }} interval: {{ . }} {{- end }} @@ -26,10 +26,10 @@ spec: {{- end }} {{- with .Values.clickhouseOperator.serviceMonitor.relabelings }} relabelings: - {{- toYaml . | nindent 8 }} + {{- toYaml . | nindent 4 }} {{- end }} {{- with .Values.clickhouseOperator.serviceMonitor.metricRelabelings }} metricRelabelings: - {{- toYaml . | nindent 8 }} + {{- toYaml . | nindent 4 }} {{- end }} {{- end }}