guide de tri des API REST NetWorker (en anglais)
Summary: Cet article de la base de connaissances fournit un aperçu du dépannage de base pour les problèmes liés à l’API REST.
Instructions
Regarder sur YouTube
Additional Information
Mise en route
L’API (Representational State Transfer) fournit un accès par programmation au service de protection des données NetWorker. À l’aide de l’API REST, les utilisateurs NetWorker peuvent créer des applications clientes pour automatiser les opérations NetWorker. L’API REST NetWorker est installée dans le cadre de l’installation de NetWorker Server dans le même conteneur Apache tomcat que les services d’authentification NetWorker. L’authentification est effectuée à l’aide des mêmes informations d’identification que celles utilisées pour NetWorker Management Console.
L’API REST permet l’interaction avec les ressources identifiées par des adresses URI (Uniform Resource Identifier). Il utilise des verbes HTTP (HEAD, GET, PUT, POST, DELETE) pour interagir avec l’Uniform Resource Identifier (URI) de manière sans état (le serveur ne contient aucun état client, chaque message étant auto-descriptif).
Ce document traite de l’interaction avec les ressources NetWorker à l’aide d’appels d’API REST écrits par l’utilisateur. Ne doit pas être confondu avec les appels de l’API REST qui sont utilisés par les opérations NetWorker back-end.
Connexion à NetWorker :
Il existe plusieurs technologies clientes d’API REST différentes qui peuvent être utilisées pour exécuter les commandes de connexion à NetWorker. notamment, les commandes curl (Linux), PowerShell Invoke-WebRequest (Windows) et les extensions de navigateur client API REST.Trois en-têtes sont nécessaires pour la connexion :
- Content-Type: application/json
- Accepter : application/json
- Autorisation : Base avec nom d’utilisateur et mot de passe codés en Base 64
Dans les environnements où plusieurs zones de données NetWorker sont authentifiées via un seul serveur AUTHC NetWorker, un en-tête supplémentaire est requis :
- X-NW-AUTHC-BASE-URL :AUTHC_HOSTNAME_OR_IP :AUTHC_PORT
L’API REST NetWorker est exposée dans l’URI de base suivant :
https://[nw-server-hostname]:9090/nwrestapi/Il existe différentes versions d’API. Des améliorations ont été apportées depuis la mise en œuvre initiale de l’API REST. Par exemple :
https://[nw-server-hostname]:9090/nwrestapi/v1 https://[nw-server-hostname]:9090/nwrestapi/v2 https://[nw-server-hostname]:9090/nwrestapi/v3
Le schéma JSON complet est disponible à l’adresse
https://[nw-server-hostname]:9090/nwrestapi/v3/schemas/swagger.json
| Code de réussite | S’applique à la méthode HTTP | Contenu du corps de la réponse | Description |
| 200 | AVOIR | Représentation des ressources. | OK. Les opérations qui entraînent cet état HTTP transportent la représentation de la ressource dans la charge utile. |
| 201 | PUBLIER | Réponse vide. | Créé. Cet état indique qu’une nouvelle ressource ou une tâche prévue a été créée et que l’URL associée est accessible à partir de l’en-tête Location dans la réponse. |
| 202 | PUBLIER | Détails en réponse. | Accepté. Cela indique que la demande d’API a été acceptée. La charge utile indique que l’URL de l’instance de ressource de suivi est accessible à partir de l’en-tête d’emplacement dans la réponse. |
| 204 | PUT/DELETE | Réponse vide. | Aucun contenu. L’état indique que l’opération exécutée a réussi. Cependant, il n’y a pas de détails supplémentaires à fournir. |
| Code d’erreur | Description |
| 400 | Demande erronée. |
| 401 | Informations d’identification non valides. |
| 403 | Privilèges insuffisants. |
| 404 | Ressource introuvable. |
| 405 | Méthode non autorisée. |
| 406 | Les paramètres régionaux spécifiés ne sont pas valides. |
| 500 | Internal Server Error. |
Fonctions de l’API REST
| Méthode HTTP | Action | Description |
| AVOIR | Read | Obtient la représentation des ressources. |
| PUBLIER | Création | Crée une nouvelle ressource. |
| METTRE | Mettre à jour | Met à jour une ressource existante. |
| SUPPRIMER | Retirer | Supprime une ressource existante. |
Quelques exemples :
GET
Répertoriez tous les clients.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
Un seul client, affichant uniquement trois champs (hostname, saveSets et protectionGroups)
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=hostname,saveSets,protectionGroups&q=hostname:nwserver121
Répertorie les groupes de protection dans lesquels se trouve un client.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?fl=protectionGroups&q=hostname:nwserver121
Afficher les alertes actuelles.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/alerts
Afficher les tâches ayant récemment échoué.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/jobs?q=completionStatus:"Failed"&fl=clientHostname,startTime,name,message
Répertoriez les workflows d’une règle (nommée WinFS dans cet exemple).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/WinFS/workflows
Répertoriez les propriétés d’une instance de saveset uniquement (telles que définies par le nom d’hôte et le saveset du client).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients?q=hostname:vm-lego-231 and saveSets:"/etc"
PUBLIER:
Démarrez une action de workflow.
https://[nw-server-hostname]:9090/nwrestapi/v3/global/protectionpolicies/Angela/workflows/WinFS/op/backup
JSON Body:
{
}
Créez une instance de client (avec des valeurs par défaut pour toutes les propriétés, à l’exception des quatre répertoriées).
https://[nw-server-hostname]:9090/nwrestapi/v3/global/clients
JSON Body
{
"hostname": "vm-lego-231",
"backupType": "Filesystem",
"saveSets": [ "/etc" ],
"protectionGroups" : [ "LinuxFS" ]
Informations requises pour le support
Environnement :
- Nom du NetWorker Server
- Version et numéro de build de NetWorker
- Type et version du système d’exploitation hôte du serveur NetWorker
hostname
strings /usr/sbin/nsrd | grep -i "(#)"
cat /etc/*release
uname -a
Windows :
nsrwatch
- Expliquez quelle opération d’API REST est en cours d’exécution (GET, POST, PUT, DELETE), l’URI utilisé, le contenu du corps JSON (le cas échéant).
- Code de réponse de l’API REST et tout message d’erreur fourni.
- La connexion et l’autorisation initiales ont-elles été établies entre le client de l’API REST et NetWorker ?
- Fichier log rendu daemon.raw à partir du serveur NetWorker :
- Linux : /nsr/logs/daemon.raw
- Windows : C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
- NetWorker : utilisation de nsr_render_log
- Logs de l’API REST à partir du serveur NetWorker : /nsr/logs/restapi (Linux) ou EMC NetWorker\nsr\logs\restapi (Windows)
- Pour les problèmes d’authentification, reportez-vous à la section Connexion à l’authentification NetWorker standard dans /nsr/authc/logs (Linux) ou .. \EMC NetWorker\nsr\authc-server\tomcat\logs (Windows)
Performance
Si le problème est lié aux performances de l’API REST, vous pouvez utiliser les options suivantes pour effectuer le suivi de la consommation des ressources du processus nsrtomc+ utilisé par les appels d’API.
Linux:
top -b | awk '/nsrtomc+/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
Cette sortie affiche la sortie supérieure standard, mais avec des horodatages lisibles par l’utilisateur. Cela peut être utilisé pour vérifier la consommation du processeur et de la mémoire par le processus, ainsi que la durée pendant laquelle elle est restée dans un certain état lors de l’exécution d’un appel REST. Les données peuvent être comparées aux journaux restapi.log et AUTHC pour voir quels appels ont été passés et à quelle fréquence.
Windows : Pour les serveurs Windows, vous devez installer quelque chose comme « Performance Monitor :
1. Ouvrez l’Analyseur de performances en tant qu’administrateur.
2. Dans le volet de gauche, développez Outils de surveillance et sélectionnez Analyseur de performances.
3. Cliquez avec le bouton droit de la souris dans le volet de droite et sélectionnez Supprimer tous les compteurs.
4. Cliquez avec le bouton droit de la souris dans le volet de droite et sélectionnez Ajouter des compteurs.
5. Sous Compteurs disponibles, développez Mémoire, sélectionnez % Commit Bytes, puis cliquez sur Add.6
. Sous Mémoire, sélectionnez Octets disponibles, puis cliquez sur Ajouter.
7. Sous Compteurs disponibles, développez Processus, puis sélectionnez % Temps processeur, puis sous Instances de l’objet sélectionné, sélectionnez la première entrée Java, puis cliquez sur Ajouter.
8. Sous Compteurs disponibles, développez Informations sur le processeur et sélectionnez % Utilitaire du processeur, puis cliquez sur Ajouter.
9. Les compteurs ajoutés dans le volet de droite doivent afficher :

10. Cliquez sur OK. Cliquez avec le bouton droit de la souris sur Analyseur de performances, puis cliquez sur New-Data> Collector Set.
11. Indiquez un nom, par exemple : RESTAPI_MON.
12. Sur l’écran Emplacement, cliquez sur Suivant, sauf si vous choisissez de spécifier un autre emplacement de sortie.
13. Sélectionnez Enregistrer et fermer, puis cliquez sur Terminer.
14. Dans le volet de gauche, sous Data Collector Sets -> User Defined, ouvrez les propriétés du RESTAPI_MON et sélectionnez Séparées par des virgules pour le format de journal, puis cliquez sur OK.

15. Dans le volet de gauche , sous Ensembles de contrôleurs de données - Défini par l’utilisateur,>sélectionnez l’ensemble de collecteurs de données RESTAPI_MON, puis cliquez sur Démarrer (bouton Lecture).
16. Si l’emplacement de sortie par défaut a été utilisé, le fichier .csv s’affiche sous C :\PerfLogs\Admin\RESTAPI_MON.
17. Une fois que le problème est observé et enregistré dans le fichier de sortie, vous pouvez arrêter la surveillance en cliquant sur Stop sous Data Collector Sets - User Defined.
Autres ressources
Tous les points de terminaison d’API REST pris en charge et les exemples d’utilisation sont fournis dans : Guide de référence de l’API REST NetWorker