NetWorker: Probleemoplossing en triagegids voor REST API

Samenvatting: Dit KB-artikel biedt een overzicht van de basisprobleemoplossing voor RESTAPI-gerelateerde problemen.

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Instructies

NetWorker REST API Triage Guide

Kijk op YouTube

Extra informatie

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; Inclusief curl opdrachten (Linux), PowerShell curl.exe (Windows) en REST API-clientbrowserextensies. 

OPMERKING: NetWorker-support biedt geen ondersteuning voor API-hulpprogramma's of API-scripts/automatisering van derden. NetWorker-support biedt ook geen REST API-oplossingen. Zie de NetWorker REST API ontwikkelaarshandleiding voor hulp bij het gebruik van REST API's. Support is beschikbaar om algemene vragen over REST API te beantwoorden of om te helpen als er een specifiek probleem wordt geïdentificeerd met NetWorker REST API-eindpunten of -functies. Alle beoordelingen en tests worden uitgevoerd vanaf directe verbindingen met behulp van opdrachten op besturingssysteemniveau.

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 standaard AUTHC-poort is poort 9090. Het gebruik van deze header wordt beschreven in: RESTAPI: Hoe gebruik ik een externe AUTHC-server bij het verwerken van RESTAPI-verzoeken?

De NetWorker REST API wordt weergegeven in de volgende basis-URI:

https://[nw-server-hostname]:9090/nwrestapi/v3

Er zijn verschillende versies van API's. Sinds de REST API werd geïmplementeerd, zijn er verbeteringen uitgerold. Wijzigingen aan deze eindpunten worden beschreven in: https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

Het volledige json-schema is beschikbaar op:

https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json

REST API-responscodes:
 
Codes voor geslaagde respons
Succescode Van toepassing op de HTTP-methode Inhoud hoofdtekst van reactie Beschrijving
200 TOEVOEGEN Bronvertegenwoordiging OK. De bewerkingen die resulteren in deze HTTP-status dragen de bronrepresentatie in de nettolading.
201 VERZENDEN Leeg antwoord 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 reactie 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 of VERWIJDEREN Leeg antwoord Geen inhoud. De status geeft aan dat de uitgevoerde bewerking is geslaagd. Er hoeven echter geen aanvullende details te worden verstrekt.

 

Foutresponscodes
Foutcode Beschrijving
400 Ongeldig verzoek
401 Ongeldige referenties
403 Onvoldoende rechten
404 Bron niet gevonden
405 Methode niet toegestaan
406 Er is een ongeldige landinstelling opgegeven.
500 Interne serverfout


REST API-functies

Ondersteunde HTTP-methoden
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 opslagsetexemplaar weer (zoals gedefinieerd door de hostnaam en opslagset van de client).      

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" ]
                                                          
OPMERKING: Alle ondersteunde REST API-eindpunten en gebruiksvoorbeelden zijn beschikbaar in: Naslaggids voor NetWorker REST API

Voorbeelden via de opdrachtregel:

Linux:

Voor systemen met python Geïnstalleerd:

