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

Yhteenveto: NetWorker representational state transfer (REST) -sovellusliittymää (API) käytetään tietojen (HTTP GET) pyytämiseen NetWorker-palvelimelta ympäristössä. REST-ohjelmointirajapinta aikakatkaisuu ajoittain, ja restapi.log näyttää sisäisen palvelimen virheilmoituksen vastakkeen aikakatkaisun vuoksi. ...

Tämä artikkeli koskee tuotetta Tämä artikkeli ei koske tuotetta Tämä artikkeli ei liity tiettyyn tuotteeseen. Tässä artikkelissa ei yksilöidä kaikkia tuoteversioita.

Oireet

Tietojen pyytämiseen käytetään NetWorker REST APIa (HTTP GET) ympäristössä olevalta NetWorker-palvelimelta. REST-ohjelmointirajapinta aikakatkaisuu 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]

A curl NetWorker Server REST API:n 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

Syy

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 nähdään, että kaikkea muistia ei vapauteta paljon resursseja vaativan kyselyn jälkeen. JVM-muistin käytön lisääntyminen voi lopulta johtaa muihin vähemmän resursseja vaativiin REST-ohjelmointirajapintapyyntöihin.

Tarkkuus

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

Rajoita esimerkiksi saveTime minkä tahansa määritetyn 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

Lisätietoja

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 kovan ylärajan 3600 sekunniksi (1 tunti) koko siirrolle (DNS, yhteys, TLS, pyyntö ja vastausteksti) - Jos koko toimintoa ei saada päätökseen tunnin kuluessa, curl Pysähtyy aikakatkaisuvirheen vuoksi.
--connect-timeout 60 Rajoittaa TCP/TLS-yhteyden muodostamiseen tarvittavan ajan 60 sekuntiin. Jos curl Yhteyden muodostaminen ei onnistu 60 sekunnissa, se epäonnistuu. Myös --retry Se voi yrittää uudelleen (alla olevien uudelleenyrityssääntöjen mukaisesti). Tätä arvoa voidaan muuttaa harkintasi mukaan. 
--retry 3 Ohjaa curl Voit yrittää uudelleen enintään kolme kertaa tilapäisten virheiden tapauksessa – Tätä arvoa voidaan muuttaa oman 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 Asettaa kiinteän 5 sekunnin odotusajan uudelleenyritysten välillä - ohimenevän virheen 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. Lisätietoja:
NetWorker REST -ohjelmointirajapinta: 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 asennetun käyttöjärjestelmän ja 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
            }
        }
    ]
}

Tuotteet

NetWorker
Artikkelin ominaisuudet
Artikkelin numero: 000172472
Artikkelin tyyppi: Solution
Viimeksi muutettu: 30 huhtik. 2026
Versio:  12
Etsi vastauksia kysymyksiisi muilta Dell-käyttäjiltä
Tukipalvelut
Tarkista, kuuluuko laitteesi tukipalveluiden piiriin.