메트릭 API를 사용하여 시계열 메트릭을 가져올 수 있습니다. NSX 4.1.1부터 메트릭 API를 사용하여 Edge 및 전송 노드 등의 다른 엔티티의 상태를 가져올 수도 있습니다.
이러한 API는 Edge 또는 게이트웨이와 같은 특정 리소스 유형에 대한 입력으로 여러 의도 경로를 사용하고 해당 메트릭을 반환할 수 있습니다. 시계열 메트릭 API를 호출하는 방법에 대한 자세한 내용은 "NSX Intelligence 및 NSX Application Platform API 가이드" 를 참조하십시오.
다음 목록에는 메트릭 API와 관련된 용어와 해당 설명이 포함되어 있습니다.
용어 | 설명 |
---|---|
리소스 유형 | 메트릭을 사용할 수 있는 Edge 노드 또는 게이트웨이와 같은 모든 엔티티입니다. |
리소스 ID | 리소스 유형의 의도 경로 또는 식별자입니다. |
개체 | 특정 리소스 유형의 하위 엔티티입니다. 예를 들어 규칙 집합 내의 방화벽 규칙입니다. |
키 | 리소스의 메트릭에 할당된 고유한 키입니다. 다음 키는 Edge 노드 및 NSX Manager에 사용할 수 있는 메트릭 키의 예입니다.
다음 키는 게이트웨이 방화벽에 사용할 수 있는 메트릭 키의 예입니다.
다음 키는 상태 키로 사용할 수 있습니다.
다음 API를 사용하여 필요한 리소스의 키를 가져올 수 있습니다.
|
다음 단계를 수행하여 필요한 리소스에 대한 메트릭을 가져옵니다. 예제에 사용되는 메트릭 키는 샘플 용도로만 사용됩니다. 적절한 API를 사용하여 실제 키와 설명을 가져옵니다.
1단계: 시계열 메트릭을 가져올 리소스 유형을 선택합니다.
- 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 } } ] } ] }