Průvodce posouzením problémů s NetWorker REST API
Summary: Tento článek znalostní databáze poskytuje přehled základních postupů odstraňování problémů souvisejících s rozhraním RESTAPI.
Instructions
Sledujte video na YouTube.
Additional Information
Začínáme
Rozhraní API (Application Programming Interface) rozhraní REST (Representational State Transfer) poskytuje programový přístup ke službě ochrany dat NetWorker. Pomocí rozhraní REST API mohou uživatelé nástroje NetWorker vytvářet klientské aplikace pro automatizaci operací NetWorker. Rozhraní NetWorker REST API se instaluje jako součást instalace serveru NetWorker ve stejném kontejneru Apache tomcat jako ověřovací služby NetWorker. Ověření se provádí pomocí stejných přihlašovacích údajů, jaké se používají v konzoli NetWorker Management Console.
Rozhraní REST API umožňuje interakci s prostředky identifikovanými adresami identifikátoru URI (Uniform Resource Identifier). Používá příkazy HTTP (HEAD, GET, PUT, POST, DELETE) k interakci s identifikátorem URI (Uniform Resource Identifier) bezstavovým způsobem (server neobsahuje žádný stav klienta, každá zpráva je popisná).
Tento dokument se zabývá interakcí se zdroji NetWorker pomocí volání rozhraní REST API napsaných uživateli. Nezaměňovat s voláními rozhraní REST API, která používají backendové operace NetWorker.
Připojení k nástroji NetWorker:
Existuje několik různých klientských technologií rozhraní REST API, které lze použít ke spuštění příkazů pro připojení k NetWorker. včetně cur l příkazů(Linux), PowerShell Invoke-WebRequest (Windows) a rozšíření klientského prohlížeče REST API.Pro připojení jsou potřeba tři hlavičky:
- Content-Type: application/json
- Přijmout: application/json
- Authorization: Basic s uživatelským jménem a heslem kódováním Base 64
V prostředích, kde se prostřednictvím jednoho serveru NetWorker AUTHC ověřuje více datových zón NetWorker, je vyžadována další hlavička:
- X-NW-AUTHC-BASE-URL:AUTHC_HOSTNAME_OR_IP:AUTHC_PORT
Rozhraní NetWorker REST API je vystaveno v následujícím základním identifikátoru URI:
https://[nw-server-hostname]:9090/nwrestapi/Existují různé verze rozhraní API. Od počáteční implementace rozhraní REST API byla zavedena vylepšení. Například:
https://[nw-server-hostname]:9090/nwrestapi/v1 https://[nw-server-hostname]:9090/nwrestapi/v2 https://[nw-server-hostname]:9090/nwrestapi/v3
Úplné schéma JSON je k dispozici na adrese
https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json
| Success Code | Platí pro metodu HTTP | Obsah textu odpovědi | Popis |
| 200 | DOSTAT | Reprezentace zdrojů. | OK. Operace, které mají za následek tento stav HTTP, přenášejí reprezentaci prostředků v datové části. |
| 201 | PŘÍSPĚVEK | Prázdná odpověď. | Vytvořen. Tento stav označuje, že byl vytvořen nový prostředek nebo zamýšlená úloha a jeho přidružená adresa URL je přístupná z hlavičky umístění v odpovědi. |
| 202 | PŘÍSPĚVEK | Podrobnosti v odpovědi. | Přijata. To znamená, že požadavek API byl přijat. Datová část označuje, že adresa URL instance prostředku sledování je přístupná z location hlavičky v odpovědi. |
| 204 | VLOŽIT/ODSTRANIT | Prázdná odpověď. | Žádný obsah. Stav označuje, že provedená operace proběhla úspěšně. Není však třeba poskytovat žádné další podrobnosti. |
| Kód chyby | Popis |
| 400 | Chybný požadavek. |
| 401 | Neplatné přihlašovací údaje. |
| 403 | Nedostatečná oprávnění. |
| 404 | Zdroj nenalezen. |
| 405 | Metoda není povolena. |
| 406 | Je zadáno neplatné národní prostředí. |
| 500 | Interní chyba serveru |
Funkce rozhraní REST API
| Metoda HTTP | Akce | Popis |
| DOSTAT | Čtení | Získá reprezentaci prostředku. |
| PŘÍSPĚVEK | Vytvoření | Vytvoří nový prostředek. |
| DÁT | Aktualizace | Aktualizuje existující prostředek. |
| ODSTRANIT | Remove | Odstraní existující prostředek. |
Několik příkladů:
GET
Vypíše všechny klienty.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
Pouze jeden klient zobrazující pouze tři pole (název hostitele, saveSets a protectionGroups)
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121
Vypíše seznam skupin ochrany, ve kterých se nachází jeden klient.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121
Zobrazit aktuální výstrahy.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts
Zobrazí poslední neúspěšné úlohy.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message
Vypište pracovní postupy v jedné zásadě (v tomto příkladu s názvem WinFS ).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows
Vypíše vlastnosti pouze jedné instance sady uložení (jak je definováno názvem hostitele klienta a uloženou sadou).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"
PŘÍSPĚVEK:
Spusťte akci pracovního postupu.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
JSON Body:
{
}
Vytvořte novou instanci klienta (s výchozími hodnotami pro všechny vlastnosti kromě čtyř uvedených).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
JSON Body
{
"hostname": "vm-lego-231",
"backupType": "Filesystem",
"saveSets": [ "/etc" ],
"protectionGroups" : [ "LinuxFS" ]
Požadované informace pro podporu
Prostředí:
- Název serveru NetWorker
- Verze a číslo sestavení platformy NetWorker
- Typ a verze hostitelského operačního systému serveru NetWorker
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a
Windows:
nsrwatch
- Vysvětlete, která operace rozhraní REST API se provádí (GET, POST, PUT, DELETE), použitý identifikátor URI, veškerý obsah textu JSON (pokud je k dispozici).
- Kód odpovědi rozhraní REST API a všechny poskytnuté chybové zprávy.
- Proběhlo počáteční připojení a autorizace mezi klientem REST API a nástrojem NetWorker úspěšně?
- Vykreslený soubor protokolu daemon.raw ze serveru NetWorker:
- Linux: /nsr/logs/daemon.raw
- Windows: C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
- NetWorker: Návod k použití nsr_render_log
- Protokoly rozhraní REST API ze serveru NetWorker: /nsr/logs/restapi (linux) nebo EMC NetWorker\nsr\logs\restapi (Windows)
- Informace o problémech s ověřováním naleznete v protokolování standardní autentizace NetWorker v umístění /nsr/authc/logs (linux) nebo .. \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Výkon
Pokud problém souvisí s výkonem rozhraní RESTAPI, můžete pomocí následujících možností sledovat spotřebu prostředků procesu nsrtomc+ používaného voláními rozhraní API.
Linux:
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
Tento výstup zobrazuje standardní horní výstup, ale s časovými razítky čitelnými pro člověka. To lze použít ke kontrole využití procesoru a paměti procesem a k tomu, jak dlouho zůstal v určitém stavu při volání REST. To lze porovnat s protokoly restapi.log a AUTHC a zjistit, která volání byla provedena a jak často.
Windows: U serverů se systémem Windows je nutné nainstalovat nástroj jako "Performance Monitor:
1. Spusťte nástroj Sledování výkonu jako správce.
2. V levém podokně rozbalte položku Monitorovací nástroje a vyberte Sledování výkonu.
3. Klikněte pravým tlačítkem do pravého podokna a vyberte Odebrat všechny čítače.
4. Klikněte pravým tlačítkem do pravého podokna a vyberte Přidat čítače.
5. V části Available Counters rozbalte položku Memory, vyberte % Commit Bytes a klikněte na Add.6
. V části Paměť vyberte možnost Dostupné bajty a klikněte na tlačítko Přidat.
7. V části Dostupné čítače rozbalte položku Zpracovat a vyberte možnost % času procesoru a v části Instance vybraného objektu vyberte první položku Java a klikněte na tlačítko Přidat.
8. V části Dostupné čítače rozbalte položku Informace o procesoru a vyberte možnost % Processor Utility, klikněte na tlačítko Přidat.
9. V části Přidané čítače v pravém podokně by se měly zobrazit:

10. Klikněte na tlačítko OK. Klepněte pravým tlačítkem myši na položku Sledování výkonu a klepněte na položku >Sada kolekcí nových dat.
11. Zadejte název, např.: RESTAPI_MON.
12. Na obrazovce umístění klikněte na tlačítko Další, pokud se nerozhodnete zadat alternativní umístění výstupu.
13. Vyberte Uložit a zavřít a klikněte na Dokončit.
14. V levém podokně pod položkou Sady kolekcí dat –> definováno uživatelem otevřete vlastnosti RESTAPI_MON a vyberte Oddělené čárkami pro formát protokolu klikněte na tlačítko OK.

15. V levém podokně pod položkou Sady kolekcí dat –> definováno uživatelem vyberte RESTAPI_MON sadu kolekcí dat a klikněte na tlačítko Start (tlačítko Přehrát).
16. Pokud bylo použito výchozí umístění výstupu, soubor .csv se zobrazí v umístění C:\PerfLogs\Admin\RESTAPI_MON.
17. Jakmile je problém pozorován a zaznamenán ve výstupním souboru, můžete sledování zastavit kliknutím na tlačítko Zastavit v části Sady kolekcí dat – definováno uživatelem.
Další zdroje
Všechny podporované koncové body rozhraní REST API a příklady použití jsou k dispozici v: Referenční příručka k rozhraní NetWorker REST API