了解如何使用 PacketCapture 实用程序诊断网络连接问题,例如连接速度缓慢、数据包丢失和连接问题
PacketCapture 是一个轻量级 tcpdump 实用程序,它仅捕获和存储诊断网络问题所需的最小数据量。PacketCapture 已集成在
ESXi 和
vCenter Server 的 rhttpproxy 服务中。通过编辑 rhttpproxy 服务 XML 配置文件启动和停止 PacketCapture。
注: 对于 ESXi 8.0 及更低版本,启用网络数据包捕获的过程是通过编辑 rhttpproxy 服务 XML 配置文件。从 ESXi 8.0 Update 1 及更高版本开始,反向代理配置已从 XML 文件移至 configstore 数据库。要启用,请使用 configstorecli 捕获网络数据包,请参见
https://kb.vmware.com/s/article/89489。
过程
- 开始捕获数据包。
- 打开 SSH 连接并登录到 ESXi 主机或 vCenter Server。
- 打开 config.xml 文件进行编辑。
vSphere 组件 |
文件位置 |
ESXi |
/etc/vmware/rhttpproxy/config.xml |
vCenter Server |
/etc/vmware-rhttpproxy/config.xml |
- 进行以下更改。
<config>
<packetCapture>
<enabled>true</enabled>
- (可选) 配置 PacketCapture 选项。
选项和默认值 |
描述 |
<validity>72</validity> |
启动时删除在指定时数之前最后修改且不属于当前进程的所有 pcap 和 pcap.gz 文件。 |
<directory>/directory_path</directory> |
存储 pcap 和 pcap.gz 文件的目录。该目录必须存在且可供访问。 |
<maxDataInPcapFile>52428800</maxDataInPcapFile> |
每个 pcap 和 pcap.gz 文件在滚动到下一个文件之前可以存储的捕获数据量(以字节为单位)。vCenter Server 上的最小大小为 5 MB,ESXi 上为 2.5 MB。
注: 将 50 MB 的捕获数据存储在
pcap 文件中需要约 67.5 MB 的
pcap 文件。
|
<maxPcapFilesCount>5</maxPcapFilesCount> |
pcap 或 pcap.gz 文件轮换数。最小数值为 2。 |
- 保存并关闭 config.xml 文件。
- 通过运行以下命令重新加载 config.xml 文件。
kill -SIGHUP `pidof rhttpproxy`
- 停止捕获数据包。
- 打开 SSH 连接并登录到 ESXi 主机或 vCenter Server。
- 打开 config.xml 文件进行编辑。
- 进行以下更改。
<config>
<packetCapture>
<enabled>false</enabled>
- 保存并关闭 config.xml 文件。
- 通过运行以下命令重新加载 config.xml 文件。
kill -SIGHUP `pidof rhttpproxy`
- 收集捕获的数据。
pcap 或
pcap.gz 文件存储在以下默认目录中。
vSphere 组件 |
文件位置 |
ESXi |
/var/run/log |
vCenter Server |
/var/log/vmware/rhttpproxy |
下一步做什么
将 pcap 和 pcap.gz 文件复制到运行网络分析器工具(如 Wireshark)的系统中,并检查数据包详细信息。
在分析从 ESXi 主机捕获的 pcap 和 pcap.gz 之前,请使用 TraceWrangler 实用程序来修复帧大小元数据。有关详细信息,请参见 https://kb.vmware.com/kb/52843。