docker容器网络抓包,排查网络丢包问题

可能出现的异常消息

  • upstream connect error or disconnect/reset before headers. reset reason: connection termination
  • grpc-status 14
  • http 503

分析

主要体现为调用接口时,出现偶发性网络错误,不易定位

开始网络排查

  1. 安装nsenter工具
    yum -y install util-linux.x86_64

  2. docker inspect -f {{.State.Pid}} 容器id,找到容器的进程pid
    docker inspect -f {{.State.Pid}} 1bb54b9fb8a4

  3. 执行 nsenter --target 容器pid -n 进入到容器的网络名称空间
    nsenter --target 32277 -n

  4. 通过tcpdump -i eth0 -s 0 -w /var/tmp/1.cap 抓包
    tcpdump -i eth0 -s 0 -w /var/tmp/1.cap

  5. 使用Wireshark工具分析

事后可能分析

  • http2 长连接自动关闭
  • grpc 长连接自动关闭

解决方案

  • 调试长连接参数
  • 关闭长连接

你可能感兴趣的:(docker,记坑日志,网络,网络丢包,docker网络,http长连接,grpc,503,envoy代理)