系统运行状况代理 (SHA) 框架提供的监控器可以转储主机传输节点统计信息,并可以选择将指定持续时间内的分段统计信息转储到文件,这些文件保存在 ESXi 主机传输节点上。此功能称为文件转储。

当前仅 NSX API 支持此功能。它主要面向有兴趣研究主机传输节点相关统计信息历史趋势并深入探讨统计信息以调试数据路径问题的高级 NSX 用户或工程师。

文件转储功能使用以下两个监控器将统计信息转储到文件:

  • esx-obsrv-tn-stats-file-dump-monitor:此监控器将 ESXi 主机传输节点统计信息转储到文件。
  • esx-obsrv-segment-stats-file-dump-monitor:此监控器将分段统计信息转储到文件。

    系统只会将覆盖网络分段的统计信息转储到文件。VLAN 分段当前不支持文件转储功能。

ESXi 主机传输节点上,这些文件保存在 /var/run/log/nsx-obsrv-stats-filedump/

转储到文件的数据采用原始格式。系统当前不提供 UI 来使用和分析 NSX Manager 中的原始数据。

您可以从主机下载原始文件,并与 VMware 技术支持团队共享以进行分析。原始文件位于主机传输节点上的以下位置:

/var/run/log/nsx-obsrv-stats-filedump/

创建支持包收集请求时,还会将原始文件保存在 NSX 支持包中。

以下过程介绍了使用文件转储功能的 API 工作流。

过程

  1. 要将主机传输节点统计信息转储到文件,请执行以下步骤。
    1. 运行以下 API 以查看 esx-obsrv-tn-stats-file-dump-monitor 的默认配置文件的配置:
      GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-tn-stats-file-dump-monitor/profiles/default-profile
    2. 复制上一步的 GET API 响应,并将其粘贴到文本编辑器中。编辑默认配置文件中的以下属性:
      • check_interval
      • enable
      • disable_after
      • file_dump_backup_count_dp_tn_stats

      要了解有关这些配置属性的更多信息,请转到NSX API 指南中的以下 API 文档:

      /policy/api/v1/infra/sha/monitors/<monitor-id>/profiles/<monitor-profile-id>

      展开 ShaMonitorProfile 架构。在类型列中,单击 ShaEsxObsrvTnStatsFileDumpMonitorConfig 以查看属性描述。

    3. 将更新后的配置文件配置粘贴到以下 API 的请求正文中:
      PATCH https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-tn-stats-file-dump-monitor/profiles/default-profile

      此 API 成功后,将为系统中的所有主机传输节点激活文件转储功能。

    4. 要验证 esx-obsrv-tn-stats-file-dump-monitor 的配置文件是否已在特定主机传输节点上生效,请运行以下 API:
      GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-tn-stats-file-dump-monitor/status?transport_node_id=<node-id>

      此 API 的输出显示在主机传输节点上有效的监控器配置文件,以及该配置文件的详细配置。

      此 API 要求您在 API URI 中指定 node_id。要获取主机传输节点的 node_id,请运行以下 API:

      GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes
  2. 要将特定分段的统计信息转储到文件,请执行以下步骤。
    1. esx-obsrv-stats-management 监控器配置文件中的 enable_esx_datapath_per_segment_stats 属性设置为 true。

      此操作将激活从系统中的主机传输节点收集分段统计信息的功能。

      要了解有关激活分段统计信息收集的更多信息,请参见使用 API 监控 NSX 分段统计信息中的必备条件一节。

    2. 确定要将其统计信息转储到文件的覆盖网络分段的 VNI。

      您可以使用其中任一方法来确定分段的 VNI。

      方法 1:使用 API

      运行以下 API:

      GET https://<nsx-mgr>/policy/api/v1/infra/realized-state/realized-entities?intent_path=/infra/segments/<segment-id>

      在此 API URI 中,将 segment-id 替换为要确定其 VNI 的覆盖网络分段的 ID 值。

      方法 2:使用 NSX Manager UI

      导航到网络 > 分段 > NSX。展开覆盖网络分段的详细信息,然后展开其他设置部分。

      记下覆盖网络 ID (VNI) 字段旁边的值。

    3. 运行以下 API 以查看 esx-obsrv-segment-stats-file-dump-monitor 的默认配置文件的配置:
      GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-segment-stats-file-dump-monitor/profiles/default-profile
    4. 复制上一步的 GET API 响应,并将其粘贴到文本编辑器中。编辑默认配置文件中的以下属性:
      • check_interval
      • enable
      • segment_list
      • disable_after
      • file_dump_backup_count_dp_segment_stats

      要了解有关这些配置属性的更多信息,请转到NSX API 指南中的以下 API 文档:

      /policy/api/v1/infra/sha/monitors/<monitor-id>/profiles/<monitor-profile-id>

      展开 ShaMonitorProfile 架构。在类型列中,单击 ShaEsxObsrvSegmentStatsFileDumpMonitorConfig 以查看属性描述。

    5. 将更新后的配置文件配置粘贴到以下 API 的请求正文中:
      PATCH https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-segment-stats-file-dump-monitor/profiles/default-profile

      此 API 成功后,将为指定的分段激活文件转储功能。分段统计信息将转储到在主机传输节点上保存的文件。

    6. 要验证 esx-obsrv-segment-stats-file-dump-monitor 的配置文件是否已在特定主机传输节点上生效,请运行以下 API:
      GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-segment-stats-file-dump-monitor/status?transport_node_id=<node-id>

      此 API 的输出显示在主机传输节点上有效的监控器配置文件,以及该配置文件的详细配置。

      此 API 要求您在 API URI 中指定 node_id。要获取主机传输节点的 node_id,请运行以下 API:

      GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes

下一步做什么

通常,只有在调试数据路径问题时,才需要分段统计信息。收集分段统计信息是一项资源密集型活动。因此,在调试完成后,请记得在 esx-obsrv-stats-management 监控器的配置文件中停用分段统计信息收集。