kubeskoop
kubeskoop copied to clipboard
tcpsummary实现方案讨论
- 在代码中,tcpsummary是通过读取/proc/net/tcp[6]的方式获取。
- 但是在你们官方公众号文章中写的是:
tcpsummary 探针通过与内核进行 netlink 消息 (SOCK_DIAG_BY_FAMILY) 的通信,获取到 Pod 内的所有 TCP 连接信息,并聚合 TCP 连接状态和发送/接受队列状态产生指标。该探针需要聚合所有连接信息得到最终统计结果,因此在连接较多的高并发场景下,可能会带来较大的开销。 开销:中 适用场景:偶发延迟、连接失败等场景下提供 TCP 连接的状态信息 常见问题:用户态进程hang住,接收队列堆积导致的丢包
实现与描述对不上, 根据我们实际使用,直接读取/proc/net/tcp存在性能问题,并且会影响其他进程。
链接: [1] https://mp.weixin.qq.com/s/qoEUAdwtZVVIZJtI_XTBpA
您好,感谢您对KubeSkoop项目的支持! 我最近会看一下这部分实现,切换到使用netlink的方案,感谢!