Closed novohool closed 2 months ago
If technically possible, it will be much appreciated. Hoping to have some comments also.
Unforunately, eBPF requires elevated privileges. By policy the node_exporter is intended to run without elevated privileges.
This is why separate exporters like the ebpf_exporter exist.
Prometheus is an agent-less monitoring system. This is intentional and for many good reasons. By having separate tools for separate tasks things like least privilege can be applied. It also allows for different release cycles for different components.
node_exporter
create a new project node_ebpf_exporter
You can consider creating a new project to support ebpf. Cloud vendors may consider the minimum permissions, but users may consider more powerful functions.
What's wrong with the existing cloudflare ebpf_exporter?
I personally don't see anything wrong. I just wanted to see it it is possible. For me using only one exporter keeps the things more easy and organised, but as you said in above comment, a cloudflare one should do the work.
What's wrong with the existing cloudflare ebpf_exporter?
As a maintainer, I am annoyed by the large number of exporters. Previously, a node deployed one type of exporter with 1,000 pods. Now there are seven or eight of this type, which means that I have to deploy 7,000 to 10,000 pods in a cluster to meet the functional requirements. This takes up a lot of resources. We need fewer exporters to do this.
I understand that you find it "annoying".
The entire Prometheus ecosystem is intentionally designed around multiple exporters for very good reasons.
Having few big / fat exporters / agents has a lot of unintended consequences and downsides.
I do not have time to explain the decades of combined experience that went into the Prometheus monitoring design here.
Feel free to debate this on the Prometheus community developers channels.
some ebpf agent: https://github.com/deepflowio/deepflow/tree/main/agent https://github.com/cloudflare/ebpf_exporter