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