Podręcznik weryfikacji interfejsu API REST NetWorker
Summary: Ten artykuł bazy wiedzy zawiera omówienie podstawowych sposobów rozwiązywania problemów związanych z RESTAPI.
Instructions
Obejrzyj w serwisie YouTube
Additional Information
Rozpoczęcie pracy
Interfejs programowania aplikacji (API) Representational State Transfer (REST) zapewnia programowy dostęp do usługi ochrony danych NetWorker. Korzystając z interfejsu API REST, użytkownicy NetWorker mogą tworzyć aplikacje klienckie w celu automatyzacji operacji NetWorker. Interfejs API REST NetWorker jest instalowany w ramach instalacji serwera NetWorker w tym samym kontenerze Apache Tomcat, co usługi uwierzytelniania NetWorker. Uwierzytelnianie odbywa się przy użyciu tych samych poświadczeń, które są używane w konsoli NetWorker Management Console.
Interfejs API REST umożliwia interakcję z zasobami identyfikowanymi przez adresy Uniform Resource Identifier (URI). Używa czasowników HTTP (HEAD, GET, PUT, POST, DELETE) do interakcji z identyfikatorem Uniform Resource Identifier (URI) w sposób bezstanowy (serwer nie zawiera stanu klienta, każdy komunikat jest samoopisowy).
Ten dokument dotyczy interakcji z zasobami NetWorker przy użyciu wywołań interfejsu API REST napisanych przez użytkownika. Nie mylić z wywołaniami interfejsu API REST, które są używane przez operacje NetWorker zaplecza.
Nawiązywanie połączenia z NetWorker:
Istnieje kilka różnych technologii klienta interfejsu API REST, których można użyć do uruchamiania poleceń w celu nawiązania połączenia z NetWorker; w tym polecenia curl (Linux), rozszerzenia przeglądarki klienta PowerShell Invoke-WebRequest (Windows) i interfejsu API REST.Do nawiązania połączenia potrzebne są trzy nagłówki:
- Content-Type: application/json
- Akceptuję: application/json
- Authorization: Podstawowy z nazwą użytkownika i hasłem zakodowanym w formacie Base 64
W środowiskach, w których istnieje wiele stref danych NetWorker uwierzytelnianych za pośrednictwem jednego serwera NetWorker AUTHC, wymagany jest dodatkowy nagłówek:
- X-NW-AUTHC-BASE-URL:AUTHC_HOSTNAME_OR_IP:AUTHC_PORT
Interfejs API REST NetWorker jest uwidoczniony w następującym podstawowym identyfikatorze URI:
https://[nw-server-hostname]:9090/nwrestapi/Istnieją różne wersje interfejsów API. Od czasu początkowego wdrożenia interfejsu API REST wprowadzono udoskonalenia. Oto przykład:
https://[nw-server-hostname]:9090/nwrestapi/v1 https://[nw-server-hostname]:9090/nwrestapi/v2 https://[nw-server-hostname]:9090/nwrestapi/v3
Pełny schemat JSON jest dostępny pod adresem
https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json
| Kod sukcesu | Dotyczy metody HTTP | Treść odpowiedzi | Opis |
| 200 | POBIERZ | Reprezentacja zasobów. | OK. Operacje, które skutkują tym stanem HTTP, przenoszą reprezentację zasobów w ładunku. |
| 201 | POST | Pusta odpowiedź. | Utworzone. Ten stan wskazuje, że utworzono nowy zasób lub zamierzone zadanie, a skojarzony z nim adres URL jest dostępny z nagłówka lokalizacji w odpowiedzi. |
| 202 | POST | Szczegóły w odpowiedzi. | Akceptowane. Oznacza to, że żądanie API zostało zaakceptowane. Ładunek wskazuje, że adres URL wystąpienia zasobu śledzenia jest dostępny z nagłówka location w odpowiedzi. |
| 204 | UMIEŚĆ/USUŃ | Pusta odpowiedź. | Brak treści. Stan wskazuje, że wykonana operacja zakończyła się pomyślnie. Nie ma jednak żadnych dodatkowych szczegółów, które należy podać. |
| Kod błędu | Opis |
| 400 | Nieprawidłowe żądanie. |
| 401 | Nieprawidłowe poświadczenia. |
| 403 | Niewystarczające uprawnienia. |
| 404 | Nie znaleziono zasobu. |
| 405 | Metoda niedozwolona. |
| 406 | Podano nieprawidłowe ustawienia regionalne. |
| 500 | Internal Server Error. |
Funkcje interfejsu API REST
| Metoda HTTP | Czynność | Opis |
| POBIERZ | Read | Pobiera reprezentację zasobu. |
| POST | Tworzenie | Tworzy nowy zasób. |
| UMIEŚCIĆ | Aktualizuj | Aktualizuje istniejący zasób. |
| USUNĄĆ | Remove | Usuwa istniejący zasób. |
Kilka przykładów:
GET
Wyświetl listę wszystkich klientów.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
Tylko jeden klient, pokazujący tylko trzy pola (nazwa hosta, saveSets i protectionGroups)
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121
Wyświetl listę grup ochrony, do których należy jeden klient.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121
Pokaż bieżące alerty.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts
Pokaż ostatnie zadania, które zakończyły się niepowodzeniem.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message
Wyświetl listę przepływów pracy w jednej zasadzie (w tym przykładzie o nazwie WinFS ).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows
Wyświetla listę właściwości tylko jednej instancji zestawu zapisu (zdefiniowanej przez nazwę hosta klienta i zestaw zapisu).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"
POST:
Rozpocznij akcję przepływu pracy.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
JSON Body:
{
}
Utwórz nową instancję klienta (z wartościami domyślnymi dla wszystkich właściwości z wyjątkiem czterech wymienionych).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
JSON Body
{
"hostname": "vm-lego-231",
"backupType": "Filesystem",
"saveSets": [ "/etc" ],
"protectionGroups" : [ "LinuxFS" ]
Informacje wymagane do uzyskania pomocy technicznej
Środowisko:
- Nazwa serwera NetWorker
- Wersja i numer kompilacji NetWorker
- Typ i wersja systemu operacyjnego hosta serwera NetWorker
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a
Windows:
nsrwatch
- Wyjaśnij, która operacja interfejsu API REST jest wykonywana (GET, POST, PUT, DELETE), używany identyfikator URI, zawartość treści JSON (jeśli dotyczy).
- Kod odpowiedzi interfejsu API REST i wszelkie wyświetlone komunikaty o błędach.
- Czy początkowe połączenie i autoryzacja między klientem interfejsu API REST a NetWorker zakończyły się pomyślnie?
- Wyrenderowany plik dziennika daemon.raw z serwera NetWorker:
- Linux: /nsr/logs/daemon.raw
- Windows: C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
- NetWorker: korzystanie z nsr_render_log
- Dzienniki interfejsu API REST z serwera NetWorker: /nsr/logs/restapi (Linux) lub EMC NetWorker\nsr\logs\restapi (Windows)
- W przypadku problemów z uwierzytelnianiem zapoznaj się ze standardowym logowaniem uwierzytelniania NetWorker w /nsr/authc/logs (linux) lub .. \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Wydajności
Jeśli problem jest związany z wydajnością RESTAPI, możesz użyć następujących opcji, aby śledzić zużycie zasobów przez proces nsrtomc+ używany przez wywołania interfejsu API.
Linux:
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
To wyjście pokazuje standardowe górne wyjście, ale ze znacznikami czasu czytelnymi dla człowieka. Może to służyć do przeglądania użycia procesora CPU i pamięci przez proces oraz tego, jak długo pozostawał w określonym stanie, gdy wykonano wywołanie REST. Można to porównać z dziennikami restapi.log i AUTHC, aby zobaczyć, które wywołania zostały wykonane i jak często.
Windows: W przypadku serwerów z systemem Windows należy zainstalować coś w rodzaju "Monitor wydajności:
1. Otwórz Monitor wydajności jako administrator.
2. W lewym okienku rozwiń Narzędzia monitorowania i wybierz Monitor wydajności.
3. Kliknij prawym przyciskiem myszy w prawym okienku i wybierz polecenie Usuń wszystkie liczniki.
4. Kliknij prawym przyciskiem myszy w prawym okienku i wybierz polecenie Dodaj liczniki.
5. W obszarze Dostępne liczniki rozwiń pozycję Pamięć, wybierz wartość % zatwierdzonych bajtów i kliknij przycisk Dodaj.
6. W obszarze Pamięć wybierz opcję Dostępne bajty i kliknij przycisk Dodaj.
7. W obszarze Dostępne liczniki rozwiń pozycję Proces i wybierz opcję % czasu procesora, a następnie w obszarze Wystąpienia wybranego obiektu wybierz pierwszy wpis Java kliknij przycisk Dodaj.
8. W obszarze Dostępne liczniki rozwiń Informacje o procesorze i wybierz opcję % Narzędzie procesora, kliknij przycisk Dodaj.
9. Dodano liczniki w prawym okienku powinny zawierać:

10. Kliknij przycisk OK. Kliknij prawym przyciskiem myszy pozycję Monitor wydajności, a następnie kliknij opcję Nowy zestaw modułów> zbierających dane.
11. Podaj nazwę, np.: RESTAPI_MON.
12. Na ekranie lokalizacji kliknij przycisk Dalej,chyba że zdecydujesz się określić alternatywną lokalizację wyjściową.
13. Wybierz opcję Zapisz i zamknij , a następnie kliknij przycisk Zakończ.
14. W lewym okienku w obszarze Zestawy modułów> zbierających dane — zdefiniowane przez użytkownika otwórz właściwości RESTAPI_MON i wybierz opcję Rozdzielane przecinkami jako format dziennika, kliknij przycisk OK.

15. W lewym okienku w obszarze Zestawy> modułów zbierających dane — zdefiniowane przez użytkownika wybierz zestaw RESTAPI_MON zbierania danych i kliknij przycisk Start (przycisk Odtwórz).
16. Jeśli użyto domyślnej lokalizacji wyjściowej, plik .csv jest wyświetlany w folderze C:\PerfLogs\Admin\RESTAPI_MON.
17. Po zaobserwowaniu problemu i zarejestrowaniu go w pliku wyjściowym można zatrzymać monitorowanie, klikając opcję Zatrzymaj w obszarze Zestawy modułów zbierających dane — zdefiniowane przez użytkownika.
Dalsze zasoby
Wszystkie obsługiwane punkty końcowe interfejsu API REST i przykłady użycia są dostępne w: Podręcznik referencyjny interfejsu NetWorker REST API