메트릭 API를 사용하여 시계열 메트릭을 가져올 수 있습니다. NSX 4.1.1부터 메트릭 API를 사용하여 Edge 및 전송 노드 등의 다른 엔티티의 상태를 가져올 수도 있습니다.

이러한 API는 Edge 또는 게이트웨이와 같은 특정 리소스 유형에 대한 입력으로 여러 의도 경로를 사용하고 해당 메트릭을 반환할 수 있습니다. 시계열 메트릭 API를 호출하는 방법에 대한 자세한 내용은 "NSX Intelligence 및 NSX Application Platform API 가이드" 를 참조하십시오.

다음 목록에는 메트릭 API와 관련된 용어와 해당 설명이 포함되어 있습니다.

용어 설명
리소스 유형 메트릭을 사용할 수 있는 Edge 노드 또는 게이트웨이와 같은 모든 엔티티입니다.
리소스 ID 리소스 유형의 의도 경로 또는 식별자입니다.
개체 특정 리소스 유형의 하위 엔티티입니다. 예를 들어 규칙 집합 내의 방화벽 규칙입니다.

리소스의 메트릭에 할당된 고유한 키입니다.

다음 키는 Edge 노드 및 NSX Manager에 사용할 수 있는 메트릭 키의 예입니다.

  • Disk.avg_used_percent: 전체에 대한 사용 중인 블록의 비율입니다.
  • system.avg_load: 지난 1분 동안의 평균 시스템 로드입니다.
  • system.avg_mem_available_percent: 총 메모리 대비 사용 가능한 메모리 비율입니다.
다음 키는 게이트웨이 방화벽에 사용할 수 있는 메트릭 키의 예입니다.
  • edge_fw.avg_drop_reason_alg: 애플리케이션 계층 게이트웨이로 인한 방화벽 삭제의 평균 속도
  • edge_fw.avg_drop_reason_connection_limit: 연결 제한으로 인한 초당 평균 삭제율
다음 키는 상태 키로 사용할 수 있습니다.
  • cluster.overall_status

  • cluster.group_status(노드의 그룹별 상태)

  • cluster.group_member_status(그룹의 노드별 상태)

  • tn.admin_status

  • tn.link_status
  • tn.ccp_connection_status_from_tn

다음 API를 사용하여 필요한 리소스의 키를 가져올 수 있습니다.

GET https://<manager>/napp/api/v1/metrics/key-info?resource_type=<resource_type>

다음 단계를 수행하여 필요한 리소스에 대한 메트릭을 가져옵니다. 예제에 사용되는 메트릭 키는 샘플 용도로만 사용됩니다. 적절한 API를 사용하여 실제 키와 설명을 가져옵니다.

1단계: 시계열 메트릭을 가져올 리소스 유형을 선택합니다.

Edge 노드 및 게이트웨이에 대한 시계열 메트릭을 가져올 수 있습니다. 다음 목록에서 리소스 유형을 선택합니다.
  • PolicyEdgeNode
  • ClusterNode
  • Tier0Interface
  • Tier1Interface
  • Tier0
  • Tier1
  • PolicyBasedIPSecVpnSession
  • RouteBasedIPSecVpnSession

2단계: 리소스 유형에 대해 메트릭 키 및 해당 정보 가져오기

다음 API를 사용하여 리소스 유형에 대해 지원되는 키를 가져옵니다. API는 resource_type 쿼리 매개 변수로 사용하고 해당 리소스에 사용할 수 있는 모든 키를 나열합니다. 응답의 value_type 필드는 키가 메트릭 키인지 또는 상태 키인지를 지정합니다. 이 필드의 값이 'Double'이면 키는 메트릭 키이고 값이 'string'이면 키는 상태 키입니다. 메트릭 키의 경우 이 API는 각 메트릭에 대한 설명 및 단위도 제공합니다.

URI 경로:

GET https://<manager>/napp/api/v1/metrics/key-info?resource_type=<resource_type>

예:

GET https://<manager>/napp/api/v1/metrics/key-info?resource_type=PolicyEdgeNode

응답:

{
  "results":[
        {
            "aggregate_by_resource_ids" : false,
            "key ":"edge.cpu_usage",
            "metric_unit":"PERCENT",
            "description":"Edge Cpu usage percentage"
            "value_type": "DOUBLE"
        },
     {
            "aggregate_by_resource_ids" : false,
            "key":"edge.pnic_avg_rx_packets",
            "metric_unit":"PER_SECOND"
            "description":"Average Rx packets per second"
            "value_type": "DOUBLE"
        }
  ]
}

}

