使用 PacketCapture 公用程式診斷網路問題,例如連線緩慢、遺失封包,以及連線問題

PacketCapture 是輕量型 tcpdump 公用程式,僅擷取和儲存診斷網路問題所需的最少資料量。PacketCapture 整合在 ESXi 和 vCenter Server Appliance 的 rhttpproxy 服務中。可透過編輯 rhttpproxy 服務 XML 組態檔來啟動和停止 PacketCapture。

程序

  1. 開始擷取封包。
    1. 開啟 SSH 連線並登入 ESXi 主機或 vCenter Server Appliance
    2. 開啟 config.xml 檔案進行編輯。
      vSphere 元件 檔案位置
      ESXi /etc/vmware/rhttpproxy/config.xml
      vCenter Server Appliance /etc/vmware-rhttpproxy/config.xml
    3. 進行下列變更。
      <config>
        <packetCapture>
          <enabled>true</enabled>
    4. (選擇性) 設定 PacketCapture 選項。
      選項和預設值 說明
      <validity>72</validity> 啟動時,刪除上次在指定時段之前修改並且不是目前程序一部分的所有 pcappcap.gz 檔案。
      <directory>/directory_path</directory> 儲存 pcappcap.gz 檔案所在的目錄。目錄必須存在且可供存取。
      <maxDataInPcapFile>52428800</maxDataInPcapFile> 在輪到下一個檔案之前,每個 pcappcap.gz 檔案所能儲存的擷取資料量 (以位元組為單位)。vCenter Server Appliance 上的大小下限為 5 MB,ESXi 上的大小下限為 2.5 MB。
      備註: 若要以 pcap 格式儲存 50 MB 的擷取資料,則 pcap 檔案大小約達 67.5 MB。
      <maxPcapFilesCount>5</maxPcapFilesCount> 要輪替的 pcappcap.gz 檔案的數目。數目下限為 2。
    5. 儲存並關閉 config.xml 檔案。
    6. 透過執行下列命令重新載入 config.xml 檔案。
      kill -SIGHUP `pidof rhttpproxy`
  2. 停止擷取封包。
    1. 開啟 SSH 連線並登入 ESXi 主機或 vCenter Server Appliance
    2. 開啟 config.xml 檔案進行編輯。
    3. 進行下列變更。
      <config>
        <packetCapture>
          <enabled>false</enabled>
    4. 儲存並關閉 config.xml 檔案。
    5. 透過執行下列命令重新載入 config.xml 檔案。
      kill -SIGHUP `pidof rhttpproxy`
  3. 收集擷取的資料。
    pcappcap.gz 檔案會儲存在下列預設目錄中。
    vSphere 元件 檔案位置
    ESXi /var/run/log
    vCenter Server Appliance /var/log/vmware/rhttpproxy

下一步

pcappcap.gz 檔案複製到執行網路分析器工具 (例如 Wireshark) 的系統,並檢查封包詳細資料。

分析從 ESXi 主機擷取的 pcappcap.gz 之前,請使用 TraceWrangler 公用程式修正框架大小中繼資料。如需詳細資訊,請參閱 https://kb.vmware.com/kb/52843