通过 NSX API,您可以监控主机传输节点统计信息的时间点值和实时值。

系统使用 esx-obsrv-stats-monitor 监控 ESXi 主机传输节点的运行状况。

按主机传输节点收集统计信息。不会在每个主机集群级别汇总统计信息的值。

系统会定期从每个主机传输节点收集主机传输节点统计信息的时间点值(默认为每隔 300 秒)并缓存这些值。从主机中获取上次更新的缓存值,并通过 API 返回。

出于调试目的,NSX 用户可以监控主机传输节点统计信息的实时值。系统从主机传输节点上运行的数据路径内核模块实时获取统计信息。

使用 NSX API,您可以查看主机传输节点的以下类型的统计信息:
  • 数据包统计信息 (packet_stats)
  • 快速路径系统统计信息 (fast_path_sys_stats)
  • 平台数据包统计信息 (platform_packet_stats)
  • 平台 CPU 使用情况统计信息 (platform_cpu_usage_stats)
  • 快速路径 lcore 使用情况统计信息 (fast_path_lcore_usage_stats)

在 API 响应中,根据从主机传输节点收集统计信息的数据路径模块来组织统计信息。有关统计信息的描述,请参阅NSX 主机传输节点统计信息

本文档中的过程介绍了用于监控主机传输节点统计信息的时间点值和实时值的 API 工作流。该过程中的步骤仅提及了 API URI。有关 API 架构、参数以及示例 API 响应或请求负载的详细信息,请参阅 NSX API 指南

要了解如何使用 NSX Central CLI 或 ESXi 主机 CLI 查看传输节点统计信息,请参阅 NSX 命令行界面参考

过程

  1. 运行以下 API 以查看 esx-obsrv-stats-monitor 中所有统计信息的描述:
    GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-stats-monitor
  2. 运行以下 API 以检索 esx-obsrv-stats-monitor 配置文件列表:
    GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-stats-monitor/profiles

    API 响应会显示此监控器的默认配置文件和用户定义的配置文件(如果已创建)。默认配置文件由系统创建,并应用于系统创建的默认组。默认组包含系统中的所有 ESXi 主机传输节点。默认情况下,默认配置文件在所有主机传输节点上都处于激活状态。

    要查看默认配置文件的配置,请运行以下 API:

    GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-stats-monitor/profiles/default-profile
  3. (可选) 运行以下 API 以编辑默认配置文件的配置:
    PATCH https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-stats-monitor/profiles/default-profile

    复制默认配置文件的 GET API 响应,并将其粘贴到文本编辑器中。编辑配置文件的配置值。最后,在此 PATCH API 的请求正文中提交编辑后的配置。

    示例场景:

    假设您要将用户定义的配置文件应用于一组特定的主机(如 A 和 B),而将默认配置文件应用于系统中其余的所有主机。在这种情况下,必须创建一个包含这两个主机传输节点(A 和 B)的自定义组。可以使用 NSX API 创建仅包含主机传输节点成员的组。UI 不支持此功能。创建所需的组后,请在用户定义的配置文件的 applied_to_group_paths 属性中使用此组。

    使用前面提到的相同 PATCH API 创建用户定义的配置文件。

    例如,以下 API 会创建 ID 为“profile-1”的用户定义的配置文件:

    PATCH https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-stats-monitor/profiles/profile-1

    如果此 API 成功,用户定义的配置文件 (profile-1) 将覆盖主机传输节点 A 和 B 上的默认配置文件。对于系统中的所有其余主机传输节点,将应用默认配置文件。

  4. (可选) 运行以下 API 以读取特定主机传输节点上的监控状态:
    GET https://<nsx-mgr>/policy/api/v1/infra/sha/monitors/esx-obsrv-stats-monitor/status?transport_node_id=<node-id>

    要获取主机传输节点的 node_id,请运行以下 API:

    GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes
  5. 运行以下 API 以查看特定节点的主机传输节点统计信息的时间点值:
    GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<host-tn-id>/statistics/monitor

    要获取主机传输节点的 node_id,请使用上一步中提到的相同 API。

    对于指定的主机传输节点,此 API 将返回运行状况监控统计信息的上次更新的缓存值。默认情况下,仅返回主机传输节点的数据包统计信息。

    如本节前面所述,API 可以返回主机传输节点的以下类型的运行状况监控统计信息:
    • 数据包统计信息 (packet_stats)。此类型是默认类型。
    • 快速路径系统统计信息 (fast_path_sys_stats)
    • 平台数据包统计信息 (platform_packet_stats)
    • 平台 CPU 使用情况统计信息 (platform_cpu_usage_stats)
    • 快速路径 lcore 使用情况统计信息 (fast_path_lcore_usage_stats)

    在 API URI 中省略 type 查询参数时,默认情况下,API 仅返回数据包统计信息。

    要查看特定类型的统计信息或同时查看多种类型的统计信息,请在 API URI 中使用 type 查询参数。

    示例 1:以下 API 将返回单一类型的主机传输节点统计信息的时间点值:
    GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<host-tn-id>/statistics/monitor?type=platform_cpu_usage_stats

    示例 2:以下 API 将同时返回多种类型的主机传输节点统计信息的时间点值:

    GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<host-tn-id>/statistics/monitor?type=platform_cpu_usage_stats,fast_path_sys_stats,platform_packet_stats

    确保以逗号分隔列表形式指定多种类型,并且逗号前后不留空格。

  6. 运行以下 API 以查看特定节点的传输节点运行状况统计信息的实时值:
    GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<host-tn-id>/statistics/debug

    如先前步骤 5 中所述,在 API URI 中省略 type 查询参数时,默认情况下,API 仅返回数据包统计信息。

    要查看特定类型的统计信息或同时查看多种类型的统计信息,请在 API URI 中使用 type 查询参数。

    示例 1:以下 API 将返回单个类型的主机传输节点统计信息的实时值:
    GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<host-tn-id>/statistics/debug?type=platform_cpu_usage_stats
    示例 2:以下 API 将同时返回多种类型的主机传输节点统计信息的实时值:
    GET https://<nsx-mgr>/policy/api/v1/infra/sites/default/enforcement-points/default/host-transport-nodes/<host-tn-id>/statistics/debug?type=platform_cpu_usage_stats,fast_path_sys_stats,platform_packet_stats