NetWorker REST -ohjelmointirajapinta: HTTP GET -pyynnöt aikakatkaistaan ajoittain
Zusammenfassung: NetWorker representational state transfer (REST) -sovellusliittymää (API) käytetään tietojen (HTTP GET) pyytämiseen NetWorker-palvelimelta ympäristössä. REST-ohjelmointirajapintakyselyt aikakatkaistaan ajoittain, ja restapi.log näyttää sisäisen palvelimen virheilmoituksen Socket Timeout -aikakatkaisun vuoksi. ...
Symptome
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 Server REST -ohjelmointirajapinnan curl-komento näyttää:
[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
Ursache
REST-ohjelmointirajapinta kutsuu "v3/global/backups" ja "v3/global/jobs" yksin on resursseja vaativa kysely ja voi aiheuttaa pyynnön aikakatkaisun suuremmissa ympäristöissä.
NetWorker REST API -palveluita isännöidään Apache Tomcat Java servlet -säilössä, jota käytetään Java Virtual Machinessa (JVM). REST-ohjelmointirajapinta käyttää JVM-muistia jokaisen pyynnön käsittelyyn, ja on osoitettu, että kaikkea muistia ei vapauteta resursseja vaativan kyselyn jälkeen. JVM-muistin käytön lisääntyminen voi lopulta johtaa muihin vähemmän resursseja vaativiin REST-ohjelmointirajapintapyyntöihin.
Lösung
Älä käytä paljon resursseja vaativia pyyntöjä tietojen noutamiseen NetWorker Serveristä. Esimerkiksi "v3/global/backups" tai "v3/global/clients/CLIENT_NUMBER/backups" määritetyllä aikavälillä voidaan käyttää globaalin "v3/global/backups" hakeaksesi kaikki varmuuskopiot.
Voit esimerkiksi rajoittaa saveTimen tuloksia tietyn ajanjakson välillä. Esimerkki viimeisen 24 tunnin aikana valmistuneiden töiden kyselystä:
.. Esimerkki /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"]
Jos vähemmän resursseja vaativat REST API -pyynnöt aikakatkaistaan, NetWorker Server -palvelut voidaan käynnistää uudelleen nykyisen JVM-muistin käytön vapauttamiseksi.