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

摘要: 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. ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

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

原因

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.  

解决方案

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.

其他信息

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.

产品

NetWorker
文章属性
文章编号: 000172472
文章类型: Solution
上次修改时间: 07 11月 2025
版本:  8
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。