curl -k -u Administrator:'ADMINISTRATOR_PASSWORD' https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/ENDPOINT | python -m json.tool
Voor systemen met jq Geïnstalleerd:
curl -k -u Administrator:'ADMINISTRATOR_PASSWORD' https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/ENDPOINT | jq
Voorbeeld:
[root@nsr ~]# curl -k -u Administrator https://nsr.amer.lan:9090/nwrestapi/v3/global/devices/ddve01.amer.lan_VMBackupDevice01 | jq
Enter host password for user 'Administrator':
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2820    0  2820    0     0  72307      0 --:--:-- --:--:-- --:--:-- 72307
{
  "accessWeight": 1,
  "accesses": "66",
  "activeSessions": [],
  "autoMediaManagement": false,
  "autoRecoverDtf": "None",
  "cdi": "NotUsed",
  "cleaningRequired": false,
  "consecutiveErrors": "0",
  "currentNSRMMDCount": "1",
  "dataDomainFibreChannel": false,
  "dataDomainRetentionLockMode": "None",
  "deviceAccessInfo": "ddve01.amer.lan:/nsr/VMBackupDevice01",
  "deviceBlockSize": "HandlerDefault",
  "dltWormCapable": false,
  "idleDeviceTimeout": 0,
  "jukeboxDevice": "No",
  "links": [
    {
      "href": "https://nsr.amer.lan:9090/nwrestapi/v3/global/devices/ddve01.amer.lan_VMBackupDevice01/opstatus",
      "title": "Volume operation status"
    },
    {
      "href": "https://nsr.amer.lan:9090/nwrestapi/v3/global/devices/ddve01.amer.lan_VMBackupDevice01/op/label",
      "title": "Label volume"
    },
    {
      "href": "https://nsr.amer.lan:9090/nwrestapi/v3/global/devices/ddve01.amer.lan_VMBackupDevice01/op/mount",
      "title": "Mount volume"
    },
    {
      "href": "https://nsr.amer.lan:9090/nwrestapi/v3/global/devices/ddve01.amer.lan_VMBackupDevice01/op/unmount",
      "title": "Unmount volume"
    },
    {
      "href": "https://nsr.amer.lan:9090/nwrestapi/v3/global/devices/ddve01.amer.lan_VMBackupDevice01/op/verifylabel",
      "title": "Verify volume label"
    },
    {
      "href": "https://nsr.amer.lan:9090/nwrestapi/v3/global/devices/ddve01.amer.lan_VMBackupDevice01/op/erase",
      "title": "Erase the device"
    },
    {
      "href": "https://nsr.amer.lan:9090/nwrestapi/v3/global/volumes/4267924096",
      "title": "Volume"
    }
  ],
  "longVolumeId": "703cdc60-00000005-fe635a80-66635a80-00045000-592bbe56",
  "maxConsecutiveErrors": 20,
  "maxNsrmmdCount": 4,
  "maxSession": 60,
  "mediaFamily": "Disk",
  "mediaType": "Data Domain",
  "message": "mounted Data Domain disk VMBackupPool.001",
  "mountedVolume": "VMBackupPool.001",
  "name": "ddve01.amer.lan_VMBackupDevice01",
  "ndmp": false,
  "operationParameters": [],
  "password": "*******",
  "pathId": "53f9269d-00000010-e2f994bd-66635a7e-00035000-592bbe56",
  "readOnly": false,
  "remoteUser": "ddboost",
  "reserveRelease": "None",
  "resourceId": {
    "id": "178.0.90.20.0.0.0.0.196.80.99.102.192.168.9.150",
    "sequence": 256
  },
  "saveLockout": 0,
  "saveMountTimeout": 30,
  "secureMultiTenancy": false,
  "sharedDevices": "Done",
  "statistics": [
    "elapsed = 17310",
    "errors = 0",
    "last rate = 0",
    "max clients = 0",
    "file marks = 0",
    "rewinds = 0",
    "files skipped = 0",
    "records skipped = 0",
    "current file = 0",
    "current record = 0",
    "seek files = 0",
    "seek records = 0",
    "estimated kb = 0",
    "amount kb = 0",
    "file amount kb = 0",
    "sessions = 0"
  ],
  "status": "Enabled",
  "suspectedDevice": false,
  "tapeAlertsCritical": [],
  "tapeAlertsInformation": [],
  "tapeAlertsWarning": [],
  "targetSession": 20,
  "unlabeledVolumeLoaded": false,
  "verifyLabelOnEject": false,
  "volumeBlockSize": "256 KB",
  "volumeCurrentCapacity": "0 KB",
  "volumeErrorNumber": "0",
  "volumeExpiration": "Sun Jun  7 15:07:44 2026",
  "volumeId": "4267924096",
  "volumeLabel": "VMBackupPool.001",
  "volumePool": "VMBackupPool",
  "warnOnSuspectVolumesInPercent": 80,
  "wormCapable": false,
  "wormCartridgePresent": false,
  "writeEnabled": true
}
[root@nsr ~]#

