NetWorker REST API Triage Guide
Summary: Questo articolo della Knowledge Base fornisce una panoramica della risoluzione dei problemi di base correlati a RESTAPI.
Instructions
Guarda su YouTube
Additional Information
Guida introduttiva
L'API (Application Programming Interface) REST (Representational State Transfer) fornisce l'accesso programmatico al servizio di protezione dei dati NetWorker. Utilizzando l'API REST, gli utenti di NetWorker possono creare applicazioni client per automatizzare le operazioni di NetWorker. L'API REST NetWorker viene installata come parte dell'installazione del server NetWorker nello stesso container Apache Tomcat dei servizi di autenticazione NetWorker. L'autenticazione viene eseguita con le stesse credenziali usate per NetWorker Management Console.
L'API REST consente l'interazione con le risorse identificate da indirizzi URI (Uniform Resource Identifier). Utilizza verbi HTTP (HEAD, GET, PUT, POST, DELETE) per interagire con l'URI (Uniform Resource Identifier) in modo senza stato (il server non contiene alcuno stato del client, ogni messaggio è autodescrittivo).
Questo documento illustra l'interazione con le risorse di NetWorker tramite chiamate API REST scritte dall'utente. Da non confondere con le chiamate API REST utilizzate dalle operazioni back-end di NetWorker.
Connessione a NetWorker:
Esistono diverse tecnologie client API REST che possono essere utilizzate per eseguire i comandi per la connessione a NetWorker. inclusi i comandi curl (Linux), PowerShell Invoke-WebRequest (Windows) e le estensioni del browser client API REST.Per la connessione sono necessarie tre intestazioni:
- Tipo di contenuto: application/json
- Accettare: applicazione/json
- Authorization: Base con nome utente e password codificati Base 64
Negli ambienti in cui sono presenti più datazone NetWorker che eseguono l'autenticazione tramite un singolo server NetWorker AUTHC, è necessaria un'intestazione aggiuntiva:
- X-NW-AUTHC-BASE-URL:AUTHC_HOSTNAME_OR_IP:AUTHC_PORT
L'API REST NetWorker è esposta nel seguente URI di base:
https://[nw-server-hostname]:9090/nwrestapi/Esistono diverse versioni di API. Da quando è stata inizialmente implementata l'API REST, sono stati implementati miglioramenti. Ad esempio:
https://[nw-server-hostname]:9090/nwrestapi/v1 https://[nw-server-hostname]:9090/nwrestapi/v2 https://[nw-server-hostname]:9090/nwrestapi/v3
Lo schema json completo è disponibile all'indirizzo
https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json
| Codice di operazione riuscita | Si applica al metodo HTTP | Contenuto del corpo della risposta | Descrizione |
| 200 | OTTIENI | Rappresentazione delle risorse. | OK. Le operazioni che determinano questo stato HTTP trasportano la rappresentazione della risorsa nel payload. |
| 201 | INSERISCI | Risposta vuota. | Creato. Questo stato indica che è stata creata una nuova risorsa o un lavoro previsto e il relativo URL associato è accessibile dall'intestazione della posizione nella risposta. |
| 202 | INSERISCI | Dettagli in risposta. | Accettato. Ciò indica che la richiesta API è stata accettata. Il payload indica che l'URL dell'istanza della risorsa di rilevamento è accessibile dall'intestazione della posizione nella risposta. |
| 204 | INSERIRE/ELIMINARE | Risposta vuota. | Nessun contenuto. Lo stato indica che l'operazione eseguita è stata eseguita correttamente. Tuttavia, non ci sono ulteriori dettagli da fornire. |
| Codice errore | Descrizione |
| 400 | Richiesta non valida. |
| 401 | Credenziali non valide. |
| 403 | Privilegi insufficienti. |
| 404 | Risorsa non trovata. |
| 405 | Metodo non consentito. |
| 406 | Si è specificata una configurazione regionale non valida. |
| 500 | Internal Server Error. |
Funzioni API REST
| Metodo HTTP | Action | Descrizione |
| OTTIENI | Read | Ottiene la rappresentazione della risorsa. |
| INSERISCI | Creazione | Crea una nuova risorsa. |
| METTERE | Aggiornamento | Aggiorna una risorsa esistente. |
| CANC | Rimozione | Elimina una risorsa esistente. |
Alcuni esempi:
GET
Elencare tutti i client.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
Un solo client, con visualizzazione di soli tre campi (hostname, saveSet e protectionGroups)
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121
Elencare i gruppi di protezione in cui si trova un client.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121
Mostrare gli avvisi correnti.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts
Mostra i processi recenti non riusciti.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message
Elencare i flussi di lavoro in una policy (denominata WinFS in questo esempio).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows
Elencare le proprietà di una sola istanza del saveset (come definito dal nome host del client e dal saveset).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"
INSERISCI:
Avvia un'azione del flusso di lavoro.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
JSON Body:
{
}
Creare una nuova istanza client (con valori predefiniti per tutte le proprietà tranne le quattro elencate).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
JSON Body
{
"hostname": "vm-lego-231",
"backupType": "Filesystem",
"saveSets": [ "/etc" ],
"protectionGroups" : [ "LinuxFS" ]
Informazioni richieste per il supporto
Ambiente:
- Nome server NetWorker
- Versione e numero di build di NetWorker
- Tipo e versione del sistema operativo host del server NetWorker
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a
Windows:
nsrwatch
- Spiegare quale operazione API REST viene eseguita (GET, POST, PUT, DELETE), l'URI utilizzato e il contenuto del corpo JSON (se applicabile).
- Codice di risposta dell'API REST ed eventuale messaggio di errore fornito.
- La connessione e l'autorizzazione iniziali tra il client API REST e NetWorker sono riuscite?
- Rendering daemon.raw file di log dal server NetWorker:
- Linux: /nsr/logs/daemon.raw
- Windows: C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
- NetWorker: Come utilizzare nsr_render_log (in inglese)
- Log API REST dal server NetWorker: /nsr/logs/restapi (linux) o EMC NetWorker\nsr\logs\restapi (Windows)
- Per i problemi di autenticazione, consultare la registrazione dell'autenticazione standard di NetWorker in /nsr/authc/logs (linux) o .. \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Prestazione
Se il problema è correlato alle prestazioni RESTAPI, è possibile utilizzare le seguenti opzioni per tenere traccia dell'utilizzo delle risorse del processo nsrtomc+ utilizzato dalle chiamate API.
Linux:
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
Questo output mostra l'output superiore standard, ma con timestamp leggibili. Può essere utilizzato per esaminare il consumo di CPU e memoria da parte del processo e per quanto tempo è rimasto in un determinato stato quando è stata effettuata una chiamata REST. È possibile confrontarlo con i registri restapi.log e AUTHC per vedere quali chiamate sono state effettuate e con quale frequenza.
Windows: Per i server Windows è necessario installare qualcosa come "Performance Monitor:
1. Aprire Performance Monitor come amministratore.
2. Nel riquadro di sinistra, espandere Monitoring Tools e selezionare Performance Monitor.
3. Cliccare con il pulsante destro del mouse all'interno del riquadro di destra e selezionare Remove all Counters.
4. Cliccare con il pulsante destro del mouse all'interno del riquadro di destra e selezionare Add Counters.
5. In Available Counters, espandere Memory, selezionare % Commit Bytes e cliccare su Add.6
. In Memory selezionare Available Bytes e cliccare su Add.
7. In Available Counters espandere Process e selezionare % Processor Time e in Instances of Selected object selezionare la prima voce Java, quindi cliccare su Add.
8. In Available Counters espandere Processor Information e selezionare % Processor Utility, quindi cliccare su Add.
9. I contatori aggiunti nel riquadro destro dovrebbero mostrare:

10. Cliccare su OK. Cliccare con il pulsante destro del mouse su Monitoraggio prestazioni, quindi cliccare su Nuovo> set agenti di raccolta dati.
11. Fornisci un nome, ad esempio: RESTAPI_MON.
12. Nella schermata del percorso, cliccare su Avanti, a meno che non si scelga di specificare un percorso di output alternativo.
13. Selezionare Save and Close , quindi cliccare su Finish.
14. Nel riquadro a sinistra, in Set agenti raccolta dati-Definito dall'utente,> aprire le proprietà del RESTAPI_MON e selezionare Comma Separated per il formato del registro, quindi cliccare su OK.

15. Nel riquadro sinistro, in Set agenti di raccolta dati - Definito dall'utente,>selezionare il set di agenti di raccolta dati RESTAPI_MON e fare clic su Avvia (pulsante Play).
16. Se è stato utilizzato il percorso di output predefinito, il file .csv viene visualizzato in C:\PerfLogs\Admin\RESTAPI_MON.
17. Una volta che il problema è stato osservato e registrato nel file di output, è possibile interrompere il monitoraggio cliccando su Stop in Set agenti di raccolta dati - Definito dall'utente.
Altre risorse
Tutti gli endpoint API REST supportati e gli esempi di utilizzo sono forniti in: Guida di riferimento alle API REST di NetWorker