API REST NetWorker : Les demandes HTTP GET expirent par intermittence

Summary: L’API (Application Program Interface) de NetWorker Representational State Transfer (REST) est utilisée pour demander des informations (HTTP GET) à un NetWorker Server dans l’environnement. Les requêtes de l’API REST expirent par intermittence et le restapi.log affiche un message d’erreur interne du serveur en raison d’un délai d’expiration du socket. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

L’API (Application Program Interface) de NetWorker Representational State Transfer (REST) est utilisée pour demander des informations (HTTP GET) à un NetWorker Server dans l’environnement. Les requêtes de l’API REST expirent par intermittence et le restapi.log affiche un message d’erreur interne du serveur en raison d’un délai d’expiration du 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]

Une commande curl envoyée à l’API REST du NetWorker Server affiche les éléments suivants :  

[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

Cause

L’API REST appelle «v3/global/backups" et "v3/global/jobs" seule est une requête gourmande en ressources et peut entraîner l’expiration de la demande dans des environnements de plus grande taille.  

Les services d’API REST NetWorker sont hébergés sur un conteneur de servlet Java Apache Tomcat exécuté sur une machine virtuelle Java (JVM). L’API REST utilise la mémoire JVM pour traiter chaque demande, et il a été démontré que toute la mémoire n’est pas libérée après une requête gourmande en ressources. L’augmentation de l’utilisation de la mémoire JVM peut éventuellement entraîner l’expiration d’autres demandes d’expiration de l’API REST moins gourmandes en ressources.  

Resolution

Évitez d’utiliser des requêtes gourmandes en ressources pour récupérer des informations à partir du NetWorker Server. Par exemple, l’option «v3/global/backups« ou »v3/global/clients/CLIENT_NUMBER/backups« avec une plage de temps définie peut être utilisée à la place de la variable globale »v3/global/backups» pour récupérer toutes les sauvegardes.

Par exemple, limitez les résultats de saveTime entre n’importe quelle plage horaire spécifiée. Exemple de requête pour les tâches qui se sont terminées au cours des dernières 24 heures :
 

.. Exemple avec l’option /global/backups :

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"]

 

Remarque : Modifiez les heures AAAA-MM-JJHH :mm :SS dans les heures de DÉBUT et de FIN en conséquence. Ces exemples sont fournis à des fins de démonstration uniquement. Des spécifications de requête d’API REST supplémentaires ou des fonctions de filtrage peuvent être requises pour renvoyer les données souhaitées. Pour plus d’informations et d’exemples, reportez-vous à la documentation de l’API REST : https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

Si les demandes d’API REST moins gourmandes en ressources arrivent à expiration, les services du serveur NetWorker peuvent être redémarrés pour libérer l’utilisation de la mémoire JVM existante.

Additional Information

Les correctifs de code sont passés dans NetWorker 19.4 pour améliorer l’utilisation de JVM à partir de la demande NetWorker/REST API ; Cependant, NetWorker est en fin de support à compter du 11-30-2023. Si le serveur NetWorker est version 19.4 ou antérieure, mettez à niveau le serveur NetWorker vers une version prise en charge.

Products

NetWorker
Article Properties
Article Number: 000172472
Article Type: Solution
Last Modified: 07 Nov 2025
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.