NetWorker-REST-API: Zeitweise Timeouts bei HTTP GET-Anforderungen

Zusammenfassung: Die Anwendungsprogrammschnittstelle (API) von NetWorker Representational State Transfer (REST) wird verwendet, um Informationen (HTTP GET) von einem NetWorker-Server in der Umgebung anzufordern. Bei den REST API-Abfragen tritt gelegentlich ein Timeout auf und der restapi.log zeigt aufgrund eines Socket-Timeouts eine interne Serverfehlermeldung an. ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

Die Anwendungsprogrammschnittstelle (API) von NetWorker Representational State Transfer (REST) wird verwendet, um Informationen (HTTP GET) von einem NetWorker-Server in der Umgebung anzufordern. Bei den REST API-Abfragen tritt gelegentlich ein Timeout auf und der restapi.log zeigt aufgrund eines Socket-Timeouts eine interne Serverfehlermeldung an.  
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]

Ein curl-Befehl für die NetWorker-Server-REST-API zeigt Folgendes an:  

[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

Ursache

Die REST API ruft "v3/global/backups" und "v3/global/jobs" allein ist eine ressourcenintensive Abfrage und kann in größeren Umgebungen zu einem Timeout der Anforderung führen.  

Die NetWorker-REST-API-Services werden auf einem Apache Tomcat-Java-Servlet-Container gehostet, der auf einer Java Virtual Machine (JVM) ausgeführt wird. Die REST API verwendet JVM-Speicher, um jede Anforderung zu verarbeiten, und es hat sich gezeigt, dass nicht der gesamte Speicher nach einer ressourcenintensiven Abfrage freigegeben wird. Die Erhöhung der JVM-Speicherauslastung kann schließlich zu einem Timeout bei anderen, weniger ressourcenintensiven REST API-Anforderungen führen.  

Lösung

Vermeiden Sie die Verwendung ressourcenintensiver Anfragen zum Abrufen von Informationen vom NetWorker-Server. Beispiel: "v3/global/backups" oder "v3/global/clients/CLIENT_NUMBER/backups" mit einem definierten Zeitbereich anstelle der globalen "v3/global/backups", um alle Backups abzurufen.

Beschränken Sie beispielsweise die Ergebnisse für saveTime zwischen einem beliebigen angegebenen Zeitraum. Beispiel für eine Abfrage von Jobs, die innerhalb der letzten 24 Stunden abgeschlossen wurden:
 

.. Beispiel für /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"]

 

HINWEIS: Ändern Sie den Wert JJJJ-MM-TTTHH:mm:SS in den START- und END-Zeiten entsprechend. Diese Beispiele dienen nur zu Demonstrationszwecken. Möglicherweise sind zusätzliche REST-API-Abfragespezifikationen oder Filterfunktionen erforderlich, um die gewünschten Daten zurückzugeben. Weitere Informationen und Beispiele finden Sie in der REST-API-Dokumentation: https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

Wenn bei weniger ressourcenintensiven REST API-Anforderungen eine Zeitüberschreitung auftritt, können die NetWorker-Serverservices neu gestartet werden, um die vorhandene JVM-Speichernutzung freizugeben.

Weitere Informationen

Codekorrekturen wurden in NetWorker 19.4 aufgenommen, um die JVM-Nutzung über die NetWorker-/REST-API-Anforderung zu verbessern. NetWorker hat den Support jedoch zum 30.11.2023 eingestellt. Wenn der NetWorker-Server 19.4 oder älter ist, aktualisieren Sie den NetWorker-Server auf eine unterstützte Version.

Produkte

NetWorker
Artikeleigenschaften
Artikelnummer: 000172472
Artikeltyp: Solution
Zuletzt geändert: 07 Nov. 2025
Version:  8
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.