Edge Delta Kubernetes Metrics Source
Scrape Kubernetes metrics.
3 minute read
You can use the Kubernetes Kubernetes Service Map source node and the Kubernetes Metrics source node in a pipeline to ingest Kubernetes metrics, including metrics via eBPF. All Kubernetes metric families are scraped by default. These metrics can be processed and sent to destinations that support metric data.
These source nodes also enable a number of features within Edge Delta, including but not limited to:
For a complete list of Kubernetes metrics ingested by the Edge Delta agent, see the metrics list.
To ingest Kubernetes metrics, you need to prepare your cluster:
kube_state_metrics
only. kubelet
, cadvisor
, and node_exporter
metrics are excluded by default, but you can remove them from the exclude
list to enable collection.Edge Delta’s eBPF support is currently limited to Kubernetes environments. Although eBPF is a Linux kernel feature, Edge Delta’s implementation relies on Kubernetes metadata for context enrichment—such as pod name, namespace, and labels. Without this metadata (as in bare-metal or Docker-only environments), eBPF traces offer limited observability value.
To enable eBPF in Kubernetes, ensure the following:
tracerProps.enabled=true
when deploying the Edge Delta agent using Helm.eBPF support is not available for standalone Linux or Docker environments.
To support the collection of Kubernetes metrics using eBPF, your environment must meet the following requirements:
CONFIG_DEBUG_INFO_BTF=y
and CONFIG_DEBUG_INFO_BTF_MODULES=y
To verify kernel support:
docker run -it --rm --privileged --pid=host ubuntu nsenter -t 1 -m -u -n -i sh -c 'cat /proc/config.gz | gunzip | grep CONFIG_DEBUG_INFO_BTF'
You should see both flags listed as y
.
For local testing on Minikube, ensure Docker is version 26.0.0 or later (Docker Desktop v4.29.0) and start Minikube with:
minikube start --driver docker
If you want to disable eBPF:
Using Helm
helm upgrade ... --set tracerProps.enabled=false
Using Kubectl
The kubectl installation method is deprecated. Use Helm instead.
If still using a manifest, update and re-apply with:
ED_ENABLE_TRAFFIC_TRACER = "0"
Scrape Kubernetes metrics.
Monitor Kubernetes pods and namespaces.