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-ohjelmointirajapintakyselyt aikakatkaistaan ajoittain, ja restapi.log näyttää sisäisen palvelimen virheilmoituksen Socket Timeout -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

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

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

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.

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

 

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 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
            }
        }
    ]
}

Tuotteet

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