Руководство по сортировке для NetWorker REST API
Summary: В этой статье базы знаний представлен обзор основных способов поиска и устранения неисправностей, связанных с RESTAPI.
Instructions
Смотреть на YouTube
Additional Information
Начало работы
Программный интерфейс (API) Representational State Transfer (REST) обеспечивает программный доступ к службе защиты данных NetWorker. Используя REST API, пользователи NetWorker могут создавать клиентские приложения для автоматизации операций NetWorker. REST API NetWorker устанавливается в рамках установки сервера NetWorker в том же контейнере Apache tomcat, что и службы аутентификации NetWorker. Аутентификация выполняется с использованием тех же учетных данных, что и в NetWorker Management Console.
REST API обеспечивает взаимодействие с ресурсами, определяемыми по адресам универсального кода ресурса (URI). Он использует HTTP-команды (HEAD, GET, PUT, POST, DELETE) для взаимодействия с универсальным кодом ресурса (URI) без сохранения состояния (сервер не содержит клиентского состояния, каждое сообщение является самоописательным).
В этом документе описывается взаимодействие с ресурсами NetWorker с помощью записанных пользователем вызовов API REST. Не следует путать с вызовами REST API, которые используются серверными операциями NetWorker.
Подключение к NetWorker:
Существует несколько различных клиентских технологий REST API, которые можно использовать для выполнения команд для подключения к NetWorker; в том числе, командыcur l (Linux), PowerShell Invoke-WebRequest (Windows) и расширения браузера клиента REST API.Для подключения необходимы три разъема:
- Тип содержимого: application/json
- Принять: application/json
- Авторизация: Базовый с именем пользователя и паролем в кодировке Base 64
В средах, в которых несколько зон данных NetWorker аутентифицируются с помощью одного сервера AUTHC NetWorker, требуется дополнительный заголовок:
- X-NW-AUTHC-BASE-URL:AUTHC_HOSTNAME_OR_IP:AUTHC_PORT
API-интерфейс REST NetWorker доступен в следующем базовом URI:
https://[nw-server-hostname]:9090/nwrestapi/Существуют различные версии API. С момента внедрения REST API были внедрены улучшения. Пример.
https://[nw-server-hostname]:9090/nwrestapi/v1 https://[nw-server-hostname]:9090/nwrestapi/v2 https://[nw-server-hostname]:9090/nwrestapi/v3
Полная схема json доступна по адресу
https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json
| Код успешного выполнения | Применяется к методу HTTP | Содержание текста ответа | Описание |
| 200 | ПОЛУЧИТЬ | Представление ресурсов. | ОК. Операции, приводящие к этому состоянию HTTP, переносят представление ресурса в полезные данные. |
| 201 | ПОМЕСТИТЬ | Пустой ответ. | Создан. Это состояние указывает, что создан новый ресурс или предполагаемое задание и связанный с ним URL-адрес доступен из заголовка расположения в ответе. |
| 202 | ПОМЕСТИТЬ | Подробности в ответ. | Принято. Это означает, что запрос API принят. Полезные данные указывают, что URL-адрес экземпляра ресурса отслеживания доступен из заголовка location в ответе. |
| 204 | ПОСТАВИТЬ/УДАЛИТЬ | Пустой ответ. | Нет контента. Состояние указывает, что выполненная операция выполнена успешно. Однако никаких дополнительных подробностей предоставить не будет. |
| Код ошибки | Описание |
| 400 | Неверный запрос. |
| 401 | Недопустимые учетные данные. |
| 403 | Недостаточно привилегий. |
| 404 | Ресурс не найден. |
| 405 | Метод не разрешен. |
| 406 | Указана недопустимая локаль. |
| 500 | Internal Server Error. |
Функции API-интерфейса REST
| HTTP-метод | Действие | Описание |
| ПОЛУЧИТЬ | Чтение | Получает представление ресурса. |
| ПОМЕСТИТЬ | Создание | Создает новый ресурс. |
| ПОЛОЖИТЬ | Обновление | Обновление существующего ресурса. |
| DELETE | Извлечь | Удаляет существующий ресурс. |
Некоторые примеры:
GET
Выводит список всех клиентов.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
Только один клиент, отображающий только три поля (имя хоста, наборы сохранений и группы защиты)
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121
Выведите список групп защиты, в которых состоит один клиент.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121
Отображение текущих оповещений.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts
Отображение недавних сбойных заданий.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message
Выводит список рабочих процессов в одной политике (в данном примере с именем WinFS ).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows
Выводит список свойств только одного экземпляра набора сохранений (в соответствии с именем хоста клиента и набором сохранений).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"
ПОМЕСТИТЬ:
Запуск действия рабочего процесса.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
JSON Body:
{
}
Создайте новый экземпляр клиента (со значениями по умолчанию для всех свойств, кроме четырех перечисленных).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
JSON Body
{
"hostname": "vm-lego-231",
"backupType": "Filesystem",
"saveSets": [ "/etc" ],
"protectionGroups" : [ "LinuxFS" ]
Необходимая информация для поддержки
Инфраструктура.
- Имя сервера NetWorker
- Версия и номер сборки NetWorker
- Тип и версия операционной системы хоста сервера NetWorker
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a
Windows:
nsrwatch
- Объясните, какая операция REST API ВЫПОЛНЯЕТСЯ (GET, POST, PUT, DELETE), какой URI используется, содержимое текста JSON (если применимо).
- Код ответа API-интерфейса REST и любое сообщение об ошибке.
- Было ли выполнено начальное подключение и авторизация между клиентом REST API и NetWorker?
- Отображается daemon.raw файл журнала с сервера NetWorker:
- Linux: /nsr/logs/daemon.raw
- Windows: C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
- NetWorker. Как использовать nsr_render_log
- Журналы API-интерфейса REST с сервера NetWorker: /nsr/logs/restapi (Linux) или EMC NetWorker\nsr\logs\restapi (Windows)
- Для получения информации о проблемах с проверкой подлинности см. стандартное ведение журнала проверки подлинности NetWorker в /nsr/authc/logs (linux) или .. \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Производительности
Если проблема связана с производительностью API REST, можно использовать следующие параметры для отслеживания потребления ресурсов процессом nsrtomc+, используемым вызовами API.
Linux:
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
В этом выводе отображается стандартный верхний вывод, но с метками времени, доступными для чтения. Его можно использовать для просмотра потребления процессора и памяти процессом и того, как долго он оставался в определенном состоянии при выполнении вызова REST. Эти данные можно сравнить с журналами restapi.log и AUTHC, чтобы узнать, какие вызовы выполнялись и как часто.
Windows: Для серверов Windows необходимо установить что-то вроде «Системный монитор:
1. Откройте системный монитор от имени администратора.
2. На левой панели разверните раздел Средства мониторинга и выберите Монитор производительности.
3. Щелкните правой кнопкой мыши внутри правой панели и выберите Удалить все счетчики.
4. Нажмите правой кнопкой мыши на правой панели и выберите Добавить счетчики.
5. В разделе Доступные счетчики разверните раздел Память, выберите % Выделенные байты и нажмите кнопку Добавить.6
. В разделе Память выберите Доступные байты и нажмите Добавить.
7. В разделе «Доступные счетчики» разверните «Процесс» и выберите «% загруженности процессора», а в разделе «Экземпляры выбранного объекта» выберите первую запись Java и нажмите «Добавить».
8. В разделе Доступные счетчики разверните раздел Сведения о процессоре, выберите % Утилита процессора и нажмите кнопку Добавить.
9. Счетчики добавленных на правой панели должны отображать:

10. Нажмите ОК. Щелкните правой кнопкой мыши Монитор производительности и выберите Создать набор> сборщика данных.
11. Укажите имя, например: RESTAPI_MON.
12. На экране местоположения нажмите кнопку Далее, если не выбрано указание альтернативного выходного местоположения.
13. Выберите Сохранить и закрыть и нажмите Готово.
14. На левой панели в разделе Наборы сборщика данных —> Определено пользователем откройте свойства RESTAPI_MON, выберите Разделенные запятыми формат журнала и нажмите кнопку ОК.

15. На левой панели в разделе Наборы сборщиков данных-Определенные> пользователем выберите RESTAPI_MON набор сборщиков данных и нажмите кнопку Пуск (кнопка Play).
16. Если использовалась папка вывода по умолчанию, файл .csv отображается в папке C:\PerfLogs\Admin\RESTAPI_MON.
17. После того как проблема обнаружена и зарегистрирована в выходном файле, вы можете прекратить мониторинг, нажав Stop в разделе Data Collector Sets-User Defined.
Дополнительные ресурсы
Все поддерживаемые конечные точки API REST и примеры их использования приведены в: Справочное руководство по NetWorker REST API