-
Notifications
You must be signed in to change notification settings - Fork 237
Expand file tree
/
Copy pathvalues.yaml
More file actions
251 lines (241 loc) · 11.9 KB
/
values.yaml
File metadata and controls
251 lines (241 loc) · 11.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
---
# -- Name of the Kubernetes cluster to be monitored. Mandatory. Can be configured with `global.cluster`
cluster: ""
# -- The license key to use. Can be configured with `global.licenseKey`
licenseKey: ""
# -- In case you don't want to have the license key in your values, this allows you to point to a user created secret to get the key from there. Can be configured also with `global.customSecretName`
customSecretName: ""
# -- In case you don't want to have the license key in your values, this allows you to point to which secret key is the license key located. Can be configured also with `global.customSecretLicenseKey`
customSecretLicenseKey: ""
# -- If using a customSecretLicenseKey, you must supply your region "US"/"EU". Otherwise, leave this value as an empty string.
region: ""
# -- To configure the log level in increasing order of verboseness.
# -- OFF, FATAL, ERROR, WARNING, INFO, DEBUG
logLevel: "INFO"
# -- To configure log file path of eBPF Agent. If logging to this path fails, logs will be directed to stdout.
logFilePath: ""
# -- The primary lever to control RAM use of the eBPF agent. Specified in MiB.
tableStoreDataLimitMB: "250"
# -- Enable APM data reporting. When enabled, the agent collects and reports application performance monitoring data. Controls APM data reporting. Accepted values: 'true' (always send), 'false' (never send), 'auto' (send only when neither APM nor OTel agent is attached)
reportApmData: "auto"
# -- Enable network metrics reporting. When enabled, the agent collects and reports network metrics including TCP statistics. Controls network metrics reporting. Accepted values: 'true' (always send), 'false' (never send) and 'auto'
reportNetworkMetrics: "auto"
# -- Enable log reporting. When enabled, the agent collects and reports logs.
logReporting: false
# -- Custom labels to be added to all entities reported by the eBPF agent.
# These labels are sent as the NEW_RELIC_LABELS environment variable in the format "key1:value1;key2:value2".
# Example:
# entityLabels:
# datacenter: "us-east-1"
# cluster: "prod-cluster"
# environment: "production"
entityLabels: {}
# -- All data drop filters configuration
# Configure filters to drop all types of data (Network Metrics and APM data) based on config provided
allDataFilters:
# -- Drop data from the newrelic namespace and newrelic-bundle services.
# RENAMED from 'dropDataNewRelic' for clarity. The old name is deprecated but still supported for backward compatibility.
dropNewRelicBundle: true
# -- List of Kubernetes namespaces for which all data should be dropped by the agent.
# RENAMED from 'dropDataForNamespaces' for clarity. The old name is deprecated but still supported for backward compatibility.
dropNamespaces: ["kube-system"]
# -- List of Kubernetes namespaces for which all data should be sent by the agent.
keepNamespaces: []
# -- Pod labels to match for filtering all data. Empty map means no label-based filtering
# Example: dropPodLabels: { "app": "frontend", "env": "production" }
dropPodLabels: {}
# -- Pod labels to match for keeping all data. Empty map means no label-based filtering
# Example: keepPodLabels: { "app": "frontend", "env": "production" }
keepPodLabels: {}
# -- Define a regex to match k8s service names to drop. Example "kube-dns|otel-collector|\\bblah\\b"
# RENAMED from 'dropServiceNameRegex' for clarity. The old name is deprecated but still supported for backward compatibility.
dropServiceNameRegex: ""
# -- This config acts as a bypass for the dropServiceNameRegex config.
# Service names that match this regex will not have their data dropped by the dropServiceNameRegex.
# RENAMED from 'allowServiceNameRegex' for clarity. The old name is deprecated but still supported for backward compatibility.
keepServiceNameRegex: ""
# -- Drop all data for applications/entities that have NewRelic/OTEL APM agents running
dropApmAgentEnabledEntity: false
# -- APM data filters configuration
# Configure filters to drop ebpf APM data based on config provided
apmDataFilters:
# -- Pod labels to match for filtering APM data. Empty map means no label-based filtering
# Example: dropPodLabels: { "app": "frontend", "env": "production" }
dropPodLabels: {}
# -- List of entity names to drop ebpf APM data for
dropEntityName: []
# -- List of entity names to always keep APM data. By default all entities are kept/enabled
# -- This config bypasses dropEntityName filter.
keepEntityName: []
# -- Enable JVM metrics reporting. When enabled, the agent collects and reports JVM metrics for Java applications
jvmMetricsReporting: true
# -- Network metrics Data filter / TCP stats filters
# Configure filters to drop/keep Network metrics data based on config provided
networkMetricsDataFilter:
# -- Pod labels to match for filtering Network metrics data. Empty map means no label-based filtering
# Example: dropPodLabels: { "app": "frontend", "env": "production" }
dropPodLabels: {}
# -- List of entity names to drop Network metrics data for
dropEntityName: []
# -- List of entity names to always keep Network metrics data. By default all entities are kept/enabled
# -- This config bypasses dropEntityName filter.
keepEntityName: []
# -- Log data filters configuration
# Configure filters to drop/keep log data based on the config provided
logDataFilters:
# -- Application/entity log reporting filters
applicationLogReporting:
# -- Enable log reporting for entity monitored by eBPF Agent
enabled: false
# -- Regex to match log file path to include for entity log reporting
fileRegex: ".*.log$"
# -- Maximum number of log samples to collect per minute from an entity.
# The internal maxSamplesStored is calculated proportionally based on the harvest cycle (5 seconds):
# maxSamplesStored = maxSamplesPerMinute / (60 / 5) = maxSamplesPerMinute / 12
# For the default value of 10000, this results in ~833 samples stored per harvest cycle.
# Once this limit is reached, events are sampled to maintain an even distribution across the harvest cycle.
maxSamplesPerMinute: 10000
# -- The eBPF agent collects and reports STDOUT/STDERR STREAM logs to New Relic for entities that match this regex.
# The entities are identified by their "NEW_RELIC_APP_NAME" (if provided) or their Kubernetes service name.
# To forward logs for all entities, use the regex .*
keepStdStreamEntityRegex: ".*"
# -- The eBPF agent collects and reports FILE logs to New Relic for entities that match this regex.
# The entities are identified by their "NEW_RELIC_APP_NAME" (if provided) or their Kubernetes service name.
# To forward logs for all entities, use the regex .*
keepFileEntityRegex: ".*"
# The protocols to enable for tracing in the socket_tracer. There is an ability to configure span export if it is enabled.
# Each protocol has the flexibility to selectively enable the type of OTLP data to export.
# Metrics are sent by default when a protocol is enabled and it supports metrics. Note: AMQP, Kafka, DNS do not report metrics.
# samplingLatency represents the sampling latency threshold for the spans to export.
# Options: p1, p10, p50, p90, p99.
protocols:
global:
# Controls maximum unlinked spans reported per protocol. Set to 0 to disable limit
max_unlinked_spans: "100"
# Reserves a configurable percentage of the unlinked span quota for error spans, ensuring error visibility even when normal spans arrive first.
unlinked_spans_error_quota_percentage: "30"
http:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
# -- samplingErrorRate represents the error rate threshold for an HTTP route where surpassing it would mean the corresponds spans of the route are exported.
# Options: 1-100
samplingErrorRate: ""
thrift:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
samplingErrorRate: ""
mysql:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
pgsql:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
cass:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
redis:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
mongodb:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
kafka:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
amqp:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
dns:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
dynamodb:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
mssql:
enabled: true
spans:
enabled: true
samplingLatency: "p50"
# Configuration to apply on the eBPF agent daemonset.
ebpfAgent:
image:
# -- eBPF agent image to be deployed.
repository: docker.io/newrelic/newrelic-ebpf-agent
# -- The pull policy is defaulted to IfNotPresent, which skips pulling an image if it already exists. If pullPolicy is defined without a specific value, it is also set to Always.
pullPolicy: IfNotPresent
# -- The tag of the eBPF agent image to be deployed. If empty, uses Chart.AppVersion.
tag: ""
resources:
limits:
# -- Max memory allocated to the container.
memory: 2Gi
requests:
# -- Min CPU allocated to the container.
cpu: 100m
# -- Min memory allocated to the container.
memory: 250Mi
serviceAccount:
annotations: {}
# -- Sets ebpfAgent pod tolerations. Overrides `tolerations` and `global.tolerations`
tolerations: []
# -- Sets ebpfAgent pod affinities. Overrides `affinity` and `global.affinity`
affinity: {}
# -- Sets ebpfAgent pod Annotations. Overrides `podAnnotations` and `global.podAnnotations`
podAnnotations: {}
# -- Sets ebpfAgent pod podSecurityContext. Overrides `podSecurityContext` and `global.securityContext.pod`
podSecurityContext: {}
# -- Sets ebpfAgent pod containerSecurityContext. Overrides `containerSecurityContext` and `global.securityContext.container`
containerSecurityContext: {}
# Sets the absolute path of the complete directory where the required linux headers are manually downloaded and placed for the eBPF agent to use.
# This is useful under restricted environments where agent is not able to download required linux headers. The required headers are identified by the agent based on the kernel version.
# The absolute path in case of K8s should also be prepended with /host when necessary.
# ---- USE ONLY AFTER NEW RELIC SUPPORT RECOMMENDATION. ----
downloadedPackagedHeadersPath: ""
# Sets the absolute path of the complete directory where the linux headers are present for the eBPF agent to use.
# This is useful where required linux headers could not be installed or path could not be determined. The absolute path in case of K8s should also be prepended with /host when necessary.
# ---- USE ONLY AFTER NEW RELIC SUPPORT RECOMMENDATION. ----
distroKernelHeadersPath: ""
# -- The secrets that are needed to pull images from a custom registry.
pullSecrets: []
# -- Additional labels for chart pods.
podLabels: {}
# -- Additional labels for chart objects.
labels: {}
# -- Sets pod's priorityClassName. Can be configured also with `global.priorityClassName`
priorityClassName: ""
# -- Sets pod's dnsConfig. Can be configured also with `global.dnsConfig`
dnsConfig: {}
# -- Sets all pods' node selector. Can be configured also with `global.nodeSelector`
nodeSelector: {}
# -- Sets all pods' tolerations to node taints. Can be configured also with `global.tolerations`
tolerations: []
# -- Sets all pods' affinities. Can be configured also with `global.affinity`
affinity: {}
# -- Sets all pods' podSecurityContext. Can be configured also with `global.securityContext.pod`
podSecurityContext: {}
# -- Sets all pods' containerSecurityContext. Can be configured also with `global.securityContext.container`
containerSecurityContext: {}
# -- Kubernetes cluster domain.
kubernetesClusterDomain: cluster.local