NetWorker REST -ohjelmointirajapinta: HTTP GET -pyynnöt aikakatkaistaan ajoittain

Summary: 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. ...

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) -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.  

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

Cause

REST-ohjelmointirajapinta kutsuu "v3/global/backups", "v3/global/jobs", tai "v3/global/volumes" Pelkästään vaativat resursseja vaativat kyselyt ja voivat aiheuttaa pyynnön aikakatkaisun suuremmissa ympäristöissä.  

HUOMAUTUS: Ongelma ei rajoitu lueteltuihin REST API -päätepisteisiin. Se voi esiintyä missä tahansa suuressa globaalissa päätepisteessä, ja havainnot voivat vaihdella palvelimeittain.

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.  

Resolution

Ä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ä:
 

../global/backups Esimerkki:

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"]
HUOMAUTUS: Muokkaa VVVVV-KK-PPTHH:mm:SS alkamis- ja päättymisaikoja vastaavasti. Nämä esimerkit ovat vain esittelytarkoituksessa. Haluttujen tietojen palauttamiseksi saatetaan tarvita muita REST API -kyselymäärityksiä tai suodatinfunktioita. Lisätietoja ja esimerkkejä on REST API -dokumentaatiossa: https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

../global/volumes Esimerkki:

https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/volumes?q=type:"MEDIA_TYPE"&fl=location,name,mode,pool,written
https://nsr.amer.lan:9090/nwrestapi/v3/global/volumes?q=type:"Data Domain"&fl=location,name,mode,pool,written

 

Additional Information

Katso REST API -kehittäjän oppaasta , joka koskee NetWorker API -kutsuja, "kyselyluettelosuodatin" (q) ja "kenttäluettelosuodatin" (fl) asetuksia.
REST API:n virheenkorjaus on määritelty: NetWorker: REST API -virheenkorjauksen

ottaminen käyttöönVaihtoehtoisesti voidaan käyttää seuraavaa testausta:

Käytä seuraavia vaihtoehtoja REST API -komennossa:
 

Asetus Tarkoitus
--max-time 3600 Asettaa koko siirron (DNS, yhteys, TLS, pyyntö ja vastauksen tekstiosa) kestoksi 3 600 sekuntia (1 tunti). Jos koko toimintoa ei suoriteta loppuun tunnin kuluessa, käpristyminen pysähtyy aikakatkaisuvirheen vuoksi.
--connect-timeout 60 Rajoittaa TCP/TLS-yhteyden muodostamiseen tarvittavan ajan 60 sekuntiin. Jos kihara ei saa yhteyttä 60 sekunnin kuluessa, se epäonnistuu. Kun --retry on käytössä, se voi yrittää uudelleen (alla olevien uudelleenyrityssääntöjen mukaisesti). Tätä arvoa voidaan muuttaa harkintasi mukaan. 
--retry 3 Kehottaa käpristymään yrittämään uudelleen jopa kolme kertaa ohimenevien vikojen sattuessa. Tätä arvoa voidaan muuttaa harkintasi mukaan. 
Tyypillisiä uudelleenyritysten käynnistimiä:
  • Verkkotason ongelmat (esimerkki: Yhteyden aikakatkaisut, DNS-ongelmat, TLS-kättelyvirheet).
  • HTTP 5xx Palvelinvirheet (esimerkki: 500, 502, 503, 504).
--retry-delay 5 Määrittää kiinteän 5 sekunnin odotusajan uudelleenyritysten välille. Ohimenevän vian jälkeen curl odottaa 5 sekuntia ennen seuraavaa yritystä. Tätä arvoa voidaan muuttaa harkintasi mukaan. 
-H "X-NW-AUTHC-BASE-URL:REMOTE_AUTHC_SERVER_ADDRESS:9090" (Valinnainen.) Tämä vaaditaan vain, jos kirjautumispyyntöjen käsittelyyn käytettävä NetWorker-isäntä on erillään REST API -päätepisteen NetWorker-palvelimesta. Katso:
NetWorker REST API: Kuinka käyttää AUTHC-etäpalvelinta RESTAPI-pyyntöjä käsiteltäessä

Windows Powershell:

