NetWorker REST API – Triage-Handbuch
Summary: Dieser Wissensdatenbank-Artikel bietet eine Übersicht über das grundlegende Troubleshooting bei RESTAPI-bezogenen Problemen.
Instructions
Auf YouTube ansehen
Additional Information
Erste Schritte
Die REST (Application Programming Interface) Application Programming Interface (API) bietet programmatischen Zugriff auf den NetWorker-Data-Protection-Service. Mithilfe der REST API können NetWorker-Nutzer Clientanwendungen zur Automatisierung von NetWorker-Vorgängen erstellen. NetWorker REST API wird als Teil der NetWorker-Serverinstallation im selben Apache Tomcat-Container wie die NetWorker-Authentifizierungsservices installiert. Die Authentifizierung erfolgt mit denselben Zugangsdaten, die auch für die NetWorker Management Console verwendet werden.
REST API ermöglicht die Interaktion mit Ressourcen, die durch URI-Adressen (Uniform Resource Identifier) identifiziert werden. Er verwendet HTTP-Verben (HEAD, GET, PUT, POST, DELETE), um zustandslos mit dem Uniform Resource Identifier (URI) zu interagieren (der Server enthält keinen Clientstatus, jede Nachricht ist selbstbeschreibend).
Dieses Dokument behandelt die Interaktion mit NetWorker-Ressourcen mithilfe von nutzergeschriebenen REST API-Aufrufen. Nicht zu verwechseln mit den REST API-Aufrufen, die von Back-end-NetWorker-Vorgängen verwendet werden.
Herstellen einer Verbindung zu NetWorker:
Es gibt verschiedene REST-API-Clienttechnologien, die zum Ausführen der Befehle für die Verbindung mit NetWorker verwendet werden können. Dazu gehören curl-Befehle (Linux), PowerShell Invoke-WebRequest (Windows) und REST API-Client-Browsererweiterungen .Es sind drei Header für die Verbindung erforderlich:
- Content-Type: application/json
- Akzeptieren: application/json
- Authorization: Basic mit Base-64-kodiertem Nutzernamen und Kennwort
In Umgebungen, in denen mehrere NetWorker-Datenzonen über einen einzigen NetWorker-AUTHC-Server authentifiziert werden, ist ein zusätzlicher Header erforderlich:
- X-NW-AUTHC-BASIS-URL:AUTHC_HOSTNAME_OR_IP:AUTHC_PORT
Die NetWorker-REST-API wird im folgenden Basis-URI verfügbar gemacht:
https://[nw-server-hostname]:9090/nwrestapi/Es gibt verschiedene Versionen von APIs. Seit der Implementierung der REST API wurden Verbesserungen eingeführt. Zum Beispiel:
https://[nw-server-hostname]:9090/nwrestapi/v1 https://[nw-server-hostname]:9090/nwrestapi/v2 https://[nw-server-hostname]:9090/nwrestapi/v3
Das vollständige JSON-Schema ist verfügbar unter
https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json
| Erfolgscode | Gilt für HTTP-Methode | Inhalt des Antworttextes | Beschreibung |
| 200 | ERHALTEN | Repräsentation von Ressourcen. | OK angezeigt. Die Vorgänge, die zu diesem HTTP-Status führen, tragen die Ressourcendarstellung in der Payload. |
| 201 | BEREITSTELLEN | Leere Antwort. | Erstellt. Dieser Status zeigt an, dass eine neue Ressource oder ein beabsichtigter Job erstellt wurde und die zugehörige URL über den location-Header in der Antwort zugänglich ist. |
| 202 | BEREITSTELLEN | Details in Ihrer Antwort. | Akzeptiert. Dies zeigt an, dass die API-Anforderung akzeptiert wurde. Die Payload gibt an, dass über den location-Header in der Antwort auf die URL zur Instanz der Tracking-Ressource zugegriffen werden kann. |
| 204 | ABLEGEN/LÖSCHEN | Leere Antwort. | Kein Inhalt. Der Status zeigt an, dass der durchgeführte Vorgang erfolgreich war. Es müssen jedoch keine weiteren Details angegeben werden. |
| Fehlercode | Beschreibung |
| 400 | Ungültige Anfrage. |
| 401 | Ungültige Anmeldeinformationen. |
| 403 | Unzureichende Berechtigungen. |
| 404 | Ressource nicht gefunden. |
| 405 | Methode nicht zulässig. |
| 406 | Es wurde ein ungültiges Gebietsschema angegeben. |
| 500 | Interner Serverfehler. |
REST API-Funktionen
| HTTP-Methode | Aktion | Beschreibung |
| ERHALTEN | Read | Ruft die Ressourcendarstellung ab. |
| BEREITSTELLEN | Erstellen | Erstellt eine neue Ressource. |
| SETZEN | Update | Aktualisiert eine vorhandene Ressource. |
| LÖSCHEN | Trennen | Löscht eine vorhandene Ressource. |
Einige Beispiele:
GET
Listen Sie alle Clients auf.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
Nur ein Client, mit nur drei Feldern (hostname, saveSets und protectionGroups)
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121
Listen Sie die Schutzgruppen auf, in denen sich ein Client befindet.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121
Zeigen Sie aktuelle Warnmeldungen an.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts
Zeigen Sie kürzlich fehlgeschlagene Jobs an.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message
Listen Sie die Workflows in einer Policy auf (in diesem Beispiel WinFS genannt).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows
Listet nur die Eigenschaften einer Saveset-Instanz auf (wie durch Clienthostname und Saveset definiert).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"
BEREITSTELLEN:
Starten Sie eine Workflowaktion.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
JSON Body:
{
}
Erstellen Sie eine neue Clientinstanz (mit Standardwerten für alle Eigenschaften außer den vier aufgeführten).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
JSON Body
{
"hostname": "vm-lego-231",
"backupType": "Filesystem",
"saveSets": [ "/etc" ],
"protectionGroups" : [ "LinuxFS" ]
Erforderliche Informationen für den Support
Umgebung:
- NetWorker-Servername
- NetWorker-Version und Build-Nummer
- Typ und Version des Betriebssystems des NetWorker-Serverhosts
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a
Windows:
nsrwatch
- Erläutern Sie, welcher REST API-Vorgang durchgeführt wird (GET, POST, PUT, DELETE), den verwendeten URI und alle JSON-Textinhalte (falls zutreffend).
- REST API-Antwortcode und etwaige bereitgestellte Fehlermeldungen.
- Ist die erste Verbindung und Autorisierung zwischen dem REST API-Client und NetWorker erfolgreich?
- Gerenderte daemon.raw Protokolldatei vom NetWorker-Server:
- Linux: /nsr/logs/daemon.raw
- Windows: C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
- NetWorker: Verwenden von nsr_render_log
- REST API-Protokolle vom NetWorker-Server: /nsr/logs/restapi (Linux) oder EMC NetWorker\nsr\logs\restapi (Windows)
- Informationen zu Authentifizierungsproblemen finden Sie in der standardmäßigen NetWorker-Authentifizierungsprotokollierung in /nsr/authc/logs (Linux) oder .. \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Leistung
Wenn das Problem mit der RESTAPI-Leistung zusammenhängt, können Sie die folgenden Optionen verwenden, um den Ressourcenverbrauch des von API-Aufrufen verwendeten Prozesses nsrtomc+ nachzuverfolgen.
Linux:
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
Diese Ausgabe zeigt die standardmäßige obere Ausgabe, jedoch mit für Menschen lesbaren Zeitstempeln. Dies kann verwendet werden, um die CPU- und Speicherauslastung durch den Prozess zu überprüfen und wie lange er in einem bestimmten Zustand blieb, wenn ein REST-Aufruf durchgeführt wurde. Dies kann mit den restapi.log- und AUTHC-Protokollen verglichen werden, um zu sehen, welche Aufrufe wie häufig getätigt wurden.
Windows: Für Windows-Server müssen Sie so etwas wie "Performance Monitor:
1. Öffnen Sie den Systemmonitor als Administrator.
2. Erweitern Sie im linken Bereich Monitoring Tools und wählen Sie Performance Monitor aus.
3. Klicken Sie mit der rechten Maustaste in den rechten Fensterbereich und wählen Sie Alle Zähler entfernen aus.
4. Klicken Sie mit der rechten Maustaste in den rechten Bereich und wählen Sie Zähler hinzufügen aus.
5. Erweitern Sie unter Verfügbare Leistungsindikatoren die Option Arbeitsspeicher, wählen Sie % Commit Bytes aus und klicken Sie auf Hinzufügen.
6. Wählen Sie unter Arbeitsspeicher die Option Verfügbare Bytes aus und klicken Sie auf Hinzufügen.
7. Erweitern Sie unter Available Countersdie Option Process und wählen Sie % Processor Time aus. Wählen Sie unter Instances of Selected object den ersten Java-Eintrag aus und klicken Sie auf Add.
8. Erweitern Sie unter Verfügbare Indikatoren die Option Prozessorinformationen, wählen Sie % Prozessordienstprogramm aus und klicken Sie auf Hinzufügen.
9. Die Zähler Added im rechten Fensterbereich sollten Folgendes anzeigen:

10. Klicken Sie auf OK. Klicken Sie mit der rechten Maustaste auf Performance Monitor und klicken Sie auf New-Data> Collector Set.
11. Geben Sie einen Namen ein, z. B.: RESTAPI_MON.
12. Klicken Sie auf dem Bildschirm Speicherort auf Weiter, es sei denn, Sie geben einen alternativen Ausgabespeicherort an.
13. Wählen Sie Speichern und schließen aus und klicken Sie auf Fertigstellen.
14. Öffnen Sie im linken Fensterbereich unter User Collector Sets –> User Defined die RESTAPI_MON Eigenschaften, wählen Sie Comma Separated als Protokollformat aus und klicken Sie auf OK.

15. Wählen Sie im linken Fensterbereich unter User Collector Sets den>RESTAPI_MON Datensammlersatz aus und klicken Sie auf Start (Schaltfläche Play).
16. Wenn der Standardausgabespeicherort verwendet wurde, wird die .csv Datei unter C:\PerfLogs\Admin\RESTAPI_MON angezeigt.
17. Sobald das Problem beobachtet und in der Ausgabedatei aufgezeichnet wurde, können Sie das Monitoring beenden, indem Sie unter User Collector Sets – User Defined auf Stop klicken.
Weitere Ressourcen
Alle unterstützten REST API-Endpunkte und Nutzungsbeispiele finden Sie unter: NetWorker REST API – Referenzhandbuch