Windows (PowerShell):

curl.exe -k -u Administrator:'ADMISTRATOR_PASSWORD' "https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/ENDPOINT" | ConvertFrom-Json | ConvertTo-Json -Depth 50

Voorbeeld:

PS C:\Users\Administrator.NETWORKER> curl.exe -k -u Administrator:'!Password1' "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/devices/dd3300-ff28_Backup" | ConvertFrom-Json | ConvertTo-Json -Depth 50
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2824    0  2824    0     0  20311      0 --:--:-- --:--:-- --:--:-- 21074
{
    "accessWeight":  1,
    "accesses":  "45",
    "activeSessions":  [

                       ],
    "autoMediaManagement":  false,
    "autoRecoverDtf":  "None",
    "cdi":  "NotUsed",
    "cleaningRequired":  false,
    "consecutiveErrors":  "0",
    "currentNSRMMDCount":  "1",
    "dataDomainFibreChannel":  false,
    "dataDomainRetentionLockMode":  "None",
    "deviceAccessInfo":  "dd3300-ff28:/win-srvr02/Backup",
    "deviceBlockSize":  "HandlerDefault",
    "dltWormCapable":  false,
    "idleDeviceTimeout":  0,
    "jukeboxDevice":  "No",
    "links":  [
                  {
                      "href":  "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/devices/dd3300-ff28_Backup/opstatus",
                      "title":  "Volume operation status"
                  },
                  {
                      "href":  "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/devices/dd3300-ff28_Backup/op/label",
                      "title":  "Label volume"
                  },
                  {
                      "href":  "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/devices/dd3300-ff28_Backup/op/mount",
                      "title":  "Mount volume"
                  },
                  {
                      "href":  "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/devices/dd3300-ff28_Backup/op/unmount",
                      "title":  "Unmount volume"
                  },
                  {
                      "href":  "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/devices/dd3300-ff28_Backup/op/verifylabel",
                      "title":  "Verify volume label"
                  },
                  {
                      "href":  "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/devices/dd3300-ff28_Backup/op/erase",
                      "title":  "Erase the device"
                  },
                  {
                      "href":  "https://win-srvr02.networker.lan:9090/nwrestapi/v3/global/volumes/3963713",
                      "title":  "Volume"
                  }
              ],
    "longVolumeId":  "0aea479c-00000005-003c7b41-693c7b41-00025000-e6b5bb56",
    "maxConsecutiveErrors":  20,
    "maxNsrmmdCount":  4,
    "maxSession":  60,
    "mediaFamily":  "Disk",
    "mediaType":  "Data Domain",
    "message":  "writing, done",
    "mountedVolume":  "win_srvr02.networker.lan.dddefault.001",
    "name":  "dd3300-ff28_Backup",
    "ndmp":  false,
    "operationParameters":  [

                            ],
    "password":  "*******",
    "pathId":  "a30a7858-00000010-5ded760e-693c7b41-00015000-e6b5bb56",
    "readOnly":  false,
    "remoteUser":  "loudekboost",
    "reserveRelease":  "None",
    "resourceId":  {
                       "id":  "176.0.164.7.0.0.0.0.69.121.60.105.192.168.0.22",
                       "sequence":  100
                   },
    "saveLockout":  0,
    "saveMountTimeout":  30,
    "secureMultiTenancy":  false,
    "sharedDevices":  "Done",
    "statistics":  [
                       "elapsed = 228514",
                       "errors = 0",
                       "last rate = 0",
                       "max clients = 0",
                       "file marks = 0",
                       "rewinds = 0",
                       "files skipped = 0",
                       "records skipped = 0",
                       "current file = 0",
                       "current record = 0",
                       "seek files = 0",
                       "seek records = 0",
                       "estimated kb = 0",
                       "amount kb = 0",
                       "file amount kb = 52206",
                       "sessions = 0"
                   ],
    "status":  "Enabled",
    "suspectedDevice":  false,
    "tapeAlertsCritical":  [

                           ],
    "tapeAlertsInformation":  [

                              ],
    "tapeAlertsWarning":  [

                          ],
    "targetSession":  20,
    "unlabeledVolumeLoaded":  false,
    "verifyLabelOnEject":  false,
    "volumeBlockSize":  "256 KB",
    "volumeCurrentCapacity":  "0 KB",
    "volumeErrorNumber":  "0",
    "volumeExpiration":  "Sun Dec 12 15:29:53 2027",
    "volumeId":  "3963713",
    "volumeLabel":  "win_srvr02.networker.lan.dddefault.001",
    "volumePool":  "Data Domain Default",
    "warnOnSuspectVolumesInPercent":  80,
    "wormCapable":  false,
    "wormCartridgePresent":  false,
    "writeEnabled":  true
}

