Comment activer les logs talend avec tom

Dans ce tuto vous apprendrez à activer les logs talend. Ces logs seront stockés dans la base de données tom_database_lite que vous trouverez sur cette page.

1. Dans un premier temps il vous faudra télécharger et désarchiver le dump de tom_database_lite.

2. Créez une nouvelle base de données MySQL

CREATE DATABASE tom;

3. Puis injectez le SQL

mysql -u root -p tom < tom_database_lite.sql
mysql -u root -p tom
mysql> show tables;
+-----------------------+
| Tables_in_tom         |
+-----------------------+
| tom_flow_meter        |
| tom_log_tech          |
| tom_stats             |
| tom_v_finished_jobs   |
| tom_v_unfinished_jobs |
+-----------------------+
5 rows in set (0.00 sec)

4. Ouvrez talend puis sélectionnez votre projet.

5. Cliquez Fichier –> Editer les propriétés du projet

Sélectionnez  Editer les propriétés du projet

6. Allez à la section Job Settings, puis Stats & Logs. Activez le tStatCatcher, tLogCacher et tFlowMeterCatcher

Sélectionnez Base de données

7. Cochez « Dans la base de données » pour la sortie. Choisissez le type de base de données MySQL et entrez vos paramètres afin que cela ressemble à l’exemple ci-dessous. Afin de pouvoir déployer vos jobs sur d’autres serveurs (recette, preproduction, production par exemple), je vous conseille vivement d’utiliser des paramètres de contextes pour vos champs. Créez donc une base de données dans les métadonnées talend et exportez les paramètres en contexte.

Exemple de configuration des logs talend

Désormais toute exécution de job sera enregistré par défaut dans la base de données. Grace à ces informations vous pourrez :

  • Visualiser l’historique d’exécution
  • Connaitre les temps d’exécutions de vos traitements
  • Visualiser les flux monitorés
Il ne nous reste plus qu’à vérifier que tout fonctionne correctement. Voici 2 petits jobs de test que j’ai utilisé pour la démonstration, vous pouvez exécuter n’importe quel job de votre projet.

Le  job fill_tom_stats :
Job de test des logs
Le  job fill_tom_stats_with_subjobs : Job utilisant un job enfant Le tLoop exécute 10 fois de suite le job enfant (fill_tom_stats). Il y a donc 1 job enfant et 10 exécutions.
Vous disposez de 2 vues vous donnant les informations importantes, elles agrègent les données de la table tom_stats. Il s’agit de tom_v_finished_jobs et tom_v_unfinished_jobs correspondant respectivement à l’historique des jobs exécutés, et aux jobs en cours d’exécution.
La vue tom_tmp_v_finished_jobs_subjobs est utilisée comme table temporaire dans tom_v_finished_jobs. Elle ne nous interesse pas.
Désormais vous pouvez connaitre la liste des jobs exécutés sur votre serveur de cette manière :

 

mysql> select * from tom_v_finished_jobs;
+----+----------+------------+----------+-----------------------------+-------------+---------+----------+---------+---------+---------------+
| id | root_pid | date       | time     | job                         | job_version | context | duration | success | subjobs | subjobs_execs |
+----+----------+------------+----------+-----------------------------+-------------+---------+----------+---------+---------+---------------+
| 24 | AiTYGk   | 2011-10-27 | 17:19:52 | fill_tom_stats_with_subjobs | 0.1         | Default | 00:00:01 | success |       1 |            10 |
|  2 | HF4JNi   | 2011-10-18 | 23:32:05 | fill_tom_stats              | 0.1         | Default | 00:00:00 | success |       0 |             0 |
+----+----------+------------+----------+-----------------------------+-------------+---------+----------+---------+---------+---------------+
2 rows in set (0.01 sec)

Les champs subjobs et subjob_execs vous donnent des informations concernant les jobs enfants que vous utilisez. Le premier correspond au nombre de jobs enfants distincts présent dans le traitement et le deuxième correspond au nombre d’exécutions des jobs enfants.

 

Pour conclure, vous disposez ici des informations les plus importantes pour superviser vos traitements. Cependant les tables de logs vous permettent d’avoir plus d’information, notamment concernant les flux monitorés ainsi que les erreurs d’exécutions. Le logiciel tom(‘nt) affiche ces données. Je tacherai de faire des vues SQL permettant cela dès que le temps me le permet.

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>