Skip to main content

Node Agent Configuration

The node agent reads its configuration from environment variables, which you set through nodeAgent.env in your values file.

Some of these have a dedicated chart value and are easier to set that way: nodeAgent.scrapeInterval, nodeAgent.apiKey, nodeAgent.tracesEndpoint, nodeAgent.logsEndpoint, nodeAgent.metricsEndpoint, nodeAgent.profilesEndpoint. The chart also passes --cgroupfs-root /host/sys/fs/cgroup as a command-line flag, which wins over CGROUPFS_ROOT, so leave that one alone.


Network and listening

FlagDescriptionDefault
LISTENAddress the agent listens on (ip:port or :port)0.0.0.0:80
CGROUPFS_ROOTPath to cgroup filesystem mount/sys/fs/cgroup
EPHEMERAL_PORT_RANGESkip tracking these TCP port ranges32768-60999
TRACK_PUBLIC_NETWORKWhitelisted public IP networks to track0.0.0.0/0

Metrics and logs

FlagDescriptionDefault
DISABLE_LOG_PARSINGDisable container log parsingfalse
DISABLE_L7_TRACINGDisable Layer 7 (application-level) tracingfalse
DISABLE_PINGERDisable upstream pingingtrue
LOG_PER_SECONDMax number of logs processed per second10.0
LOG_BURSTMax log burst capacity (tokens)100
MAX_LABEL_LENGTHMaximum length for any metric label value4096
EXCLUDE_HTTP_REQUESTS_BY_PATHSkip HTTP metrics by path (comma-separated)(none)

Redaction

FlagDescriptionDefault
SANITIZE_HEADERSEnable header sanitizationtrue
SENSITIVE_HEADERSList of sensitive header names to sanitize (comma-separated)Authorization, Cookie, X-Action-Token
DISABLE_SENSITIVE_LOG_PARSINGStop parsing log lines that look like they carry secretstrue

Cloud labels

These enrich the node_cloud_info metric:

FlagDescription
PROVIDERCloud provider name
REGIONCloud region
AVAILABILITY_ZONEAvailability zone
ACCOUNT_IDCloud account ID
INSTANCE_TYPEInstance type
INSTANCE_LIFE_CYCLEInstance lifecycle (spot/on-demand)

Endpoints

FlagDescription
COLLECTOR_ENDPOINTBase endpoint for all telemetry
API_KEYAPI key for the endpoints above. Set it with nodeAgent.apiKey.
METRICS_ENDPOINTSpecific metrics push endpoint
TRACES_ENDPOINTSpecific traces push endpoint
LOGS_ENDPOINTSpecific logs push endpoint
PROFILES_ENDPOINTSpecific profiles push endpoint
INSECURE_SKIP_VERIFYSkip TLS verification (not recommended)

Scraping and storage

FlagDescriptionDefault
SCRAPE_INTERVALHow often to gather metrics15s
WAL_DIRWhere to store Write-Ahead Logs/tmp/coroot-node-agent

Other flags

FlagDescriptionDefault
RESOLVE_DNSEnable DNS resolutionfalse
IGNORE_CONTROL_PLANEIgnore these control plane componentskarpenter,loki,prometheus,grafana,kubelet,etcd,apiserver,victoria,nudgebee-agent,kube-system
TRACE_ID_HEADERSHeaders to extract trace IDsTraceparent,X-Request-Id

Applying configuration

Here’s an example values.yaml with common flags explicitly set:

Do not change LISTEN

The DaemonSet declares container port 80 and the PodMonitor scrapes the port named http, which is that one. Moving the listener to another port leaves Prometheus scraping a port nothing is bound to, and network metrics go quiet with no error.

nodeAgent:
env:
- name: DISABLE_LOG_PARSING
value: "true"
- name: LOG_PER_SECOND
value: "20"
- name: SANITIZE_HEADERS
value: "true"
- name: SENSITIVE_HEADERS
value: "Authorization,Proxy-Authorization,Cookie,X-Auth-Token"
- name: PROVIDER
value: "aws"
- name: REGION
value: "us-east-1"
- name: ACCOUNT_ID
value: "123456789"
- name: SCRAPE_INTERVAL
value: "30s"

To apply these settings, run:

helm upgrade --install nudgebee-agent nudgebee-agent/nudgebee-agent \
--namespace nudgebee-agent --create-namespace \
-f values.yaml