API REST NetWorker: Le richieste HTTP GET sono in timeout intermittente

Riepilogo: L'API (Application Program Interface) REST (Representational State Transfer) di NetWorker viene utilizzata per richiedere informazioni (HTTP GET) da un server NetWorker nell'ambiente. Si verifica il timeout intermittente delle query dell'API REST e il restapi.log mostra un messaggio di errore del server interno a causa di un timeout del socket. ...

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

L'API (Application Program Interface) REST (Representational State Transfer) di NetWorker viene utilizzata per richiedere informazioni (HTTP GET) da un server NetWorker nell'ambiente. Si verifica il timeout intermittente delle query dell'API REST e il restapi.log mostra un messaggio di errore del server interno a causa di un timeout del socket.  
YYYY-MM-DD HH:MM:SS INFO [https-jsse-nio-9090-exec-26] c.e.n.w.WebApiResponse - Response status Method: 'GET', URI:'v3/global/backups', Status '200'
YYYY-MM-DD HH:MM:SS INFO [https-jsse-nio-9090-exec-26] c.e.n.w.WebApiResponse - Response status Method: 'GET', URI:'v3/global/backups', Status '500'
...
YYYY-MM-DD HH:MM:SS ERROR [https-jsse-nio-9090-exec-11] c.e.n.w.WebApiExceptionMapper - Status 'Internal Server Error', msg: java.io.IOException: Broken pipe
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:333) ~[catalina.jar:9.0.10]

Un comando curl per l'API REST del server NetWorker mostra:  

[root@NetworkerServer]# curl -X GET -H "Content-Type: application/json" "https://mynsr.mydomain.com:9090/nwrestapi/v3/global/backups" -u "administrator" -k -1
Enter host password for user 'administrator':
curl: (28) Operation timed out after 300406 milliseconds with 0 out of 0 bytes received

Causa

Le chiamate API REST "v3/global/backups" e "v3/global/jobs" da sola è una query a uso intensivo di risorse e può causare il timeout della richiesta in ambienti più grandi.  

I servizi API REST di NetWorker sono in hosting su un container servlet Java Apache Tomcat eseguito su una JVM (Java Virtual Machine). L'API REST utilizza la memoria JVM per elaborare ogni richiesta ed è stato dimostrato che non tutta la memoria viene rilasciata dopo una query a uso intensivo di risorse. L'aumento dell'utilizzo della memoria JVM può infine causare il timeout di altre richieste API REST meno dispendiose in termini di risorse.  

Risoluzione

Evitare di utilizzare le richieste a uso intensivo di risorse per recuperare informazioni dal server NetWorker. Ad esempio, il "v3/global/backups" oppure "v3/global/clients/CLIENT_NUMBER/backups" con un intervallo di tempo definito può essere utilizzato al posto del "v3/global/backups" per recuperare tutti i backup.

Ad esempio, limitare i risultati per saveTime in un intervallo di tempo specificato. Esempio di query per i processi completati nelle ultime 24 ore:
 

.. /global/backups esempio:

https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/backups?q=saveTime:["START" TO "END"]
https://nsr.amer.lan:9090/nwrestapi/v3/global/backups?q=saveTime:["2024-07-24T00:00:01" TO "2024-07-24T23:59:59"]

.
./global/clients/client_resourceId_number/backups

https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/clients/client_resourceID_number/backups?q=saveTime:["START" TO "END"]
https://nsr.amer.lan:9090/nwrestapi/v3/global/clients/87.0.90.20.0.0.0.0.196.80.99.102.192.168.9.150/backups?q=saveTime:["2024-07-24T00:00:01" TO "2024-07-24T23:59:59"]


../global/jobs:

https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/jobs?q=endTime:["START" TO "END"]
https://nsr.amer.lan:9090/nwrestapi/v3/global/jobs?q=endTime:["2024-07-29T00:00:01" TO "2024-07-29T23:59:59"]

 

NOTA: Modificare di conseguenza YYYY-MM-DDTHH:mm:SS nelle ore START e END. Questi esempi sono forniti solo a scopo dimostrativo. Per restituire i dati desiderati, potrebbero essere necessarie specifiche di query dell'API REST o funzioni di filtro aggiuntive. Ulteriori informazioni ed esempi sono disponibili nella documentazione dell'API REST: https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

Se si verifica il timeout delle richieste API REST meno impegnative in termini di risorse, i servizi del server NetWorker possono essere riavviati per rilasciare l'utilizzo della memoria JVM esistente.

Informazioni aggiuntive

Le correzioni di codice sono andate in NetWorker 19.4 per migliorare l'utilizzo di JVM dalla richiesta netWorker/API REST; Tuttavia NetWorker termina con il 30/11/2023. Se il server NetWorker è 19.4 o versioni precedenti, aggiornare il server NetWorker a una versione supportata.

Prodotti

NetWorker
Proprietà dell'articolo
Numero articolo: 000172472
Tipo di articolo: Solution
Ultima modifica: 07 nov 2025
Versione:  8
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.