curl.exe -k -v --compressed `
  --max-time 3600 `
  --connect-timeout 60 `
  --retry 3 `
  --retry-delay 5 `
  -u NETWORKER_USERNAME:'PASSWORD' `
  -H "Accept: application/json" `
  "https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/volumes/ENDPOINT" `
| ConvertFrom-Json `
| ConvertTo-Json -Depth 20 `
| Out-File -Encoding UTF8 OUTPUT_FILE_NAME
HUOMAUTUS: -Depth 20 on PowerShellin parametri ConvertTo-Json cmdlet. Se määrittää, kuinka monta tasoa sisäkkäisiä objekteja ja matriiseja sisällytetään, kun PowerShell sarjoittaa tiedot JSON-muotoon. Sisäkkäisten objektien määrä (jos niitä on) voi vaihdella käytetyn REST API -päätepisteen ja mahdollisen kyselyluettelosuodattimen (q) tai "kenttäluettelosuodatin" (fl) käytetyt parametrit. 20:n pitäisi olla enemmän kuin riittävä NetWorker REST API -kutsuille.
Esimerkki:
Esimerkki curl-komennosta
Yllä oleva esimerkki loi volumes.json tiedosto hakemistossa, josta curl.exe ajettiin. Tiedoston sisältö sisältää REST API -tietosisällön:
REST API -tulos

Linux:

curl -k -v --compressed \
  --max-time 3600 \
  --connect-timeout 60 \
  --retry 3 \
  --retry-all-errors \
  --retry-delay 5 \
  -u NETWORKER_USERNAME:'PASSWORD' \
  -H "Accept: application/json" \
  "https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/volumes/ENDPOINT" \
  -o volumes.json

Esimerkki (ilman -v lyhyyden vuoksi):

[root@nsr ~]# curl -k --compressed \
  --max-time 3600 \
  --connect-timeout 60 \
  --retry 3 \
  --retry-all-errors \
  --retry-delay 5 \
  -u Administrator:'!Password1' \
  -H "Accept: application/json" \
  "https://nsr.amer.lan:9090/nwrestapi/v3/global/volumes?q=type%3A%22Data%20Domain%22&fl=location,name,mode,pool,written" \
  -o volumes.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   908    0   908    0     0  22700      0 --:--:-- --:--:-- --:--:-- 22146

Tässä esimerkissä tiedosto "volumes.json" luotiin samaan hakemistoon, josta komento suoritettiin.
JSON-muotoilun jäsentämiseen oikein voidaan käyttää erilaisia työkaluja, käytetyt työkalut voivat vaihdella käyttöjärjestelmän ja asennetun ohjelmiston mukaan.

[root@nsr ~]# cat volumes.json | python -m json.tool
{
    "count": 6,
    "volumes": [
        {
            "location": "ddve01.amer.lan",
            "mode": "Appendable",
            "name": "nsr.amer.lan.dddefault.001",
            "pool": "Data Domain Default",
            "written": {
                "unit": "KB",
                "value": 429
            }
        },
        {
            "location": "ddve01.amer.lan",
            "mode": "Appendable",
            "name": "nsr.amer.lan.dddefault.002",
            "pool": "Data Domain Default",
            "written": {
                "unit": "KB",
                "value": 25917027
            }
        },
        {
            "location": "ddve01.amer.lan",
            "mode": "Appendable",
            "name": "VMBackupPool.001",
            "pool": "VMBackupPool",
            "written": {
                "unit": "KB",
                "value": 209818962
            }
        },
        {
            "location": "ddve01.amer.lan",
            "mode": "Appendable",
            "name": "VMBackupPool.002",
            "pool": "VMBackupPool",
            "written": {
                "unit": "KB",
                "value": 2308309500
            }
        },
        {
            "location": "ddve02.amer.lan",
            "mode": "Appendable",
            "name": "nsr.amer.lan_c.dddefault.001",
            "pool": "Data Domain Default Clone",
            "written": {
                "unit": "KB",
                "value": 36752
            }
        },
        {
            "location": "ddve02.amer.lan",
            "mode": "Appendable",
            "name": "VMClonePool.001",
            "pool": "VMClonePool",
            "written": {
                "unit": "KB",
                "value": 0
            }
        }
    ]
}

Products

NetWorker
Article Properties
Article Number: 000172472
Article Type: Solution
Last Modified: 01 Jan 2026
Version:  10
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.