NetWorker REST API: Er treedt af en toe een time-out op voor HTTP GET-verzoeken

摘要: De NetWorker Representational State Transfer (REST) Application Program Interface (API) wordt gebruikt om informatie (HTTP GET) op te vragen bij een NetWorker-server in de omgeving. Er treedt af en toe een time-out op voor de REST API-query's en de restapi.log geeft een interne serverfoutmelding weer als gevolg van een time-out van de socket. ...

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

症状

De NetWorker Representational State Transfer (REST) Application Program Interface (API) wordt gebruikt om informatie (HTTP GET) op te vragen bij een NetWorker-server in de omgeving. Er treedt af en toe een time-out op voor de REST API-query's en de restapi.log geeft een interne serverfoutmelding weer als gevolg van een time-out van de 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]

Een curl-opdracht voor de NetWorker Server REST API laat het volgende zien:  

[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

原因

De REST API roept "v3/global/backups" en "v3/global/jobs" alleen is een resource-intensieve query en kan leiden tot een time-out van de aanvraag in grotere omgevingen.  

De NetWorker REST API-services worden gehost op een Apache Tomcat Java servlet-container die wordt uitgevoerd op een Java Virtual Machine (JVM). De REST API maakt gebruik van JVM-geheugen om elke aanvraag te verwerken en het is aangetoond dat niet al het geheugen wordt vrijgegeven na een resource-intensieve query. De toename in JVM-geheugengebruik kan uiteindelijk leiden tot andere, minder resource-intensieve REST API-aanvragen voor time-outs.  

解决方案

Vermijd het gebruik van de resource-intensieve aanvragen om informatie op te halen van de NetWorker-server. Bijvoorbeeld, de "v3/global/backups" of "v3/global/clients/CLIENT_NUMBER/backups" met een gedefinieerd tijdsbereik kan worden gebruikt in plaats van de algemene "v3/global/backups" om alle back-ups op te halen.

Beperk bijvoorbeeld de resultaten voor saveTime tussen een opgegeven tijdsbereik. Een voorbeeld van een query voor taken die in de afgelopen 24 uur zijn voltooid:
 

.. /global/backups voorbeeld:

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

 

OPMERKING: Wijzig de YYYY-MM-DDT UU:mm:SS in de BEGIN- en EIND-tijd dienovereenkomstig. Deze voorbeelden zijn alleen bedoeld ter demonstratie. Er kunnen aanvullende REST API-queryspecificaties of filterfuncties nodig zijn om de gewenste data te retourneren. Meer informatie en voorbeelden zijn beschikbaar in de documentatie van de REST API: https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

Als er een time-out optreedt voor minder resource-intensieve REST API-aanvragen, kunnen de NetWorker Server-services opnieuw worden gestart om het bestaande JVM-geheugengebruik vrij te geven.

其他信息

Codecorrecties zijn naar NetWorker 19.4 gegaan om het JVM-gebruik te verbeteren van de NetWorker/REST API-aanvraag; NetWorker is echter einde support vanaf 11-30-2023. Als de NetWorker-server 19.4 of ouder is, moet u de NetWorker-server upgraden naar een ondersteunde release.

产品

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