はじめに

NetCrunch REST APIは、情報の取得、ノード、ビュー、フォルダ、ポリシーの追加、削除、修正を可能にする強力なツールです。 このトピックではREST APIを使用するための基本について説明します。例で全ての可能性を確認するには、ノード、アトラスビュー、ポリシーの章を参照してください。

generate-api-key

APIキーの生成

NetCrunch APIを使用する前に、以下の手順に従って作成するためのキーが必要です:

  1. 設定NetCrunchシステムユーザー&アクセス権マネージャーを選択します
  2. 左のパネル内のAPI Keysを選択します
  3. 新しいアプリケーションを追加します
  4. 名前を付けて、どのユーザーに結び付けるかを選択します(ビュー、ノード、ポリシーへのアクセスを制限します - 上記の説明を参照)
  5. APIキーの有効期限を選択し、スクリプトが何らかの方法でNetCrunchオブジェクトを変更する場合はRead Onlyのチェックを外します。
  6. (オプション) 接続制限を設定する

APIキーフィールド

  • アプリケーション名:これは、アプリケーションまたはスクリプトの名前です。APIが使用されると、NCログに表示されます。
  • ユーザー名:このフィールドは、APIを使用してNetCrunchのどのオブジェクトにアクセスできるかを制御するために使用されます。ユーザーがアクセスできるすべてのオブジェクトには、APIを使用してアクセスできます。
  • APIキー:これは認証に使用されるキーです。 -URLまたはx-api-keyヘッダーで提供できます。
  • 有効期限:APIキーの有効期限を設定します
  • 接続制限:このフィールドは、APIの実行を制限するために使用できます-3つのオプションで構成されます:
    • 制限なし
    • NetCrunchサーバーマシン:APIはローカルNCサーバーからのみ使用できます
    • IPアドレス別:ネットワークアドレス、ダッシュで区切られたIP範囲、またはコンマで区切られた個々のIPアドレスを選択します

APIを使用する

NetCrunch REST APIは、NetCrunchのさまざまなデータにアクセスして操作できる4つのスコープで構成されています

  • ノード
  • アトラスビュー
  • 監視パックとポリシー
  • 資格情報

NetCrunchによって返されるデータはJSON形式です

すべてのリクエストはスコープを指定し、生成されたAPIキーを使用する必要があります

https://<NetCrunch Server IP>/api/rest/2/<scope>?api_key=<user API key>

ほとんどのスコープは、名前、IP、またはIDのいずれかです。

ノード、ビュー、または監視パックのIDは、設定で見つけることができます。コピーするには、項目をクリックします。

node id view id monitoring pack id

全てのノードプロパティを取得する場合

cURL

curl --request GET --url "http://<netcrunch>/api/rest/2/nodes/192.168.0.25?api_key=<your-api-key>"

実行結果

{ "id": 1001, "name": "ncsrv.ac.acme", "dnsName": "ncsrv.ac.acme", "networkAddress": "10.20.16.94", "networkPrefixLength": 21, "snmpComputerName": "", "snmpOsDescription": "", "snmpSysObjId": "", "snmpLocation": "", "snmpAvailable": false, "snmpManaged": false, "snmpProfile": "", "snmpPort": 161, "snmpTimeout": 5000, "snmpRetryCount": 3, "displayName": "", "organization": "<Root>", "networkServices": [ { "name": "PING", "status": "OK" }, { "name": "HTTP", "status": "OK" }, { "name": "CIFS/SMB", "isLeading": true, "status": "OK" } ], "monitoringTime": 1, "netBiosName": "", "identification": "ipAddress", "deviceType": { "class": "Server/Workstation", "os": "Windows Server", "version": "Windows 2016 Server", "manufacturer": "VMware" }, "simplifiedMonitoring": false, "status": "OK", "avgResponseTime": 1, "maxResponseTime": 1, "alerts24h": { "count": 1, "critical": 0, "warning": 0, "unacknowledged": 0 }, "lastAlert": { "id": 187, "info": "PhysicalDisk(_Total)\% Disk Time 32.19 is back below reset value 60", "serverity": "Warning", "time": "2018-12-04T10:52:42.000Z" }, "macAddress": "005056AB9815", "enabled": true, "disabledFrom": null, "disabledUntil": null, "addTime": "2018-12-03T13:58:46.841Z", "lastStatusChange": "2018-12-04T10:56:52.944Z", "issueCount": 0, "virtualization": { "type": "VMware", "hostNodeId": 1061, "hostName": "esxi05.ac.acme", "dataCenter": "ha-datacenter" }, "monitoringEngines": [ { "name": "nt", "enabled": true, "status": "OK" }, { "name": "ntsvc", "enabled": true, "status": "unknown" }, { "name": "ntlog", "enabled": true, "status": "OK" }, { "name": "inv", "enabled": true, "status": "OK" }, { "name": "sensors", "enabled": true, "status": "OK" } ], "pendingAlertsCount": 1, "customFields": { "Virtual Machine ID": "ncsrv.ac.acme" }, "interfacesMonitoringEnabled": false, "organizationalUnit": "For Running NC Machine", "snmpTrapCodePage": 4294967295, "sysLogCodePage": 4294967295, "lastNote": null, "nodeType": "IP Node", "osMonitorType": "windows", "hypervisorKind": "none", "probeType": "", "addressSpace": "" }

APIキーを使用してリクエストを実行する場合-アプリケーションの名前(構成で提供)、ユーザー名(api-keyのリンク先)およびIPアドレス(リクエストの発信元)がNetCrunchイベントログに記録されます。

event