使用nsenter 解决tcpcollect容器网络捕捉问题

属于一个实际的问题,因为mysql 基于容器运行,但是需要实时追踪mysql 的执行情况,tcpcollect 是一个特别好的选择

一些问题

因为容器隔离的特性造成我们捕捉的流量会有问题,无法完整的捕捉mysql 的请求

解决方法

此时我们可以直接基于nsenter 直接挂载容器网络namespace,然后捕捉就很简单了,可以直接使用tcpcollect 的命令了

参考命令

sudo nsenter --target <containerpid>  --uts --ipc --net --pid

一个参考案例

因为需要开发dremio 集成dorisdb ,但是发现了sql 语法问题,此时我们也可以利用tcpcollect解决
参考实例
./mysqlpcap -p 9030

 

 


 

 

参考资料

https://man7.org/linux/man-pages/man1/nsenter.1.html
https://github.com/nicolaka/netshoot
https://github.com/hoterran/tcpcollect

posted on 2021-08-14 10:01  荣锋亮  阅读(82)  评论(0编辑  收藏  举报

导航