Interfejs API REST NetWorker: Żądania HTTP GET sporadycznie przekraczają limit czasu

Podsumowanie: Interfejs aplikacji (API) transferu stanu reprezentacji (REST) NetWorker służy do żądania informacji (HTTP GET) z serwera NetWorker w środowisku. Interfejs API REST sporadycznie przekracza limit czasu, a restapi.log wyświetla wewnętrzny komunikat o błędzie serwera z powodu przekroczenia limitu czasu gniazda. ...

Ten artykuł dotyczy Ten artykuł nie dotyczy Ten artykuł nie jest powiązany z żadnym konkretnym produktem. Nie wszystkie wersje produktu zostały zidentyfikowane w tym artykule.

Objawy

Interfejs aplikacji (API) transferu stanu reprezentacji (REST) NetWorker służy do żądania informacji (HTTP GET) z serwera NetWorker w środowisku. Interfejs API REST sporadycznie przekracza limit czasu, a restapi.log wyświetla wewnętrzny komunikat o błędzie serwera z powodu przekroczenia limitu czasu gniazda.  
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]

Polecenie curl do interfejsu API REST serwera NetWorker pokazuje:  

[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

Przyczyna

Wywołania interfejsu API REST "v3/global/backups" oraz "v3/global/jobs" jest zapytaniem wymagającym dużej ilości zasobów i może spowodować przekroczenie limitu czasu żądania w większych środowiskach.  

Usługi interfejsu API REST NetWorker są hostowane w kontenerze serwletów Java Apache Tomcat, który jest uruchamiany na wirtualnej maszynie Java (JVM). Interfejs API REST używa pamięci JVM do przetwarzania każdego żądania i wykazano, że nie cała pamięć jest zwalniana po zapytaniu wymagającym dużej ilości zasobów. Wzrost wykorzystania pamięci JVM może ostatecznie doprowadzić do przekroczenia limitu czasu innych, mniej zasobożernych żądań interfejsu API REST.  

Rozwiązanie

Należy unikać korzystania z żądań wymagających dużej ilości zasobów w celu pobierania informacji z serwera NetWorker. Na przykład "v3/global/backups" lub "v3/global/clients/CLIENT_NUMBER/backups" ze zdefiniowanym zakresem czasu może być używany zamiast używać globalnego "v3/global/backups", aby pobrać wszystkie kopie zapasowe.

Na przykład ogranicz wyniki saveTime między dowolnym określonym zakresem czasu. Przykład zapytania dotyczącego zadań, które zostały ukończone w ciągu ostatnich 24 godzin:
 

.. Przykład /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"]

 

UWAGA: Zmodyfikuj odpowiednio RRRR-MM-DDT HH:mm:SS w godzinach START i END. Przykłady te służą wyłącznie do celów demonstracyjnych. Do zwrócenia żądanych danych mogą być wymagane dodatkowe specyfikacje zapytań interfejsu API REST lub funkcje filtrowania. Więcej informacji i przykłady są dostępne w dokumentacji interfejsu API REST: https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

Jeśli upływa limit czasu żądań interfejsu API REST wymagających mniejszej ilości zasobów, można ponownie uruchomić usługi serwera NetWorker w celu zwolnienia istniejącego użycia pamięci JVM.

Dodatkowe informacje

Poprawki kodu zostały wprowadzone do NetWorker 19.4 w celu zwiększenia wykorzystania JVM z żądania NetWorker/REST API; jednak networker zakończył obsługę na lata 11-30-2023. Jeśli serwer NetWorker ma wersję 19.4 lub starszą, uaktualnij serwer NetWorker do obsługiwanej wersji.

Produkty

NetWorker
Właściwości artykułu
Numer artykułu: 000172472
Typ artykułu: Solution
Ostatnia modyfikacja: 07 lis 2025
Wersja:  8
Znajdź odpowiedzi na swoje pytania u innych użytkowników produktów Dell
Usługi pomocy technicznej
Sprawdź, czy Twoje urządzenie jest objęte usługą pomocy technicznej.