PDF

Wprowadzenie

NetCrunch REST API to potężne narzędzie, które pozwala uzyskać informacje, dodawać, usuwać i modyfikować węzły, widoki, foldery i reguły. W tym wątku omówiono podstawy korzystania z interfejsu REST API. Aby zobaczyć wszystkie możliwości razem z przykładami, zapoznaj się z rozdziałami: Węzły, Widoki i Reguły.

generate-api-key

Wygeneruj klucz API

Przed użyciem NetCrunch API wymagany jest klucz, aby go utworzyć, wykonaj poniższe kroki:

  1. Przejdź do Narzędzia Użytkownicy i profile dostępu
  2. Wybierz Klucze API w lewym panelu
  3. Dodaj nową aplikację
  4. Nadaj jej nazwę, wybierz, z którym użytkownikiem ma być powiązana (ograniczy to dostęp do widoków, węzłów i reguł - wyjaśnienie powyżej)
  5. Wybierz czas wygaśnięcia klucza API i odznacz opcję Tylko odczyt, jeśli skrypt w jakikolwiek sposób zmodyfikuje obiekt NetCruncha
  6. (Opcjonalnie) Ustaw ograniczenia połączeń

Pola klucza API

  • Nazwa aplikacji: Jest to nazwa aplikacji lub skryptu. Pojawi się w logu NC po użyciu API.
  • Nazwa użytkownika: To pole służy do kontrolowania dostępu do obiektów w NetCrunchu za pomocą interfejsu API. Dostęp do każdego obiektu dostępnego dla użytkownika można uzyskać za pomocą interfejsu API.
  • Klucz API: Jest to klucz używany do uwierzytelnienia - można go podać w nagłówku adresu URL lub x-api-key
  • Ważny do: Ustaw czas wygaśnięcia klucza API
  • Ograniczenia połączeń: To pole może być użyte do ograniczenia wykonania API - składa się z trzech opcji:
    • Bez ograniczeń
    • Serwer NetCruncha: API może być używane tylko z lokalnego serwera NC
    • Według adresu IP: Wybierz adres sieciowy, zakres adresów IP oddzielonych kreskami lub poszczególne adresy IP rozdzielone przecinkiem

Korzystanie z API

Interfejs API REST NetCrunch składa się z czterech obszarów, które umożliwiają dostęp do różnych danych NetCruncha i manipulowanie nimi:

  • Węzły
  • Widoki Atlasu
  • Pakiety i reguły monitorowania
  • Dane uwierzytelniające

Dane zwracane przez NetCrunch są w formacie JSON JSON.

Każde żądanie musi określać zakres i używać wygenerowanego klucza API

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

Większość zakresów może być nazwą, adresem IP lub ID.

Identyfikator węzła, widoku lub pakietu monitorowania można znaleźć w ustawieniach, aby go skopiować - wystarczy na niego kliknąć.

node id view id monitoring pack id

Przykład

Uzyskaj wszystkie właściwości węzła

cURL

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

Wynik

{ "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": "" }

Kiedy klucz API zostanie użyty do wykonania żądania - nazwa aplikacji (podana w konfiguracji), nazwa użytkownika (do którego podłączony jest klucz API) i adres IP (początek żądania) będą rejestrowane w dzienniku zdarzeń NetCruncha.

event