メトリック 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 } } ] } ] }