NetWorker REST API: HTTP GETリクエストが断続的にタイムアウトする

Summary: NetWorker Representational State Transfer (REST)アプリケーション プログラム インターフェイス(API)は、環境内のNetWorkerサーバからの情報の要求(HTTP GET)に使用されます。REST APIクエリーが断続的にタイムアウトし、ソケット タイムアウトによる内部サーバー エラー メッセージがrestapi.logに表示されます。 ...

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

NetWorker Representational State Transfer (REST)アプリケーション プログラム インターフェイス(API)は、環境内のNetWorkerサーバからの情報の要求(HTTP GET)に使用されます。REST APIクエリーが断続的にタイムアウトし、ソケット タイムアウトによる内部サーバー エラー メッセージがrestapi.logに表示されます。  
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]

NetWorkerサーバーREST APIへのcurlコマンドでは、次のように表示されます。  

[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

REST APIは「v3/global/backups」と "v3/global/jobs" 単独のクエリはリソースを大量に消費するため、大規模な環境では要求がタイムアウトする可能性があります。  

NetWorker REST APIサービスは、JVM(Java仮想マシン)上で実行されるApache Tomcat Javaサーブレット コンテナでホストされます。REST APIは、JVMメモリーを使用してすべてのリクエストを処理しますが、リソースを大量に消費するクエリーの後に、一部のメモリーが解放されるわけではないことが示されています。JVMメモリー使用率が増加すると、最終的に、リソース消費の少ない他のREST API要求がタイムアウトする可能性があります。  

Resolution

リソース負荷の高い要求を使用してNetWorkerサーバーから情報を取得することは避けてください。たとえば、"v3/global/backups」または「v3/global/clients/CLIENT_NUMBER/backupsグローバルの「v3/global/backups」をクリックして、すべてのバックアップを取得します。

たとえば、saveTime の結果を指定した時間範囲に制限します。過去 24 時間以内に完了したジョブのクエリの例:
 

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

 

メモ: 適宜、START時刻とEND時刻の YYYY-MM-DDTHH:mm:SSを変更します。これらの例は、デモンストレーションのみを目的としています。必要なデータを返すには、追加のREST APIクエリー仕様またはフィルター関数が必要になる場合があります。詳細な情報と例については、REST APIのドキュメントを参照してください https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

リソースを大量に消費しないREST APIリクエストがタイムアウトした場合は、NetWorkerサーバー サービスを再起動して、既存のJVMメモリー使用量を解放することができます。

Additional Information

NetWorker/REST APIリクエストからのJVM使用率を向上させるために、コード修正がNetWorker 19.4に追加されました。ただし、NetWorkerは2023年11月30日時点でサポート終了です。NetWorkerサーバーが19.4以前の場合は、NetWorkerサーバーをサポートされているリリースにアップグレードします。

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.