Einleitung
Die NetCrunch-REST-API ist ein leistungsstarkes Tool, mit dem Informationen abgerufen, Knoten, Ansichten, Ordner und Richtlinien hinzugefügt, entfernt und geändert werden können. In diesem Thema werden die Grundlagen der Verwendung der REST API beschrieben. Informationen zu allen Möglichkeiten mit Beispielen finden Sie in den Kapiteln: Knoten, Atlas-Ansichten und Richtlinien.
generate-api-key
API-Schlüssel generieren
Bevor die NetCrunch-API verwendet werden kann, ist ein Schlüssel erforderlich. Führen Sie die folgenden Schritte aus, um den Schlüssel zu erstellen:
- Gehen Sie zu ToolsBenutzer und Zugriffsprofile
- Wählen Sie im linken Bereich API-Schlüssel aus
- Fügen Sie die neue Anwendung hinzu
- Vergeben Sie einen Namen und wählen Sie den Benutzer aus, an den es gebunden werden soll (dadurch wird der Zugriff auf Ansichten, Knoten und Richtlinien eingeschränkt - siehe oben)
- Wählen Sie die Ablaufzeit des API-Schlüssels aus und deaktivieren Sie das Kontrollkästchen: schreibgeschützt wenn das Skript das NetCrunch-Objekt auf irgendeine Weise ändert
- (Optional) Legen Sie Verbindungsbeschränkungen fest
Felder des API-Schlüssels
- Anwendungsname: Dies ist der Name der Anwendung oder des Skripts. Es wird im NC-Protokoll angezeigt, nachdem die API verwendet wird.
- Benutzername: In diesem Feld wird festgelegt, auf welche Objekte in NetCrunch mit der API zugegriffen werden kann. Auf jedes Objekt, auf das der Benutzer zugreifen kann, kann über die API zugegriffen werden.
- API-Schlüssel: Dies ist der Schlüssel, der zur Authentifizierung verwendet wird. Er kann in Überschrift von URL oder von x-api-key angegeben werden
- Gültig bis: Legt die Ablaufzeit des API-Schlüssels fest
-
Verbindungseinschränkungen: Dieses Feld kann zur Einschränkung der API-Ausführung verwendet werden. Es besteht aus drei Optionen:
- Keine Einschränkung
- NetCrunch-Server: API kann nur vom lokalen NC-Server verwendet werden
- Nach IP-Adresse: Wählen Sie die Netzwerkadresse, den durch Bindestrich getrennten IP-Bereich oder einzelne IP-Adressen, die durch ein Komma getrennt sind
Verwendung der API
Die NetCrunch-REST-API besteht aus vier Bereichen, mit denen Sie auf verschiedene Daten von NetCrunch zugreifen und diese bearbeiten können
- Knoten
- Atlas-Ansichten
- Monitoring Packs und Richtlinien
- Anmeldedaten
Von NetCrunch zurückgegebene Daten haben das JSON-Format
Für jede Anforderung muss der Bereich angegeben und der generierte API-Schlüssel verwendet werden
https://<NetCrunch Server IP>/api/rest/2/<scope>?key=<user API key>
Die meisten Bereiche können entweder Name, IP oder ID sein
Eine ID des Knotens, der Ansicht oder von Monitoring Pack finden Sie in den Einstellungen. Um sie zu kopieren, klicken Sie einfach darauf.

Beispiel
Alle Knoteneigenschaften abrufen
cURL
curl --request GET --url "http://<netcrunch>/api/rest/2/nodes/192.168.0.25?api_key=api_key=<your-api-key>"
Ergebnis
{ "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": "" }
Wenn der API-Schlüssel zum Ausführen einer Anforderung verwendet wird, werden der Name der Anwendung (in der Konfiguration angegeben), der Benutzername (mit dem der API-Schlüssel verknüpft ist) und die IP-Adresse (Ursprung der Anforderung) im NetCrunch-Ereignisprotokoll protokolliert.