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

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

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

症状

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

原因

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

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

解决方案

リソース負荷の高い要求を使用して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メモリー使用量を解放することができます。

其他信息

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

产品

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