메트릭 API를 사용하여 시계열 메트릭을 가져올 수 있습니다.

이러한 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: 연결 제한으로 인한 초당 평균 삭제율

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

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

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

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

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

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

다음 API를 사용하여 리소스 유형에 대해 지원되는 메트릭 키를 가져옵니다. API는 resource_type 쿼리 매개 변수로 사용하고 해당 리소스에 사용할 수 있는 모든 메트릭을 나열합니다. 이 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":[
        {
            "metric_key ":"edge.cpu_usage",
            "metric_unit":"PERCENT",
            "description":"Edge Cpu usage percentage"
        },
     {
            "metric_key":"edge.pnic_avg_rx_packets",
            "metric_unit":"PER_SECOND"
            "description":"Average Rx packets per second"
        }
  ]
}

}

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
                                }
                           }
                    ]
                }
            ]
        }