Monitorer une tâche spécifique sans télécharger les logs - Cloud

Guide d'utilisation des API Talend Cloud

Version
Cloud
Language
Français
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
Last publication date
2024-04-04
Obtenez les métriques d'exécution d'une tâche spécifique sans avoir à générer ou télécharger ses logs.

Avant de commencer

  • Générez un jeton d'accès personnel en suivant la procédure Générer un jeton d'accès personnel.

  • L'utilisateur·trice de ce service doit avoir les droits Author, Viewer et Executor pour l'espace de travail auquel appartient la tâche à monitorer.
  • Vous devez connaître l'ID de cet espace de travail. Obtenez cet ID via une requête d'API ou via Talend Management Console :
    • API : utilisez GET sur https://api.<your_environment>.cloud.talend.com/orchestration/workspaces.
    • Talend Management Console : l'ID de l'espace de travail s'affiche dans l'URL de la page Edit workspace (Modifier l'espace de travail).
      Dans l'URL, l'ID de l'espace de travail est sélectionné.
  • Vous devez connaître l'ID de la tâche à monitorer.
    Dans Talend Management Console, cet ID est affiché sur la page dédiée de la tâche à monitorer. Par exemple :
    L'ID de la tâche dans la page de la tâche est sélectionné.
    Vous pouvez également obtenir l'ID des tâches via la requête d'API suivante :
    method: GET
    endpoint: https://api.<env>.cloud.talend.com/processing/executables/tasks
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer <your_personal_access_token>"
              }
    query parameters: {
       "workspaceId": "id_of_the_workspace_of_the_task_to_be_monitored"
                      }

Pourquoi et quand exécuter cette tâche

Dans cette section, l'appel d'API suivant est d'abord émis :
method: GET
endpoint: https://api.<env>.cloud.talend.com/processing/executables/tasks/{taskId}/executions
headers: {
 "Content-Type": "application/json",
 "Authorization": "Bearer <your_personal_access_token>"
}
payload: {
  "lastDays": "1",
  "status": "execution_failed",
  "workspaceId": "id_of_the_workspace"
}
Il est implémenté dans Talend API Tester à des fins de démonstration.

Procédure

  1. Ouvrez Talend API Tester dans votre navigateur et sélectionnez GET dans la liste Method.
  2. Dans le champ près de la liste déroulante Method (Méthode), saisissez l'endpoint à utiliser :

    Exemple

    Dans cet exemple, les paramètres status, lastDays et workspaceId sont utilisés pour récupérer toutes les exécutions en échec d'un jour passé, pour une tâche spécifique dans l'espace de travail donné.
    Dans les Paramètres de requête (Query Parameters), les paramètres status, lastDays et workspaceid sont sélectionnés.
  3. Émettez cette requête d'API pour obtenir la liste des exécutions en échec.
  4. Utilisez chacun de ces ID pour émettre la requête d'API suivante sur leurs métriques d'observabilité :
    method: GET
    endpoint:
      https://api.<env>.cloud.talend.com/monitoring/observability/executions/{runId}/component
    headers: {
       "Authorization": "Bearer <personanl_access_token>"
                      }
    payload: N/A
  5. Analysez la réponse pour identifier la cause de chaaque échec. Par exemple, si vous voyez qu'un composant n'a pas de champ component_execution_duration_milliseconds, il est possible que ce composant ne réponde plus.
    La section suivante présente plusieurs exemples concernant l'utilisation de ces métriques.

Résultats

Voici un exemple de réponse de requête GET sur l'endpoint /monitoring/observability/executions/{runId}/component.
{
            "account_id": "2be59707-2230-45dc-a43d-db7e6d798425",
            "engine_id": "a60bb1c0-7669-407f-9326-138af05da18a",
            "engine_type": "CLOUD",
            "engine_version": "2.10.8",
            "workspace_id": "61273932d0366133d05729b7",
            "task_id": "612739e79a0ac71b8f3ed4dd",
            "task_execution_id": "947e3e2f-d199-4988-a5ab-14ceb36c80f3",
            "artifact_id": "612739e79a0ac71b8f3ed4db",
            "artifact_name": "job_with_rejected_rows",
            "artifact_version": "0.1.0.20212608065119",
            "start_time": "2021-08-26T06:53:30.127Z",
            "finish_time": "2021-08-26T06:53:35.361Z",
            "rows_rejected": 1,
            "operator": "admin",
            "operator_type": "HUMAN",
            "processes": [
            {
            "process_id": "0329f8d4-1c69-3372-9233-d38ac6ef03a8",
            "job_name": "MainJob",
            "pid": "20210806181617_2Y68h",
            "father_pid": "20210806181617_2Y68h",
            "root_pid": "20210806181617_2Y68h"
            }
            ],
            "metrics": {
            "items": [
            {
            "pid": "20210806181617_2Y68h",
            "connector_type": "tMongoDBConnection",
            "connector_label": "tMongoDBConnection_1",
            "connector_id": "tMongoDBConnection_1",
            "component_start_time_seconds": 1628266578
            },
            {
            "pid": "20210806181617_2Y68h",
            "connector_type": "tRowGenerator",
            "connector_label": "tRowGenerator_1",
            "connector_id": "tRowGenerator_1",
            "target_connector_type": "tFlowMeter",
            "target_label": "vFlowMeter_row1",
            "target_id": "vFlowMeter_row1",
            "component_start_time_seconds": 1628266578,
            "component_connection_rows_total": 5000000,
            "component_execution_duration_milliseconds": 491585
            },
            {
            "pid": "20210806181617_2Y68h",
            "connector_type": "tFlowMeter",
            "connector_label": "vFlowMeter_row1",
            "connector_id": "vFlowMeter_row1",
            "component_start_time_seconds": 1628266578
            },
            {
            "pid": "20210806181617_2Y68h",
            "connector_type": "tFlowMeter",
            "connector_label": "vFlowMeter_row1",
            "connector_id": "vFlowMeter_row1",
            "target_connector_type": "tMongoDBOutput",
            "target_label": "Insert from SQL",
            "target_id": "tMongoDBOutput_1",
            "component_start_time_seconds": 1628266578,
            "component_connection_rows_total": 5000000,
            "component_execution_duration_milliseconds": 491605
            },
            {
            "pid": "20210806181617_2Y68h",
            "connector_type": "tMongoDBOutput",
            "connector_label": "Insert from SQL",
            "connector_id": "tMongoDBOutput_1",
            "component_start_time_seconds": 1628266578
            },
            {
            "pid": "20210806181617_2Y68h",
            "connector_type": "tMongoDBInput",
            "connector_label": "tMongoDBInput_2",
            "connector_id": "tMongoDBInput_2",
            "target_connector_type": "tLogRow",
            "target_label": "tLogRow_2",
            "target_id": "tLogRow_2",
            "component_start_time_seconds": 1628267070,
            "component_connection_rows_total": 2158754
            },
            {
            "pid": "20210806181617_2Y68h",
            "connector_type": "tLogRow",
            "connector_label": "tLogRow_2",
            "connector_id": "tLogRow_2",
            "component_start_time_seconds": 1628267070
            }
            ],
            "limit": 50,
            "offset": 0,
            "total": 7
            }
            }