DirectorySecurity AdvisoriesPricing
Sign in
Directory
newrelic-prometheus-agent logoHELM

newrelic-prometheus-agent

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.

Chart versions
Default values
Chart metadata
Images

Tag:

1
# -- Override the name of the chart
2
nameOverride: ""
3
# -- Override the full name of the release
4
fullnameOverride: ""
5
# -- Name of the Kubernetes cluster monitored. Can be configured also with `global.cluster`.
6
# Note it will be set as an external label in prometheus configuration, it will have precedence over `config.common.external_labels.cluster_name`
7
# and `customAttributes.cluster_name``.
8
cluster: ""
9
# -- This set this license key to use. Can be configured also with `global.licenseKey`
10
licenseKey: ""
11
# -- In case you don't want to have the license key in you values, this allows you to point to a user created secret to get the key from there. Can be configured also with `global.customSecretName`
12
customSecretName: ""
13
# -- In case you don't want to have the license key in you values, this allows you to point to which secret key is the license key located. Can be configured also with `global.customSecretLicenseKey`
14
customSecretLicenseKey: ""
15
# -- Adds extra attributes to prometheus external labels. Can be configured also with `global.customAttributes`. Please note, values defined
16
# in `common.config.externar_labels` will have precedence over `customAttributes`.
17
customAttributes: {}
18
# Images used by the chart for prometheus and New Relic configurator.
19
# @default See `values.yaml`
20
images:
21
# -- The secrets that are needed to pull images from a custom registry.
22
pullSecrets: []
23
# -- Image for New Relic configurator.
24
# @default -- See `values.yaml`
25
configurator:
26
registry: chainreg.biz
27
repository: chainguard-private/newrelic-prometheus-configurator
28
pullPolicy: IfNotPresent
29
# @default It defaults to `annotation.configuratorVersion` in `Chart.yaml`.
30
tag: latest@sha256:3da58b17d2c9b0cef9f078fb1682daeffbab1753758b76b28224835ab8f08ad9
31
# -- Image for prometheus which is executed in agent mode.
32
# @default -- See `values.yaml`
33
prometheus:
34
registry: chainreg.biz
35
repository: chainguard-private/prometheus
36
pullPolicy: IfNotPresent
37
# @default It defaults to `appVersion` in `Chart.yaml`.
38
tag: latest@sha256:65566f4c02f472ac3cfd770e38564ba6a75b260a2d0aefcc91875edea87ddf72
39
# -- Volumes to mount in the containers
40
extraVolumes: []
41
# -- Defines where to mount volumes specified with `extraVolumes`
42
extraVolumeMounts: []
43
# -- Settings controlling ServiceAccount creation.
44
# @default -- See `values.yaml`
45
serviceAccount:
46
# -- Whether the chart should automatically create the ServiceAccount objects required to run.
47
create: true
48
annotations: {}
49
# If not set and create is true, a name is generated using the full name template
50
name: ""
51
# -- Additional labels for chart objects. Can be configured also with `global.labels`
52
labels: {}
53
# -- Annotations to be added to all pods created by the integration.
54
podAnnotations: {}
55
# -- Additional labels for chart pods. Can be configured also with `global.podLabels`
56
podLabels: {}
57
# -- Resource limits to be added to all pods created by the integration.
58
# @default -- `{}`
59
resources:
60
prometheus: {}
61
configurator: {}
62
# -- Sets pod's priorityClassName. Can be configured also with `global.priorityClassName`
63
priorityClassName: ""
64
# -- (bool) Sets pod's hostNetwork. Can be configured also with `global.hostNetwork`
65
# @default -- `false`
66
hostNetwork:
67
# -- Sets security context (at pod level). Can be configured also with `global.podSecurityContext`
68
podSecurityContext: {}
69
# -- Sets security context (at container level). Can be configured also with `global.containerSecurityContext`
70
containerSecurityContext: {}
71
# -- Sets pod's dnsConfig. Can be configured also with `global.dnsConfig`
72
dnsConfig: {}
73
# Settings controlling RBAC objects creation.
74
rbac:
75
# -- Whether the chart should automatically create the RBAC objects required to run.
76
create: true
77
# -- Whether the chart should create Pod Security Policy objects.
78
pspEnabled: false
79
# -- Sets pod/node affinities set almost globally. (See [Affinities and tolerations](README.md#affinities-and-tolerations))
80
affinity: {}
81
# -- Sets pod's node selector almost globally. (See [Affinities and tolerations](README.md#affinities-and-tolerations))
82
nodeSelector: {}
83
# -- Sets pod's tolerations to node taints almost globally. (See [Affinities and tolerations](README.md#affinities-and-tolerations))
84
tolerations: []
85
# -- (bool) Send the metrics to the staging backend. Requires a valid staging license key. Can be configured also with `global.nrStaging`
86
# @default -- `false`
87
nrStaging:
88
# -- (bool) Reduces the number of metrics sent in order to reduce costs. It can be configured also with `global.lowDataMode`.
89
# Specifically, it makes Prometheus stop reporting some Kubernetes cluster-specific metrics, you can see details in `static/lowdatamodedefaults.yaml`.
90
# @default -- false
91
lowDataMode:
92
# -- It holds the configuration for metric type override. If enabled, a series of metric relabel configs will be added to
93
# `config.newrelic_remote_write.extra_write_relabel_configs`, you can check the whole list in `static/metrictyperelabeldefaults.yaml`
94
metric_type_override:
95
enabled: true
96
# -- Set up Prometheus replicas to allow horizontal scalability.
97
# @default -- See `values.yaml`
98
sharding:
99
# -- Sets the number of Prometheus instances running on sharding mode.
100
# @default -- `1`
101
# total_shards_count:
102
103
# -- (bool) Sets the debug log to Prometheus and prometheus-configurator or all integrations if it is set globally. Can be configured also with `global.verboseLog`
104
# @default -- `false`
105
verboseLog:
106
# -- It holds the New Relic Prometheus configuration. Here you can easily set up Prometheus to get set metrics, discover
107
# ponds and endpoints Kubernetes and send metrics to New Relic using remote-write.
108
# @default -- See `values.yaml`
109
config:
110
# -- Include global configuration for Prometheus agent.
111
# @default -- See `values.yaml`
112
common:
113
# -- The labels to add to any timeseries that this Prometheus instance scrapes.
114
# @default -- `{}`
115
# external_labels:
116
# label_key_example: foo-bar
117
# -- How frequently to scrape targets by default, unless a different value is specified on the job.
118
scrape_interval: 30s
119
# -- The default timeout when scraping targets.
120
# @default -- `10s`
121
# scrape_timeout:
122
# -- (object) Newrelic remote-write configuration settings.
123
# @default -- See `values.yaml`
124
newrelic_remote_write:
125
# # -- Includes additional [relabel configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)
126
# # for the New Relic remote write.
127
# # @default -- `[]`
128
# extra_write_relabel_configs: []
129
130
# # Enable the extra_write_relabel_configs below for backwards compatibility with legacy POMI labels.
131
# # This helpful when migrating from POMI to ensure that Prometheus metrics will contain both labels (e.g. cluster_name and clusterName).
132
# # For more migration info, please visit the [migration guide](https://docs.newrelic.com/docs/infrastructure/prometheus-integrations/install-configure-prometheus-agent/migration-guide/).
133
# - source_labels: [namespace]
134
# action: replace
135
# target_label: namespaceName
136
# - source_labels: [node]
137
# action: replace
138
# target_label: nodeName
139
# - source_labels: [pod]
140
# action: replace
141
# target_label: podName
142
# - source_labels: [service]
143
# action: replace
144
# target_label: serviceName
145
# - source_labels: [cluster_name]
146
# action: replace
147
# target_label: clusterName
148
# - source_labels: [job]
149
# action: replace
150
# target_label: scrapedTargetKind
151
# - source_labels: [instance]
152
# action: replace
153
# target_label: scrapedTargetInstance
154
155
# -- Set up the proxy used to send metrics to New Relic.
156
# @default -- `""`
157
# proxy_url:
158
159
# -- Use proxy URL indicated by environment variables (HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxy, and no_proxy) can be configured via config.extraEnvs
160
# @default -- `""`
161
# proxy_from_environment:
162
163
# -- # Timeout for requests to the remote write endpoint.
164
# @default -- `30s`
165
# remote_timeout:
166
167
# -- Fine-tune remote-write behavior: <https://prometheus.io/docs/practices/remote_write/#remote-write-tuning>.
168
# queue_config:
169
# -- Remote Write shard capacity.
170
# @default -- `2500`
171
# capacity:
172
# -- Maximum number of shards.
173
# @default -- `200`
174
# max_shards:
175
# -- Minimum number of shards.
176
# @default -- `1`
177
# min_shards:
178
# -- Maximum number of samples per send.
179
# @default -- `500`
180
# max_samples_per_send:
181
# -- Maximum time a sample will wait in the buffer.
182
# @default -- `5s`
183
# batch_send_deadline:
184
# -- Initial retry delay. Gets doubled for every retry.
185
# @default -- `30ms`
186
# min_backoff:
187
# -- Maximum retry delay.
188
# @default -- `5s`
189
# max_backoff:
190
# -- Retry upon receiving a 429 status code from the remote-write storage.
191
# @default -- `false`
192
# retry_on_http_429:
193
# -- Maximum sample age before dropping.
194
# @default -- `0s`
195
# sample_age_limit:
196
197
# -- Retrieve proxy_url from a secret.
198
# If set will overwrite the proxy_url if set by newrelic_remote_write.proxy_url.
199
# Ensure secret to use exists before setting this to true.
200
# @default -- `false`
201
proxyFromSecret:
202
enabled: false
203
# -- The name of the secret containing the proxy URL.
204
name: ""
205
# -- The key in the secret containing the proxy URL.
206
key: ""
207
# -- (object) It includes additional remote-write configuration. Note this configuration is not parsed, so valid
208
# [prometheus remote_write configuration](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write)
209
# should be provided.
210
extra_remote_write:
211
# -- It allows defining scrape jobs for Kubernetes in a simple way.
212
# @default -- See `values.yaml`
213
kubernetes:
214
# NewRelic provides a list of Dashboards, alerts and entities for several Services. The integrations_filter configuration
215
# allows to scrape only the targets having this experience out of the box.
216
# If integrations_filter is enabled, then the jobs scrape merely the targets having one of the specified labels matching
217
# one of the values of app_values.
218
# Under the hood, a relabel_configs with 'action=keep' are generated, consider it in case any custom extra_relabel_config is needed.
219
integrations_filter:
220
# -- enabling the integration filters, merely the targets having one of the specified labels matching
221
# one of the values of app_values are scraped. Each job configuration can override this default.
222
enabled: true
223
# -- source_labels used to fetch label values in the relabel config added by the integration filters configuration
224
source_labels: ["app.kubernetes.io/name", "app.newrelic.io/name", "k8s-app"]
225
# -- app_values used to create the regex used in the relabel config added by the integration filters configuration.
226
# Note that a single regex will be created from this list, example: '.*(?i)(app1|app2|app3).*'
227
app_values: ["redis", "traefik", "calico", "nginx", "coredns", "kube-dns", "etcd", "cockroachdb", "velero", "harbor", "argocd"]
228
# Kubernetes jobs define [kubernetes_sd_configs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config)
229
# to discover and scrape Kubernetes objects. Besides, a set of relabel_configs are included in order to include some Kubernetes metadata as
230
# Labels. For example, address, metrics_path, URL scheme, prometheus_io_parameters, namespace, pod name, service name and labels are taken
231
# to set the corresponding labels.
232
# Please note, the relabeling allows configuring the pod/endpoints scrape using the following annotations:
233
# - `prometheus.io/scheme`: If the metrics endpoint is secured then you will need to set this to `https`
234
# - `prometheus.io/path`: If the metrics path is not `/metrics` override this.
235
# - `prometheus.io/port`: If the metrics are exposed on a different port to the service for service endpoints or to
236
# the default 9102 for pods.
237
# - `prometheus.io/param_<param-name>`: To include additional parameters in the scrape URL.
238
jobs:
239
# 'default' scrapes all targets having 'prometheus.io/scrape: true'.
240
# Out of the box, since kubernetes.integrations_filter.enabled=true then only targets selected by the integration filters are considered.
241
- job_name_prefix: default
242
fallback_scrape_protocol: "PrometheusText0.0.4"
243
target_discovery:
244
pod: true
245
endpoints: true
246
filter:
247
annotations:
248
prometheus.io/scrape: true
249
# -- integrations_filter configuration for this specific job. It overrides kubernetes.integrations_filter configuration
250
# integrations_filter:
251
- job_name_prefix: newrelic
252
# 'newrelic' scrapes all targets having 'newrelic.io/scrape: true'.
253
# This is useful to extend the targets scraped by the 'default' job allowlisting services leveraging `newrelic.io/scrape` annotation
254
255
fallback_scrape_protocol: "PrometheusText0.0.4"
256
integrations_filter:
257
enabled: false
258
target_discovery:
259
pod: true
260
endpoints: true
261
filter:
262
annotations:
263
newrelic.io/scrape: true
264
# -- Set up the job name prefix. The final Prometheus `job` name will be composed of <job_name_prefix> + the target discovery kind. ie: `default-pod`
265
# @default -- `""`
266
# - job_name_prefix:
267
# -- The target discovery field allows customizing how Kubernetes discovery works.
268
# target_discovery:
269
270
# -- Whether pods should be discovered.
271
# @default -- `false`
272
# pod:
273
274
# -- Whether endpoints should be discovered.
275
# @default -- `false`
276
# endpoints:
277
278
# -- Defines filtering criteria, it is possible to set labels and/or annotations. All filters will apply (defined
279
# filters are taken into account as an "AND operation").
280
# @default -- `{}`
281
# filter:
282
# -- Map of annotations that the targets should have. If only the annotation name is defined, the filter only checks if exists.
283
# @default -- `{}`
284
# annotations:
285
286
# -- Map of labels that the targets should have. If only the label name is defined, the filter only checks if exists.
287
# @default -- `{}`
288
# labels:
289
# -- Set up the proxy used to send metrics to New Relic.
290
# @default -- `""`
291
# proxy_url:
292
293
# -- Use proxy URL indicated by environment variables (HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxy, and no_proxy) can be configured via config.extraEnvs
294
# @default -- `""`
295
# proxy_from_environment:
296
297
# -- Advanced configs of the Kubernetes service discovery `kuberentes_sd_config` options,
298
# check [prometheus documentation](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config) for details.
299
# Notice that using `filter` is the recommended way to filter targets to avoid adding load to the API Server.
300
# additional_config:
301
# kubeconfig_file: ""
302
# namespaces: {}
303
# selectors: {}
304
# attach_metadata: {}
305
306
# -- The HTTP resource path on which to fetch metrics from targets.
307
# Use `prometheus.io/path` pod/service annotation to override this or modify it here.
308
# @default -- `/metrics`
309
# metrics_path:
310
311
# -- Optional HTTP URL parameters.
312
# Use `prometheus.io/param_<param-name>` pod/service annotation to include additional parameters in the scrape url or modify it here.
313
# @default -- `{}`
314
# params:
315
316
# -- Configures the protocol scheme used for requests.
317
# Annotate the service/pod with `prometheus.io/scheme=https` if the secured port is used or modify it here.
318
# @default -- `http`
319
# scheme:
320
321
# -- How frequently to scrape targets from this job.
322
# @default -- defined in `common.scrape_interval`
323
# scrape_interval:
324
325
# -- Per-scrape timeout when scraping this job.
326
# @default -- defined in `common.scrape_timeout`
327
# scrape_timeout:
328
329
# -- Configures the scrape request's TLS settings.
330
# @default -- `{}`
331
# tls_config:
332
# -- CA certificate file path to validate API server certificate with.
333
# @default -- `""`
334
# ca_file:
335
336
# -- Certificate and key files path for client cert authentication to the server.
337
# @default -- `""`
338
# cert_file:
339
# key_file:
340
341
# Disable validation of the server certificate.
342
# @default -- `false`
343
# insecure_skip_verify:
344
345
# -- Sets the `Authorization` Bearer token header on every scrape request
346
# @default -- `{}`
347
# authorization:
348
# Sets the credentials to the credentials read from the configured file.
349
# @default -- `""`
350
# credentials_file:
351
352
# -- Sets the `Authorization` header on every scrape request with the configured username and password.
353
# @default -- `{}`
354
# basic_auth:
355
# username:
356
# password_file:
357
358
# -- List of relabeling configurations. Used if needed to add any special filter or label manipulation before the scrape takes place.
359
# @default -- `[]`
360
# extra_relabel_config:
361
362
# -- List of metric relabel configurations. Used it to filter metrics and labels after scrape.
363
# @default -- `[]`
364
# extra_metric_relabel_config:
365
366
# -- It allows defining scrape jobs for targets with static URLs.
367
# @default -- See `values.yaml`.
368
static_targets:
369
# -- List of static target jobs. By default, it defines a job to get self-metrics. Please note, if you define `static_target.jobs` and would like to keep
370
# self-metrics you need to include a job like the one defined by default.
371
# @default -- See `values.yaml`.
372
jobs:
373
- job_name: self-metrics
374
skip_sharding: true # sharding is skipped to obtain self-metrics from all Prometheus servers.
375
targets:
376
- "localhost:9090"
377
extra_metric_relabel_config:
378
- source_labels: [__name__]
379
regex: "prometheus_agent_active_series|prometheus_target_interval_length_seconds|prometheus_target_scrape_pool_targets|prometheus_remote_storage_samples_pending|prometheus_remote_storage_samples_in_total|prometheus_remote_storage_samples_retried_total|prometheus_agent_corruptions_total|prometheus_remote_storage_shards|prometheus_sd_kubernetes_events_total|prometheus_agent_checkpoint_creations_failed_total|prometheus_agent_checkpoint_deletions_failed_total|prometheus_remote_storage_samples_dropped_total|prometheus_remote_storage_samples_failed_total|prometheus_sd_kubernetes_http_request_total|prometheus_agent_truncate_duration_seconds_sum|prometheus_build_info|process_resident_memory_bytes|process_virtual_memory_bytes|process_cpu_seconds_total|prometheus_remote_storage_bytes_total"
380
action: keep
381
# -- The job name assigned to scraped metrics by default.
382
# @default -- `""`.
383
# - job_name:
384
# -- List of target URLs to be scraped by this job.
385
# @default -- `[]`.
386
# targets:
387
388
# -- Labels assigned to all metrics scraped from the targets.
389
# @default -- `{}`.
390
# labels:
391
392
# -- The HTTP resource path on which to fetch metrics from targets.
393
# @default -- `/metrics`
394
# metrics_path:
395
396
# -- Optional HTTP URL parameters.
397
# @default -- `{}`
398
# params:
399
400
# -- Configures the protocol scheme used for requests.
401
# @default -- `http`
402
# scheme:
403
404
# -- How frequently to scrape targets from this job.
405
# @default -- defined in `common.scrape_interval`
406
# scrape_interval:
407
408
# -- Per-scrape timeout when scraping this job.
409
# @default -- defined in `common.scrape_timeout`
410
# scrape_timeout:
411
412
# -- Set up the proxy used to send metrics to New Relic.
413
# @default -- `""`
414
# proxy_url:
415
416
# -- Use proxy URL indicated by environment variables (HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxy, and no_proxy) can be configured via config.extraEnvs
417
# @default -- `""`
418
# proxy_from_environment:
419
420
# -- Configures the scrape request's TLS settings.
421
# @default -- `{}`
422
# tls_config:
423
# -- CA certificate file path to validate API server certificate with.
424
# @default -- `""`
425
# ca_file:
426
427
# -- Certificate and key files path for client cert authentication to the server.
428
# @default -- `""`
429
# cert_file:
430
# key_file:
431
432
# Disable validation of the server certificate.
433
# @default -- `false`
434
# insecure_skip_verify:
435
# -- Sets the `Authorization` Bearer token header on every scrape request
436
# @default -- `{}`
437
# authorization:
438
# Sets the credentials to the credentials read from the configured file.
439
# @default -- `""`
440
# credentials_file:
441
442
# -- Sets the `Authorization` header on every scrape request with the configured username and password.
443
# @default -- `{}`
444
# basic_auth:
445
# username:
446
# password_file:
447
448
# -- List of relabeling configurations. Used if needed to add any special filter or label manipulation before the scrape takes place.
449
# @default -- `[]`
450
# extra_relabel_config:
451
452
# -- List of metric relabel configurations. Used it to filter metrics and labels after scrape.
453
# @default -- `[]`
454
# extra_metric_relabel_config:
455
456
# If configuring environment variables from configmaps or secrets, ensure the configmap or secret exists before enabling this
457
# extraEnvs:
458
# - name: HTTPS_PROXY
459
# value: "http://example.com" # Direct value
460
# - name: HTTPS_PROXY
461
# valueFrom:
462
# configMapKeyRef:
463
# name: my-configmap
464
# key: proxy
465
# - name: HTTPS_PROXY
466
# valueFrom:
467
# secretKeyRef:
468
# name: my-secret
469
# key: proxy
470
471
# -- It is possible to include extra scrape configuration in [prometheus format](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config).
472
# Please note, it should be a valid Prometheus configuration which will not be parsed by the chart.
473
# WARNING extra_scrape_configs is a raw Prometheus config. Therefore, the metrics collected thanks to it will not have by default the metadata (pod_name, service_name, ...) added by the configurator for the static or kubernetes jobs.
474
# This configuration should be used as a workaround whenever kubernetes and static job do not cover a particular use-case.
475
# @default -- `[]`
476
extra_scrape_configs: []
477

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.