NetWorker REST API Triage Guide
Summary: Dit KB-artikel biedt een overzicht van de basisprobleemoplossing voor RESTAPI-gerelateerde problemen.
Instructions
Kijk op YouTube
Additional Information
Aan de slag
Representational State Transfer (REST) Application Programming Interface (API) biedt programmatische toegang tot de databeschermingsservice van NetWorker. Met behulp van REST API kunnen NetWorker-gebruikers clientapplicaties bouwen om NetWorker-bewerkingen te automatiseren. NetWorker REST API wordt geïnstalleerd als onderdeel van de installatie van de NetWorker-server in dezelfde Apache-tomcat-container als de NetWorker-verificatieservices. Verificatie wordt uitgevoerd met dezelfde referenties die worden gebruikt voor de NetWorker Management Console.
REST API maakt interactie mogelijk met resources die worden geïdentificeerd door URI-adressen (Uniform Resource Identifier). Het gebruikt HTTP-werkwoorden (HEAD, GET, PUT, POST, DELETE) om op een staatloze manier te communiceren met de Uniform Resource Identifier (URI) (de server bevat geen clientstatus, elk bericht is zelfbeschrijvend).
Dit document behandelt de interactie met NetWorker-resources met behulp van door de gebruiker geschreven REST API-aanroepen. Niet te verwarren met de REST API-aanroepen die worden gebruikt door back-end NetWorker-bewerkingen.
Verbinding maken met NetWorker:
Er zijn verschillende REST API-clienttechnologieën die kunnen worden gebruikt om de opdrachten uit te voeren om verbinding te maken met NetWorker; waaronder curl-opdrachten (Linux), PowerShell Invoke-WebRequest (Windows) en REST API-clientbrowserextensies.Er zijn drie headers nodig voor de verbinding:
- Inhoudstype: application/json
- Accepteren: application/json
- Authenticatie: Basic met Base 64-gecodeerde gebruikersnaam en wachtwoord
In omgevingen waar meerdere NetWorker-datazones worden geverifieerd via één NetWorker AUTHC-server, is een extra header vereist:
- X-NW-AUTHC-BASE-URL:AUTHC_HOSTNAME_OR_IP:AUTHC_PORT
De NetWorker REST API wordt weergegeven in de volgende basis-URI:
https://[nw-server-hostname]:9090/nwrestapi/Er zijn verschillende versies van API's. Sinds de REST API werd geïmplementeerd, zijn er verbeteringen uitgerold. Bijvoorbeeld:
https://[nw-server-hostname]:9090/nwrestapi/v1 https://[nw-server-hostname]:9090/nwrestapi/v2 https://[nw-server-hostname]:9090/nwrestapi/v3
Het volledige json-schema is beschikbaar op
https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json
| Succescode | Van toepassing op de HTTP-methode | Inhoud hoofdtekst van reactie | Beschrijving |
| 200 | TOEVOEGEN | Vertegenwoordiging van middelen. | OK. De bewerkingen die resulteren in deze HTTP-status dragen de bronrepresentatie in de nettolading. |
| 201 | VERZENDEN | Lege reactie. | Gemaakt. Deze status geeft aan dat er een nieuwe resource of een beoogde taak is gemaakt en dat de bijbehorende URL toegankelijk is via de locatieheader in het antwoord. |
| 202 | VERZENDEN | Details in antwoord. | Aanvaard. Dit geeft aan dat het API-verzoek is geaccepteerd. De payload geeft aan dat de URL naar het exemplaar van de trackingresource toegankelijk is via de locatieheader in het antwoord. |
| 204 | ZETTEN/VERWIJDEREN | Lege reactie. | Geen inhoud. De status geeft aan dat de uitgevoerde bewerking is geslaagd. Er hoeven echter geen aanvullende details te worden verstrekt. |
| Foutcode | Beschrijving |
| 400 | Ongeldig verzoek. |
| 401 | Ongeldige referenties. |
| 403 | Onvoldoende bevoegdheden. |
| 404 | Bron niet gevonden. |
| 405 | Methode niet toegestaan. |
| 406 | Er is een ongeldige landinstelling opgegeven. |
| 500 | Internal Server Error. |
REST API-functies
| HTTP-methode | Actie | Beschrijving |
| TOEVOEGEN | Lezen | Hiermee haalt u de bronvertegenwoordiging op. |
| VERZENDEN | Maken | Hiermee maakt u een nieuwe resource. |
| ZET | Updaten | Hiermee wordt een bestaande bron bijgewerkt. |
| VERWIJDEREN | Verwijderen | Hiermee verwijdert u een bestaande bron. |
Enkele voorbeelden:
GET
Maak een lijst van alle clients.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
Slechts één client, met slechts drie velden (hostname, saveSets en protectionGroups)
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121
Maak een lijst van de beveiligingsgroepen waarin een client zich bevindt.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121
Huidige waarschuwingen weergeven.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts
Recente mislukte taken weergeven.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message
Geef de werkstromen weer in één beleid (in dit voorbeeld WinFS genoemd).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows
Geef de eigenschappen van slechts één saveset-instantie weer (zoals gedefinieerd door de hostnaam van de client en de opslagset).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"
VERZENDEN:
Start een workflowactie.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
JSON Body:
{
}
Maak een nieuwe clientinstantie (met standaardwaarden voor alle eigenschappen behalve de vier vermelde).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
JSON Body
{
"hostname": "vm-lego-231",
"backupType": "Filesystem",
"saveSets": [ "/etc" ],
"protectionGroups" : [ "LinuxFS" ]
Vereiste informatie voor support
Omgeving:
- NetWorker-servernaam
- Versie en buildnummer van NetWorker
- Type en versie van besturingssysteem van NetWorker serverhost
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a
Windows:
nsrwatch
- Leg uit welke REST API-bewerking wordt uitgevoerd (GET, POST, PUT, DELETE), de gebruikte URI en eventuele JSON-body-inhoud (indien van toepassing).
- REST API-antwoordcode en eventuele verstrekte foutmeldingen.
- Is de initiële verbinding en autorisatie tussen de REST API-client en NetWorker geslaagd?
- Gerenderde daemon.raw logbestand van de NetWorker-server:
- Linux: /nsr/logs/daemon.raw
- Windows: C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
- NetWorker: Hoe nsr_render_log te gebruiken
- REST API-logboeken van de NetWorker-server: /nsr/logs/restapi (Linux) of EMC NetWorker\nsr\logs\restapi (Windows)
- Zie voor authenticatieproblemen de standaard NetWorker-authenticatielogging in /nsr/authc/logs (linux) of .. \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Prestaties
Als het probleem te maken heeft met de RESTAPI-prestaties, kunt u de volgende opties gebruiken om het resourceverbruik bij te houden van het nsrtomc+-proces dat wordt gebruikt door API-aanroepen.
Linux:
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
Deze uitvoer toont standaard topuitvoer, maar met door mensen leesbare tijdstempels. Dit kan worden gebruikt om het CPU- en geheugenverbruik per proces te bekijken en hoe lang het in een bepaalde status bleef toen een REST-aanroep werd gedaan. Dit kan worden vergeleken met de restapi.log- en AUTHC-logboeken om te zien welke oproepen zijn gedaan en hoe vaak.
Windows: Voor Windows-servers moet u iets installeren als "Performance Monitor:
1. Open Performance Monitor als administrator.
2. Vouw in het linkerdeelvenster Controletools uit en selecteer Prestatiemonitor.
3. Klik met de rechtermuisknop in het rechterdeelvenster en selecteer Alle tellers verwijderen.
4. Klik met de rechtermuisknop in het rechterdeelvenster en selecteer Tellers toevoegen.
5. Vouw onder Beschikbare tellers Geheugen uit, selecteer % commit-bytes en klik op Toevoegen.6
. Selecteer onder Memory de optie Available Bytes en klik op Add.
7. Vouw onder Beschikbare tellersProces uit en selecteer % processortijd en selecteer onder Instanties van geselecteerd object het eerste Java-item. Klik op Toevoegen.
8. Vouw onder Beschikbare tellersProcessorinformatie uit en selecteer % processorhulpprogramma en klik op Toevoegen.
9. De toegevoegde tellers in het rechterdeelvenster zouden het volgende moeten weergeven:

10. Klik op OK. Klik met de rechtermuisknop op Prestatiemeter en klik op Nieuwe> dataverzamelaarset.
11. Geef een naam op, bijvoorbeeld: RESTAPI_MON.
12. Klik in het locatiescherm op Volgende, tenzij u ervoor kiest om een alternatieve uitvoerlocatie op te geven.
13. Selecteer Opslaan en sluiten en klik op Voltooien.
14. Open in het linkerdeelvenster onder Data Collector Sets-User> Defined de RESTAPI_MON properties en selecteer Comma Separated voor de logboekindeling. Klik op OK.

15. Selecteer in het linkerdeelvenster onder Data Collector Sets-User> Defined de RESTAPI_MON data collector set en klik op Start (knop Afspelen).
16. Als de standaarduitvoerlocatie is gebruikt, wordt het .csv bestand weergegeven onder C:\PerfLogs\Admin\RESTAPI_MON.
17. Zodra het probleem is waargenomen en vastgelegd in het uitvoerbestand, kunt u de bewaking stoppen door te klikken op Stoppen onder Data Collector Sets-User Defined.
Verdere bronnen
Alle ondersteunde REST API-eindpunten en gebruiksvoorbeelden zijn beschikbaar in: Naslaggids voor NetWorker REST API