Vereiste informatie voor support


Omgeving:

  • NetWorker-servernaam
  • Versie en buildnummer van NetWorker
  • Type en versie van besturingssysteem van NetWorker serverhost
Linux:
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a

Windows:

nsrwatch
NetWorker-servergegevens van nsrwatch

Details probleem:

  • 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?

Logboekverzameling:

  • Gerenderde daemon.raw logbestand van de NetWorker-server:
  • REST API-logboeken van de NetWorker-server:  /nsr/logs/restapi (Linux) of EMC NetWorker\nsr\logs\restapi (Windows)
  • Raadpleeg voor authenticatieproblemen de standaard aanmelding bij NetWorker-authenticatie /nsr/authc/logs (Linux) of ..\EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)

Debug:

Bij complexere problemen kan foutopsporing in de REST API vereist zijn. Foutopsporing kan worden ingeschakeld als volgt: NetWorker: Hoe REST API-foutopsporing in te schakelen


Prestaties:

Voordat u problemen met de prestaties van de REST API beoordeelt, is het belangrijk om te bepalen of het probleem wordt waargenomen op alle REST API-functies of specifieke functies. GET-aanvragen op globale eindpunten zoals clients, taken, volumes, enzovoort kunnen bijvoorbeeld veel data ophalen. Dit soort aanvragen kan leiden tot een hoog gebruik van systeembronnen en time-outs.
Zie: NetWorker REST API: Er treedt af en toe een time-out op voor HTTP GET-verzoeken

Wanneer prestatieproblemen worden waargenomen op grote wereldwijde eindpunten, wordt aanbevolen om "query list filter" (q) of "Veldenlijstfilter" (fl) om de gegevens te beperken tot de specifieke informatie die nodig is. In het bovenstaande KB-artikel worden deze instellingen beschreven, en aanvullende informatie is beschikbaar in de REST API Developer Guide: Dell Technologies ontwikkelaar 

Als het probleem te maken heeft met REST API-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 "Prestatiemeter:

  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:

Procmon tellers venster

  1. Klik op OK. Klik met de rechtermuisknop op Prestatiemeter en klik op Nieuwe> dataverzamelaarset.
  2. Geef een naam op, bijvoorbeeld: RESTAPI_MON.
  3. Klik in het locatiescherm op Volgende,  tenzij u ervoor kiest om een alternatieve uitvoerlocatie op te geven.
  4. Selecteer Opslaan en sluiten en klik op Voltooien.
  5. Open in het linkerdeelvenster onder Data Collector Sets-User> Defined het pictogram RESTAPI_MON eigenschappen en selecteer Gescheiden door komma's voor de logboekindeling, klik op OK.

Procmon data collector

  1. Selecteer in het linkerdeelvenster onder Data Collector Sets-User> Defined de RESTAPI_MON data collector set en klik op Start (knop Afspelen)
  2. Als de standaarduitvoerlocatie is gebruikt, wordt het .csv bestand weergegeven onder C:\PerfLogs\Admin\RESTAPI_MON.
  3. 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.

Getroffen producten

NetWorker Series

Producten

NetWorker Series
Artikeleigenschappen
Artikelnummer: 000014298
Artikeltype: How To
Laatst aangepast: 22 jan. 2026
Versie:  7
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.