Récupérer des logs de manière périodique pour analyse - Cloud

Guide d'utilisation des API Talend Cloud

Version
Cloud
Language
Français (France)
Product
Talend Cloud
Module
Talend API Designer
Talend API Tester
Talend Data Preparation
Talend Data Stewardship
Talend Management Console
Content
Création et développement > Création d'APIs
Création et développement > Test d'API

Utilisez l'endpoint /executions/{runId}/logs et l'endpoint /executions/{runId}/logs/status pour récupérer les logs d'exécution d'une période donnée.

  • Utilisez la méthde POST sur /executions/{runId}/logs pour générer le log complet d'une période donnée d'une exécution, ainsi que le jeton pour accéder à ce log. Ce jeton est valide une heure après génération.
  • Utilisez la méthode POST sur /executions/{runId}/logs/status pour vérifier que le log est prêt au téléchargement et générer une URL.

Avant de commencer

  • Vous devez avoir les droits Author, Viewer et Executor pour l'espace de travail auquel appartient la tâche à monitorer.
  • Vous devez connaître l'ID d'exécution de la tâche à monitorer.

    Cet ID est disponible sur la page Task execution log (Log d'exécution de la tâche), sous le nom Task execution ID (ID d'exécution de la tâche). Vous pouvez également obtenir cet ID via un appel GET depuis l'endpoint /executables/tasks/{taskId}/executions.

Pourquoi et quand exécuter cette tâche

Vous pouvez accéder à l'API de Management Console via https://api.us.cloud.talend.com/tmc/swagger/swagger-ui.html. Vous pouvez voir une liste d'URL correspondant à chaque centre de données dans URL et régions de Talend Cloud.

Dans cet exemple, Talend API Tester est utilisé pour émettre des requêtes d'API. Pour plus d'informations concernant Talend API Tester, consultez Guide d'utilisation de Talend Cloud API Tester.

Procédure

  1. Si vous n'avez pas encore de jeton d'accès personnel, dans la page Users (Utilisateurs) de Talend Cloud Management Console, générez un jeton d'accès personnel pour votre compte.
  2. Ouvrez Talend API Tester dans votre navigateur et sélectionnez POST dans la liste Method.
  3. Dans le champ près de la liste déroulante Method (Méthode), saisissez l'endpoint à utiliser : https://api.<your_environment>.cloud.talend.com/tmc/v2.5/executions/<runId>/logs.
  4. Cliquez sur le bouton Add query parameter (Ajouter un paramètre de requête) pour ajouter les paramètres startTime et endTime. Ces paramètres vous permettent de limiter la requête à une période de vos logs.
    La valeur de la date doit suivre ce format :
    yyyy-mm-ddThh:mm:ssZ
    Par exemple, 2021-09-01T07:01:45Z.
  5. Dans la zone HEADERS, cliquez sur Add header. Dans le champ name qui s'affiche, saisissez Authroization et dans le champ value, saisissez Bearer, ainsi que votre jeton d'accès personnel. Saisissez un espace afin de séparer Bearer de votre jeton d'accès personnel.
  6. Cliquez sur Send pour envoyer votre requête.
    La réponse contient la taille du log complet généré et le jeton pour y accéder. Par exemple :
    {
    "size": the_full_log_size,
    "token": "the_generated_token"
    }
  7. Cliquez sur le bouton Save (Sauvegarder) afin de sauvegarder cette requête dans votre référentiel, dans Talend API Tester. Lorsque vous sauvegardez la requête, vous devez lui donner un nom. Dans cet exemple, la requête est nommée generate-full-log-and-token.
  8. Créez une requête dans Talend API Tester pour émettre un appel POST.
  9. Dans la liste Method (Méthode), sélectionnez POST.
  10. Dans le champ près de la liste déroulante Method (Méthode), saisissez l'endpoint à utiliser : https://api.<your_environment>.cloud.talend.com/tmc/v2.5/executions/<runId>/logs.
  11. Dans le champ Body (Corps), saisissez le jeton à usage unique obtenu de la requête précédente.

    Exemple

    Dans Talend API Tester, vous pouvez utiliser l'Expression Builder pour saisir une expression, au lieu du jeton statique, pour obtenir dynamiquement le jeton le plus récent généré par la requête précédente. Cette requête doit avoir été sauvegardée dans votre référentiel, dans Talend API Tester. Dans cet exemple, la requête sauvegardée est generate-full-log-and-token.

    Voici un exemple de ce à quoi peut ressembler l'Expression Builder :

  12. Cliquez sur Send pour envoyer votre requête.
    La réponse contient l'URL de téléchargement du log complet généré et le statut indiquant si ce log est prêt à être téléchargé.

    Si le statut indique que le log n'est pas prêt (le statut n'est pas READY), émettez l'appel à nouveau. Lorsque le log est prêt, utilisez l'URL retournée pour le télécharger.

    Par exemple :
    {
    "presignedURL": "URL_to_download_logs",
    "status": "READY"
    }

Résultats

Vous pouvez intégrer ces requêtes d'API dans votre système de monitoring afin de générer et télécharger périodiquement le log complet d'une période donnée à des fins analytiques.

Une seule exécution est utilisée dans ce scénario à des fins de démonstration. Si vous souhaitez analyser toutes les exécutions d'une tâche, vous pouvez utiliser une méthode GET sur l'endpoint suivant, pour obtenir l'ID de ces exécutions :
 https://api.<your_environment>.cloud.talend.com/tmc/v2.5/executables/tasks/{taskId}/executions

Passez ensuite chaque ID dynamiquement aux endpoints /executions/{runId}/logs et /executions/{runId}/logs/status, afin de préparer les logs à utiliser.

Vous pouvez développer un programme, comme un Job Talend, pour automatiser le processus complet dans votre système de monitoring.