Hasty Briefsbeta

双语

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等其他协议。