3단계: 리소스 및 키에 대한 개체 정보 가져오기

다음 API를 사용하여 필요한 리소스 유형에 대한 키의 개체 정보를 가져옵니다.

URI 경로:

POST https://<manager>/napp/api/v1/metrics/object-info

요청 예:

{
    "resource_type":"PolicyEdgeNode",
    "resource_ids": [
        "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7",
        "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/1349af04-21c9-11e9-be65-000c2902d0000"
    ],
    "keys": [ "edge_cores.cpu_usage", "edge.pnic_avg_rx_packets"],
    "start_time":1603971420
    "end_time": 1603973420
    "granularity": "5M",
    "max_num_data_points": 10
}

응답 예:

{
    "start_time": 1603971420,
    "end_time": 1603973420,
    "resource_type": "PolicyEdgeNode",
  
    "results": [
        {
            "resource_id": "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7",
            "key_results": [
                {
                    "key": "edge.pnic_avg_rx_packets",
                    "unit": "PER_SECOND",
                },
                {
                    "key": "edge_core.cpu_usage",
                     
                    "results": [
                        {
                            "object_id": "core1",
                            "node_id": "2ed9af04-21c9-11e9-be65-000c2902dff7",
                            "node_path": "/infra/default/edge/1",
                             node_name": "Edge1",
                            
                        },
                        {
                            "object_id": "core2",
                            "node_id": "2ed9af04-21c9-11e9-be65-000c2902dff7",
                            "node_path": "/infra/default/edge/1",
                            "node_name": "Edge1",
                        }
                    ]
                }
            ]
        },
        {
            "resource_id": "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/1349af04-21c9-11e9-be65-000c2902d0000",
            "key_results": [
                {
                    "key": "edge.pnic_avg_rx_packets",
                    "unit": "PER_SECOND",
                    "description": "Average packet per second (PPS) network utilization on ingress on the the management interface(s)",
                    
                }
            ]
        }
    ]
}

4단계: 데이터 가져오기

다음 API를 사용하여 데이터를 가져옵니다.

URI 경로:

POST https://<manager>/napp/api/v1/metrics/data 

요청 예:

{
    "resource_type":"PolicyEdgeNode",
    "resource_ids": [
        "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7",
        "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/1349af04-21c9-11e9-be65-000c2902d0000"
    ],
    "object_ids": ["core1" ,"core2"],
    "node_ids": [],
    "keys": [ "edge_cores.cpu_usage", "edge.pnic_avg_rx_packets"],
    "start_time":1603971420
    "end_time": 1603973420
    "granularity": "5M",
    "max_num_data_points": 10
}

응답 예:

{
    "start_time": 1603971420,  --> output start_time and end_time maybe different from input start_time and end_time
    "end_time": 1603973420,
    "resource_type": "PolicyEdgeNode",
  
    "results": [
        {
            "path": "/infra/sites/default/enforcement-points/default/edge-clusters/57d2c653-4d63-48d8-b188-40b4e45a9bc8/edge-nodes/2ed9af04-21c9-11e9-be65-000c2902dff7",
            "key_results": [
                {

                {
                    "key": "edge_core.cpu_usage",
                     
                    "results": [
                        {
                            "object_id": "core1",
                            "node_id": "2ed9af04-21c9-11e9-be65-000c2902dff7",
                            "data": [
                            {
                                "time": 1603444589,
                                "value": 29
                            },
                            {
                                "time": 1603444489,
                                "value": 30
                            },
                            {
                                "time": 1603444389,
                                "value": 35
                            }
                        },
                          {
                            "object_id": "core2",
                            "object_description": "Some description",
                            "node_id": "2ed9af04-21c9-11e9-be65-000c2902dff7",
                            "node_name": "Edge1",
                            "node_path":"/infra/default/edge/1"
                            "data": [
                                {
                                    "time": 1603444589,
                                    "value": 29
                                },
                                {
                                    "time": 1603444489,
                                    "value": 30
                                },
                                {
                                    "time": 1603444389,
                                    "value": 35
                                }
                           }
                    ]
                }
            ]
        }