Guía de triage de API REST de NetWorker

Summary: En este artículo de la base de conocimientos, se proporciona una visión general de la solución de problemas básica para problemas relacionados con la API REST.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Guía de triage de API REST de NetWorker

Ver en YouTube

Additional Information

Introducción


La interfaz de programación de aplicaciones (API) de transferencia de estado representacional (REST) proporciona acceso programático al servicio de protección de datos de NetWorker. Mediante el uso de la API REST, los usuarios de NetWorker pueden crear aplicaciones cliente para automatizar las operaciones de NetWorker. La API REST de NetWorker se instala como parte de la instalación de NetWorker Server en el mismo contenedor Apache Tomcat que los servicios de autenticación de NetWorker. La autenticación se realiza con las mismas credenciales que se utilizan para NetWorker Management Console.  

La API REST permite la interacción con los recursos identificados por las direcciones del identificador uniforme de recursos (URI). Utiliza verbos HTTP (HEAD, GET, PUT, POST, DELETE) para interactuar con el identificador uniforme de recursos (URI) de forma sin estado (el servidor no contiene ningún estado de cliente, cada mensaje es autodescriptivo).

En este documento, se aborda la interacción con los recursos de NetWorker mediante llamadas de API REST escritas por el usuario. No debe confundirse con las llamadas de API REST que utilizan las operaciones de back-end de NetWorker.
 

Conexión a NetWorker:

Hay varias tecnologías de cliente de API REST diferentes que se pueden utilizar para ejecutar los comandos para conectarse a NetWorker; incluidos los comandos curl (Linux), PowerShell Invoke-WebRequest (Windows) y las extensiones de navegador del cliente de la API REST. 

Se necesitan tres encabezados para la conexión:   
  • Tipo de contenido: application/json
  • Aceptar: application/json
  • Autorización: Básico con nombre de usuario y contraseña codificados de base 64

En entornos donde hay varias zonas de datos de NetWorker que se autentican a través de un único servidor AUTHC de NetWorker, se requiere un encabezado adicional:

  • X-NW-AUTHC-BASE-URL:AUTHC_HOSTNAME_OR_IP:AUTHC_PORT
El puerto AUTHC predeterminado es el puerto 9090. El uso de este encabezado se detalla en: API REST: ¿Cómo usar un servidor AUTHC remoto cuando se procesan solicitudes de API REST?

La API REST de NetWorker se expone en el siguiente URI base:

https://[nw-server-hostname]:9090/nwrestapi/
Existen diferentes versiones de las API. Las mejoras se han implementado desde que se implementó inicialmente la API REST. Por ejemplo:
https://[nw-server-hostname]:9090/nwrestapi/v1
https://[nw-server-hostname]:9090/nwrestapi/v2
https://[nw-server-hostname]:9090/nwrestapi/v3
Los cambios en estos terminales se detallan en: https://developer.dell.com/apis/2378/versions/v3/docs/GettingStarted.md

El esquema json completo está disponible en

https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json

Códigos de respuesta de la API REST:
 
Códigos de respuesta de éxito
Código de éxito Se aplica al método HTTP Contenido del cuerpo de la respuesta Descripción
200 OBTENER Representación de recursos. Aceptar. Las operaciones que dan como resultado este estado HTTP llevan la representación de recursos en la carga útil.
201 EXPONER Respuesta vacía. Creado. Este estado indica que se creó un nuevo recurso o un trabajo previsto y que se puede acceder a su dirección URL asociada desde el encabezado de ubicación en la respuesta.
202 EXPONER Detalles en respuesta. Aceptado. Esto indica que se aceptó la solicitud de API. La carga útil indica que se puede acceder a la URL de la instancia del recurso de seguimiento desde el encabezado de ubicación en la respuesta.
204 PUT/DELETE Respuesta vacía. Sin contenido. El estado indica que la operación realizada se realizó correctamente. Sin embargo, no se proporcionarán detalles adicionales.
 
Códigos de respuesta de error
Código de error Descripción
400 Solicitud incorrecta.
401 Credenciales no válidas.
403 Privilegios insuficientes.
404 No se encontró el recurso.
405 Método no permitido.
406 Se especificó una configuración regional no válida.
500 Internal Server Error


Funciones de API REST

Métodos HTTP admitidos
Método HTTP Acción Descripción
OBTENER Lectura Obtiene la representación del recurso.
EXPONER Crear Crea un nuevo recurso.
PONER Actualización Actualiza un recurso existente.
ELIMINAR Remove Elimina un recurso existente.


Algunos ejemplos:

GET

 

Enumere todos los clientes.                                            

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients

Un solo cliente, que muestra solo tres campos (nombre de host, savesets y grupos de protección)      

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121

Enumere los grupos de protección en los que se encuentra un cliente.     

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121

Mostrar alertas actuales.                                     

https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts

Mostrar los trabajos fallidos recientes.                               

https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message

