Nobody Is Listening on Port 8125
2 days ago
- 用一套基于eBPF程序的yeet脚本替换statsd_exporter,在内核级别捕获StatsD数据报,无需监听套接字。
- eBPF程序监控所有接口上的端口8125,将有效载荷复制到环形缓冲区,并返回TCX_NEXT以避免丢弃或重写数据包。
- 收集器作为SharedWorker运行,附带一个JavaScript解码器,将行解析为Prometheus族,而指标通过独立的抓取端点提供,且该端点无网络访问。
- Prometheus抓取一个连接到工作线程并输出文本格式的脚本,整个过程无需脚本绑定端口或使用多个导出器。
- 这种方法在源头统计指标,无需YAML配置即可处理标签和映射,并通过单个eBPF探针集成Redis、memcached和Graphite等其他协议。