Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 18 additions & 6 deletions charts/nr-ebpf-agent/templates/nr-ebpf-agent-daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ spec:
value: "{{ .Values.logLevel }}"
- name: NEW_RELIC_LOG_FILE_PATH
value: "{{ .Values.logFilePath }}"
{{- if .Values.entityLabels }}
- name: NEW_RELIC_LABELS
value: "{{- $labels := list -}}{{- range $key, $value := .Values.entityLabels -}}{{- $labels = append $labels (printf "%s:%s" $key $value) -}}{{- end -}}{{ join ";" $labels }}"
{{- end }}
- name: NEW_RELIC_LICENSE_KEY
valueFrom:
secretKeyRef:
Expand Down Expand Up @@ -133,10 +137,10 @@ spec:
value: {{ .Release.Namespace }}
- name: AGENT_SERVICE_NAME
value: {{ include "nr-ebpf-agent.service.name" . }}
- name: APM_DATA_REPORTING
value: "{{ if hasKey .Values "apmDataReporting" }}{{ .Values.apmDataReporting }}{{ else }}true{{ end }}"
- name: NETWORK_METRICS_REPORTING
value: "{{ if hasKey .Values "networkMetricsReporting" }}{{ .Values.networkMetricsReporting }}{{ else if hasKey .Values "tcpStatsReporting" }}{{ .Values.tcpStatsReporting }}{{ else }}true{{ end }}"
- name: REPORT_APM_DATA
value: "{{ .Values.reportApmData }}"
- name: REPORT_NETWORK_METRICS
value: "{{ .Values.reportNetworkMetrics }}"
- name: LOG_REPORTING
value: "{{ if hasKey .Values "logReporting" }}{{ .Values.logReporting }}{{ else }}false{{ end }}"
# ALL Data filtering configuration
Expand All @@ -145,14 +149,20 @@ spec:
value: "{{ if hasKey .Values.allDataFilters "dropNewRelicBundle" }}{{ .Values.allDataFilters.dropNewRelicBundle }}{{ else }}true{{ end }}"
- name: DROP_ALL_DATA_FOR_NAMESPACES
value: "{{ .Values.allDataFilters.dropNamespaces | join "," }}"
- name: KEEP_ALL_DATA_FOR_NAMESPACES
value: "{{ .Values.allDataFilters.keepNamespaces | join "," }}"
- name: DROP_ALL_DATA_FOR_POD_LABELS
value: "{{ range $key, $value := .Values.allDataFilters.dropPodLabels }}{{ $key }}={{ $value }},{{ end }}"
- name: KEEP_ALL_DATA_FOR_POD_LABELS
value: "{{ range $key, $value := .Values.allDataFilters.keepPodLabels }}{{ $key }}={{ $value }},{{ end }}"
- name: DROP_ALL_DATA_FOR_SERVICE_NAME_REGEX
value: {{ .Values.allDataFilters.dropServiceNameRegex }}
- name: KEEP_ALL_DATA_FOR_SERVICE_NAME_REGEX
value: {{ .Values.allDataFilters.keepServiceNameRegex }}
- name: DROP_ALL_DATA_FOR_APM_AGENT_ENABLED_ENTITY
value: "{{ if hasKey .Values.allDataFilters "dropApmAgentEnabledEntity" }}{{ .Values.allDataFilters.dropApmAgentEnabledEntity }}{{ else }}false{{ end }}"
{{- end }}

# APM data filtering configuration
{{- if .Values.apmDataFilters }}
- name: DROP_APM_DATA_FOR_APM_AGENT_ENABLED_ENTITY
Expand Down Expand Up @@ -201,6 +211,8 @@ spec:
# If you are using an older configuration file with a newer Helm chart version, these settings will still work.
# However, please update your configuration to use the new filtering mechanisms.
# These variables will be removed in a future release.
- name: APM_DATA_REPORTING
value: "{{ if hasKey .Values "apmDataReporting" }}{{ .Values.apmDataReporting }}{{ else }}true{{ end }}"
- name: TCP_STATS_REPORTING
value: "{{ if hasKey .Values "networkMetricsReporting" }}{{ .Values.networkMetricsReporting }}{{ else if hasKey .Values "tcpStatsReporting" }}{{ .Values.tcpStatsReporting }}{{ else }}true{{ end }}"
- name: DROP_DATA_NEW_RELIC
Expand Down Expand Up @@ -256,4 +268,4 @@ spec:
{{- with include "nrEbpfAgent.ebpfAgent.tolerations" . }}
tolerations:
{{- . | nindent 8 }}
{{- end }}
{{- end }}
32 changes: 25 additions & 7 deletions charts/nr-ebpf-agent/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,24 @@ logLevel: "INFO"
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
apmDataReporting: true
# -- Enable network metrics reporting. When enabled, the agent collects and reports network metrics including TCP statistics
# RENAMED from 'tcpStatsReporting' for clarity. The old name is deprecated but still supported for backward compatibility.
networkMetricsReporting: true
# -- 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:
Expand All @@ -33,6 +43,14 @@ allDataFilters:
# -- 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: ""
Expand All @@ -46,8 +64,6 @@ allDataFilters:
# -- APM data filters configuration
# Configure filters to drop ebpf APM data based on config provided
apmDataFilters:
# -- Drop eBPF APM data for applications/entities that have NewRelic APM/OTel agents running
dropEapmForApmEnabledEntity: true
# -- Pod labels to match for filtering APM data. Empty map means no label-based filtering
# Example: dropPodLabels: { "app": "frontend", "env": "production" }
dropPodLabels: {}
Expand Down Expand Up @@ -104,6 +120,8 @@ 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:
Expand Down
Loading