Exemple : API REST Log Management
Cet exemple explique comment utiliser l'API REST Log Management de gestion des journaux d'opérations cloud pour demander et extraire des journaux à partir des serveurs de flux de travaux de votre abonnement de cloud.
L'exemple couvre l'obtention de la liste des demandes de journal, la découverte
des types de journaux disponibles, la demande et le téléchargement d'un journal et, enfin, la
suppression des demandes de journal et des fichiers journaux associés.
- Avant de commencer
- Tous les appels d'API nécessitent un jeton CSRF (cross site forgery request) valide dans l'en-tête IBM-CSRF-TOKEN de l'appel. Obtenez un jeton CSRF via
POST /instance/services/csrf_token
. Pour plus d'informations, voir Prévention de la falsification de requêtes entre sites (CSRF). - Afficher la liste des demandes d'extraction de journal présentes dans votre abonnement
- Utilisez l'appel suivant pour extraire les demandes :
Vous pouvez filtrer les demandes par environnement, par exemple l'environnement de développement, et inclure la pagination :GET /instance/services/logs
GET /instance/services/logs/?environment=dev&offset=5&size=10
- Découvrir les types de journaux disponibles
- Plusieurs types de journaux sont pris en charge. Pour obtenir la liste des
types de journaux activés dans votre abonnement, utilisez l'appel suivant :
La liste inclut le nom d'affichage activé pour traduction de chaque type de journal et la liste des propriétés disponibles.GET /instance/services/log_types
- Demander un type de journal spécifique à un environnement
- Utilisez l'appel suivant pour demander un journal :
Les détails de la demande de journal sont transmis en tant qu'objet JSON dans le corps de la demande de l'appel. Par exemple, pour demander les journaux du cluster d'application dans l'environnement de développement, le corps de l'appel doit inclure le type d'environnement et de journal :POST /instance/services/logs
Selon les propriétés prises en charge pour votre type de journal, vous pouvez ajouter des critères de filtre au corps de l'appel en définissant les propriétés correspondantes dans l'objet JSON. Par exemple, pour demander un journal de cluster d'application contenant tous les événements consignés entre 13h07 et 13h17 le 16 août 2019 avec le niveau de journalisation le plus élevé, utilisez l'appel suivant :POST /instance/services/logs ... { "environment": "dev", "log_type": "AppCluster" }
La réponse contient l'ID de journal ainsi que le statut et les détails de la demande de journal. Vous pouvez utiliser l'ID de journal pour extraire le statut, les détails de la demande de journal et le fichier journal. Si vous spécifiez une propriété non prise en charge pour un type de journal, l'API renvoie une erreur. Si vous n'incluez pas toutes les propriétés prises en charge, les valeurs par défaut sont utilisées pour les propriétés manquantes.POST /instance/services/logs ... { "environment": "dev", "log_type": "AppCluster", "start_time": "2019-08-16T13:17:22.421Z", "duration": 10, "min_log_level": "all" }
- Extraire le journal demandé
- Vérifiez le statut d'une demande d'extraction de journal en ajoutant le paramètre log_id à l'appel GET :
Lorsque la demande de journal renvoyée contient le statut "available", vous pouvez utiliser l'appel suivant avec le type de contenu "application/zip" pour extraire le fichier .zip contenant les journaux :GET /instance/services/logs/8015
GET /instance/services/logs/8015/file
- Supprimer les demandes de journal et les fichiers journaux associés
- Supprimez la demande de journal et les fichiers journaux à l'aide de l'appel suivant :
DELETE /instance/services/logs/8015