Enumere los flujos de trabajo en una política (denominada WinFS en este ejemplo).                   

https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows

Muestra las propiedades de una instancia de saveset solamente (según lo definido por el nombre de host del cliente y el saveset).      

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"

EXPONER:

Inicie una acción de flujo de trabajo.                                 

https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
                                                      JSON Body: 
                                                      {
                                                       }

Cree una nueva instancia de cliente (con valores predeterminados para todas las propiedades, excepto las cuatro enumeradas).           

https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients  
                                                     JSON Body 
                                                     {    
            "hostname": "vm-lego-231",
            "backupType": "Filesystem",
            "saveSets": [ "/etc" ],
            "protectionGroups" : [ "LinuxFS" ]
                                                          


Información necesaria para el soporte


Entorno:

  • Nombre del servidor de NetWorker
  • Versión y número de compilación de NetWorker
  • Tipo y versión del sistema operativo host de NetWorker Server
Linux:
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a

Windows:

nsrwatch
Detalles del problema:
  • Explique qué operación de la API REST se está realizando (GET, POST, PUT, DELETE), el URI utilizado y cualquier contenido del cuerpo JSON (cuando corresponda). 
  • El código de respuesta de la API REST y cualquier mensaje de error proporcionado.
  • ¿La conexión y la autorización iniciales se realizaron correctamente entre el cliente de la API REST y NetWorker?
Recopilación de registros:
  • Archivo de registro de daemon.raw generado desde NetWorker Server:
  • Registros de API REST desde NetWorker Server:  /nsr/logs/restapi (Linux) o EMC NetWorker\nsr\logs\restapi (Windows)
  • Si tiene problemas de autenticación, consulte el registro de autenticación estándar de NetWorker en /nsr/authc/logs (Linux) o... \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Depuración:
En problemas más complejos, es posible que se requiera la depuración de la API REST. La depuración se puede habilitar de la siguiente manera: NetWorker: Cómo habilitar la depuración de la API REST

Rendimiento
Si el problema está relacionado con el rendimiento de la API REST, puede usar las siguientes opciones para rastrear el consumo de recursos del proceso nsrtomc+ utilizado por las llamadas a la API.

Linux:  
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'

Esta salida muestra la salida superior estándar, pero con marcas de tiempo legibles por humanos. Esto se puede utilizar para revisar el consumo de CPU y memoria por parte del proceso y cuánto tiempo permanecía en un estado determinado cuando se realizaba una llamada REST. Esto se puede comparar con los registros de restapi.log y AUTHC para ver qué llamadas se realizaron y con qué frecuencia.
 

Windows: En el caso de los servidores Windows, debe instalar algo como "Performance Monitor:

1. Abra Performance Monitor como administrador.
2. En el panel izquierdo, expanda Herramientas de monitoreo y seleccione Monitor de rendimiento.
3. Haga clic con el botón secundario en el panel derecho y seleccione Eliminar todos los contadores.
4. Haga clic con el botón secundario en el panel derecho y seleccione Add Counters.
5. En Available Counters, expanda Memory, seleccione % Commit Bytes y haga clic en Add.6
. En Memoria,  seleccione Bytes disponibles y haga clic en Agregar.
7. En Available Counters, expanda Process y seleccione % Processor Time y, en Instances of Selected Object, seleccione la primera entrada de Java y haga clic en Add.
8. En Contadores disponibles, expanda Información del procesador, seleccione % Utilidad del procesador y haga clic en Agregar.
9. Los contadores agregados en el panel derecho deben mostrar:

image.png

10. Haga clic en Aceptar. Haga clic con el botón secundario en Monitor de rendimiento y, a continuación, haga clic en Conjunto de recopiladores de> datos nuevos.
11. Proporcione un nombre, por ejemplo: RESTAPI_MON.
12. En la pantalla de ubicación, haga clic en Siguiente,  a menos que elija especificar una ubicación de salida alternativa.
13. Seleccione Guardar y cerrar y haga clic en Finalizar.
14. En el panel izquierdo, en Data Collector Sets-User Defined,> abra las propiedades del RESTAPI_MON y seleccione Separados por comas para el formato de registro y haga clic en Ok.

image.png

15. En el panel izquierdo, en Data Collector Sets-User Defined,>seleccione el conjunto de Data Collector RESTAPI_MON y haga clic en Start (botón Play).
16. Si se utilizó la ubicación de salida predeterminada, el archivo de .csv aparece en C:\PerfLogs\Admin\RESTAPI_MON.
17. Una vez que el problema se observa y se registra en el archivo de salida, puede detener el monitoreo haciendo clic en Stop en Data Collector Sets-User Defined.


Más recursos

Todos los terminales de la API REST compatibles y los ejemplos de uso se proporcionan en: Guía de referencia de la API REST de NetWorker

Affected Products

NetWorker Series

Products

NetWorker Series
Article Properties
Article Number: 000014298
Article Type: How To
Last Modified: 07 Feb 2024
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.