Skip to content

Commit 45128a9

Browse files
authored
chore(clickhouse)!: replace external exporter with embedded ClickHouse exporter (#1710)
- Removed external Prometheus exporter - Updated ClickHouse config to use built-in Prometheus exporter (https://clickhouse.com/docs/operations/server-configuration-parameters/settings#prometheus)
1 parent d6e1455 commit 45128a9

6 files changed

+25
-50
lines changed

charts/clickhouse/templates/configmap-config.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,17 @@ data:
8989
<max_server_memory_usage>{{ .Values.clickhouse.configmap.max_server_memory_usage | default "0" }}</max_server_memory_usage>
9090
{{- end }}
9191
92+
{{- if .Values.clickhouse.metrics.enabled }}
93+
<prometheus>
94+
<endpoint>/metrics</endpoint>
95+
<port>{{ .Values.clickhouse.metrics.port }}</port>
96+
<metrics>true</metrics>
97+
<events>true</events>
98+
<asynchronous_metrics>true</asynchronous_metrics>
99+
<errors>true</errors>
100+
</prometheus>
101+
{{- end }}
102+
92103
<query_log>
93104
<database>system</database>
94105
<table>query_log</table>

charts/clickhouse/templates/statefulset-clickhouse-replica.yaml

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ spec:
7474
- -c
7575
- export SHARD=${HOSTNAME##*-} && /entrypoint.sh
7676
ports:
77+
{{- if .Values.clickhouse.metrics.enabled }}
78+
- name: metrics
79+
containerPort: {{ .Values.clickhouse.metrics.port }}
80+
protocol: TCP
81+
{{- end }}
7782
- name: http-port
7883
containerPort: {{ .Values.clickhouse.http_port | default "8123" }}
7984
- name: tcp-port
@@ -122,22 +127,6 @@ spec:
122127
securityContext:
123128
{{- toYaml . | nindent 10 }}
124129
{{- end }}
125-
{{- if .Values.clickhouse.metrics.enabled }}
126-
- name: prom-exporter
127-
image: "{{ .Values.clickhouse.metrics.image.registry }}/{{ .Values.clickhouse.metrics.image.repository }}:{{ .Values.clickhouse.metrics.image.tag }}"
128-
imagePullPolicy: {{ .Values.clickhouse.metrics.image.pullPolicy | quote }}
129-
ports:
130-
- name: metrics
131-
containerPort: {{ .Values.clickhouse.metrics.image.port }}
132-
protocol: TCP
133-
{{- if .Values.clickhouse.metrics.resources }}
134-
{{- if .Values.clickhouse.metrics.volumeMounts }}
135-
volumeMounts:
136-
{{ toYaml .Values.clickhouse.metrics.volumeMounts | indent 8 }}
137-
{{- end }}
138-
resources: {{- toYaml .Values.clickhouse.metrics.resources | nindent 8 }}
139-
{{- end }}
140-
{{- end }}
141130
{{- if .Values.clickhouse.nodeSelector }}
142131
nodeSelector:
143132
{{ toYaml .Values.clickhouse.nodeSelector | indent 8 }}

charts/clickhouse/templates/statefulset-clickhouse.yaml

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ spec:
7676
- -c
7777
- export SHARD=${HOSTNAME##*-} && /entrypoint.sh
7878
ports:
79+
{{- if .Values.clickhouse.metrics.enabled }}
80+
- name: metrics
81+
containerPort: {{ .Values.clickhouse.metrics.port }}
82+
protocol: TCP
83+
{{- end }}
7984
- name: http-port
8085
containerPort: {{ .Values.clickhouse.http_port | default "8123" }}
8186
- name: tcp-port
@@ -134,22 +139,6 @@ spec:
134139
securityContext:
135140
{{- toYaml . | nindent 10 }}
136141
{{- end }}
137-
{{- if .Values.clickhouse.metrics.enabled }}
138-
- name: prom-exporter
139-
image: "{{ .Values.clickhouse.metrics.image.registry }}/{{ .Values.clickhouse.metrics.image.repository }}:{{ .Values.clickhouse.metrics.image.tag }}"
140-
imagePullPolicy: {{ .Values.clickhouse.metrics.image.pullPolicy | quote }}
141-
ports:
142-
- name: metrics
143-
containerPort: {{ .Values.clickhouse.metrics.image.port }}
144-
protocol: TCP
145-
{{- if .Values.clickhouse.metrics.volumeMounts }}
146-
volumeMounts:
147-
{{ toYaml .Values.clickhouse.metrics.volumeMounts | indent 8 }}
148-
{{- end }}
149-
{{- if .Values.clickhouse.metrics.resources }}
150-
resources: {{- toYaml .Values.clickhouse.metrics.resources | nindent 10 }}
151-
{{- end }}
152-
{{- end }}
153142
{{- if .Values.clickhouse.nodeSelector }}
154143
nodeSelector:
155144
{{ toYaml .Values.clickhouse.nodeSelector | indent 8 }}

charts/clickhouse/templates/svc-clickhouse-metrics.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ spec:
1919
loadBalancerIP: {{ .Values.clickhouse.metrics.service.loadBalancerIP }}
2020
{{- end }}
2121
ports:
22-
- port: {{ .Values.clickhouse.metrics.image.port }}
22+
- port: {{ .Values.clickhouse.metrics.port }}
2323
targetPort: metrics
2424
name: metrics
2525
selector:

charts/clickhouse/templates/svc-clickhouse-replica-metrics.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ spec:
2020
loadBalancerIP: {{ .Values.clickhouse.metrics.service.loadBalancerIP }}
2121
{{- end }}
2222
ports:
23-
- port: {{ .Values.clickhouse.metrics.image.port }}
23+
- port: {{ .Values.clickhouse.metrics.port }}
2424
targetPort: metrics
2525
name: metrics
2626
selector:

charts/clickhouse/values.yaml

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -63,26 +63,13 @@ clickhouse:
6363
## Prometheus Exporter / Metrics
6464
##
6565
metrics:
66-
enabled: false
67-
image:
68-
registry: docker.io
69-
repository: f1yegor/clickhouse-exporter
70-
tag: latest
71-
pullPolicy: IfNotPresent
72-
port: 9116
73-
74-
## Metrics exporter resource requests and limits
75-
# resources: {}
76-
77-
## Additional Volumes
78-
# volumes: []
79-
# volumeMounts: []
66+
enabled: true
67+
port: 9116
8068

8169
## Metrics exporter pod Annotation and Labels
8270
podAnnotations:
8371
prometheus.io/scrape: "true"
8472
prometheus.io/port: "9116"
85-
podLabels: {}
8673

8774
## Enable this if you're using https://github.com/coreos/prometheus-operator
8875
serviceMonitor:
@@ -103,7 +90,6 @@ clickhouse:
10390
namespace: ""
10491
rules: []
10592

106-
10793
service:
10894
type: ClusterIP
10995
## Use serviceLoadBalancerIP to request a specific static IP,

0 commit comments

Comments
 (0)