DirectorySecurity AdvisoriesPricing
Sign in
Directory
prometheus-elasticsearch-exporter logoHELM

prometheus-elasticsearch-exporter

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart versions
Default values
Chart metadata
Images

Tag:

1
## Global settings for all charts in a tree of dependent charts
2
## This allows to set the same values for the imagePullSecrets, obviating the need
3
## to set the same values for each chart (and image) separately
4
global:
5
## Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
6
## imagePullSecrets:
7
## - name: pullSecret1
8
## - name: pullSecret2
9
##
10
## or
11
##
12
## imagePullSecrets:
13
## - pullSecret1
14
## - pullSecret2
15
##
16
## or a templated value
17
##
18
## imagePullSecrets:
19
## - "{{ .Values.templateValue }}"
20
## templateValue: test
21
imagePullSecrets: []
22
imageRegistry: ""
23
# -- Override the namespace
24
namespaceOverride: ""
25
## number of exporter instances
26
##
27
replicaCount: 1
28
## Number of old replicasets to retain ##
29
## The default value is 10, 0 will garbage-collect old replicasets ##
30
revisionHistoryLimit: 10
31
## restart policy for all containers
32
##
33
restartPolicy: Always
34
image:
35
registry: cgr.dev
36
repository: chainguard-private/prometheus-elasticsearch-exporter
37
# if not set appVersion field from Chart.yaml is used
38
tag: latest@sha256:6b68cd204eb74299b70201cecb2d6c1b93a9de0d824787d4ae1bcac1021ccd3f
39
pullPolicy: IfNotPresent
40
pullSecret: ""
41
podSecurityContext:
42
runAsNonRoot: true
43
runAsUser: 1000
44
seccompProfile:
45
type: "RuntimeDefault"
46
securityContext:
47
allowPrivilegeEscalation: false
48
capabilities:
49
drop:
50
- ALL
51
readOnlyRootFilesystem: true
52
# Custom DNS configuration to be added to prometheus-elasticsearch-exporter pods
53
dnsConfig: {}
54
# nameservers:
55
# - 1.2.3.4
56
# searches:
57
# - ns1.svc.cluster-domain.example
58
# - my.dns.search.suffix
59
# options:
60
# - name: ndots
61
# value: "2"
62
# - name: edns0
63
64
log:
65
format: logfmt
66
level: info
67
resources: {}
68
# requests:
69
# cpu: 100m
70
# memory: 128Mi
71
# limits:
72
# cpu: 100m
73
# memory: 128Mi
74
75
livenessProbe:
76
httpGet:
77
path: /healthz
78
port: http
79
initialDelaySeconds: 5
80
timeoutSeconds: 5
81
periodSeconds: 5
82
readinessProbe:
83
httpGet:
84
path: /healthz
85
port: http
86
initialDelaySeconds: 1
87
timeoutSeconds: 5
88
periodSeconds: 5
89
# Example of a more complex liveness probe:
90
# livenessProbe:
91
# exec:
92
# command:
93
# - /bin/sh
94
# - -c
95
# - |
96
# #!/bin/sh
97
# # 1. Check if the exporter itself is alive
98
# if ! wget -qO- http://localhost:9108/healthz > /dev/null; then
99
# exit 1
100
# fi
101
#
102
# # 2. Check if the credentials are still valid by hitting ES directly
103
# AUTH=$(printf "%s:%s" "$ES_USERNAME" "$ES_PASSWORD" | base64 | tr -d '\n')
104
# ES_URI="http://elasticsearch-es-http.elastic-stack.svc:9200"
105
# if ! wget --spider --quiet --header "Authorization: Basic $AUTH" "$ES_URI"; then
106
# exit 1
107
# fi
108
# initialDelaySeconds: 60
109
# periodSeconds: 60
110
# timeoutSeconds: 10
111
# failureThreshold: 3
112
priorityClassName: ""
113
nodeSelector: {}
114
tolerations: []
115
podAnnotations: {}
116
podLabels: {}
117
## Labels to attach to all resources
118
commonLabels: {}
119
affinity: {}
120
## Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in.
121
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
122
topologySpreadConstraints: []
123
# - maxSkew: 1
124
# topologyKey: failure-domain.beta.kubernetes.io/zone
125
# whenUnsatisfiable: DoNotSchedule
126
# labelSelector:
127
# matchLabels:
128
# app.kubernetes.io/instance: prometheus-elasticsearch-exporter
129
130
initContainers: []
131
service:
132
enabled: true
133
type: ClusterIP
134
httpPort: 9108
135
metricsPort:
136
name: http
137
annotations: {}
138
labels: {}
139
deployment:
140
annotations: {}
141
labels: {}
142
metricsPort:
143
name: http
144
## Extra environment variables that will be passed into the exporter pod
145
## example:
146
## env:
147
## KEY_1: value1
148
## KEY_2: value2
149
env: {}
150
## Extra arguments to pass to the container's executable
151
## example:
152
# extraArgs:
153
# - --es.indices_mappings
154
extraArgs: []
155
# Extra manifests to deploy as an array
156
extraManifests: []
157
# - |
158
# apiVersion: v1
159
# kind: ConfigMap
160
# metadata:
161
# name: prometheus-elasticsearch-exporter-extra
162
# data:
163
# extra-data: "value"
164
165
## The name of a secret in the same kubernetes namespace which contain values to be added to the environment
166
## This can be useful for auth tokens, etc
167
envFromSecret: ""
168
## A list of environment variables from secret refs that will be passed into the exporter pod
169
## example:
170
## This will set ${ES_PASSWORD} to the 'password' key from the 'my-secret' secret
171
## extraEnvSecrets:
172
## ES_PASSWORD:
173
## secret: my-secret
174
## key: password
175
extraEnvSecrets: {}
176
# A list of secrets and their paths to mount inside the pod
177
# This is useful for mounting certificates for security
178
secretMounts: []
179
# - name: elastic-certs
180
# secretName: elastic-certs
181
# path: /ssl
182
183
# A list of additional Volume to add to the deployment
184
# this is useful if the volume you need is not a secret (csi volume etc.)
185
extraVolumes: []
186
# - name: csi-volume
187
# csi:
188
# driver: secrets-store.csi.k8s.io
189
# readOnly: true
190
# volumeAttributes:
191
# secretProviderClass: my-spc
192
193
# A list of additional VolumeMounts to add to the deployment
194
# this is useful for mounting any other needed resource into
195
# the elasticsearch-exporter pod
196
extraVolumeMounts: []
197
# - name: csi-volume
198
# mountPath: /csi/volume
199
# readOnly: true
200
201
es:
202
## Address (host and port) of the Elasticsearch node we should connect to.
203
## This could be a local node (localhost:9200, for instance), or the address
204
## of a remote Elasticsearch server. When basic auth is needed,
205
## specify as: <proto>://<user>:<password>@<host>:<port>. e.g., http://admin:pass@localhost:9200.
206
##
207
uri: http://localhost:9200
208
## If true, query stats for all nodes in the cluster, rather than just the
209
## node we connect to.
210
##
211
all: true
212
## If true, query stats for all indices in the cluster.
213
##
214
indices: true
215
## If true, query settings stats for all indices in the cluster.
216
##
217
indices_settings: true
218
## If true, query mapping stats for all indices in the cluster.
219
##
220
indices_mappings: true
221
## If true, query stats for aliases.
222
##
223
aliases: false
224
## If true, query stats for shards in the cluster.
225
##
226
shards: true
227
## If true, query stats for snapshots in the cluster.
228
##
229
snapshots: true
230
## If true, query stats for cluster settings.
231
##
232
cluster_settings: false
233
## If true, query stats for SLM snapshots.
234
##
235
slm: false
236
## If true, query stats for data streams.
237
##
238
data_stream: false
239
## If true, query stats for Index Lifecycle Management.
240
##
241
ilm: false
242
## Timeout for trying to get stats from Elasticsearch. (ex: 20s)
243
##
244
timeout: 30s
245
## Skip SSL verification when connecting to Elasticsearch
246
## (only available if image.tag >= 1.0.4rc1)
247
##
248
sslSkipVerify: false
249
ssl:
250
## If true, a secure connection to ES cluster is used
251
##
252
enabled: false
253
## If true, certs from secretMounts will be need to be referenced instead of certs below
254
##
255
useExistingSecrets: false
256
ca:
257
## PEM that contains trusted CAs used for setting up secure Elasticsearch connection
258
##
259
# pem:
260
261
# Path of ca pem file which should match a secretMount path
262
path: /ssl/ca.pem
263
client:
264
## if true, client SSL certificate is used for authentication
265
##
266
enabled: true
267
## PEM that contains the client cert to connect to Elasticsearch.
268
##
269
# pem:
270
271
# Path of client pem file which should match a secretMount path
272
pemPath: /ssl/client.pem
273
## Private key for client auth when connecting to Elasticsearch
274
##
275
# key:
276
277
# Path of client key file which should match a secretMount path
278
keyPath: /ssl/client.key
279
web:
280
## Path under which to expose metrics.
281
##
282
path: /metrics
283
serviceMonitor:
284
## If true, a ServiceMonitor CRD is created for a prometheus operator
285
## https://github.com/coreos/prometheus-operator
286
##
287
enabled: false
288
apiVersion: "monitoring.coreos.com/v1"
289
namespace: ""
290
labels: {}
291
# release: kube-prometheus-stack
292
interval: 10s
293
jobLabel: ""
294
scrapeTimeout: 10s
295
scheme: http
296
relabelings: []
297
targetLabels: []
298
metricRelabelings: []
299
sampleLimit: 0
300
podMonitor:
301
## If true, a PodMonitor CRD is created for a Prometheus Operator
302
## https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.PodMonitor
303
##
304
enabled: false
305
apiVersion: "monitoring.coreos.com/v1"
306
namespace: ""
307
labels: {}
308
interval: 60s
309
scrapeTimeout: 10s
310
honorLabels: true
311
scheme: http
312
relabelings: []
313
metricRelabelings: []
314
prometheusRule:
315
## If true, a PrometheusRule CRD is created for a prometheus operator
316
## https://github.com/coreos/prometheus-operator
317
##
318
## The rules will be processed as Helm template, allowing to set variables in them.
319
enabled: false
320
namespace: ""
321
labels: {}
322
rules: []
323
# - record: elasticsearch_filesystem_data_used_percent
324
# expr: |
325
# 100 * (elasticsearch_filesystem_data_size_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}"} - elasticsearch_filesystem_data_free_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}"})
326
# / elasticsearch_filesystem_data_size_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}"}
327
# - record: elasticsearch_filesystem_data_free_percent
328
# expr: 100 - elasticsearch_filesystem_data_used_percent{service="{{ template "elasticsearch-exporter.fullname" . }}"}
329
# - alert: ElasticsearchTooFewNodesRunning
330
# expr: elasticsearch_cluster_health_number_of_nodes{service="{{ template "elasticsearch-exporter.fullname" . }}"} < 3
331
# for: 5m
332
# labels:
333
# severity: critical
334
# annotations:
335
# description: There are only {{ "{{ $value }}" }} < 3 ElasticSearch nodes running
336
# summary: ElasticSearch running on less than 3 nodes
337
# - alert: ElasticsearchHeapTooHigh
338
# expr: |
339
# elasticsearch_jvm_memory_used_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}", area="heap"} / elasticsearch_jvm_memory_max_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}", area="heap"}
340
# > 0.9
341
# for: 15m
342
# labels:
343
# severity: critical
344
# annotations:
345
# description: The heap usage is over 90% for 15m
346
# summary: ElasticSearch node {{ "{{ $labels.node }}" }} heap usage is high
347
# Create a service account
348
# To use a service account not handled by the chart, set the name here
349
# and set create to false
350
serviceAccount:
351
create: false
352
name: default
353
automountServiceAccountToken: true
354
annotations: {}
355

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.