Hasty Briefsbeta

Bilingual

Nobody Is Listening on Port 8125

2 days ago
  • Replacing the statsd_exporter with a yeet script that uses an eBPF program to capture StatsD datagrams at the kernel level, eliminating the need for a listening socket.
  • The eBPF program watches port 8125 on all interfaces, copies the payload to a ring buffer, and returns TCX_NEXT to avoid dropping or rewriting packets.
  • The collector runs as a SharedWorker with a JavaScript decoder that parses lines into Prometheus families, while metrics are served via a separate scrape endpoint with no network access.
  • Prometheus scrapes a script that connects to the worker and outputs text format, all without the script ever binding a port or requiring multiple exporters.
  • This approach counts metrics at the source, handles tags and mappings without YAML config, and integrates with other protocols like Redis, memcached, and Graphite using a single eBPF probe.