Datenbank Logging

Screenshot TOS

Die Aufgabe: das Logging eines täglich laufenden Jobs soll in einer MySQL-Tabelle erfasst werden.

Die Lösung: per phpMyAdmin eine neue Datenbank talend_logs anlegen. Einen „Neuen Benutzer hinzufügen“ (z.B. talend). Diesem alle Rechte auf Datenbanken – die mit dem Benuterznamen beginnen (talend_%) – gewähren. Folgendes SQL-Skript auf die neue Datenbank anwenden:

[code lang=“sql“]DROP TABLE IF EXISTS `talend_logs`.`tflows`;
CREATE TABLE `talend_logs`.`tflows` (
`moment` datetime default NULL,
`pid` varchar(20) default NULL,
`father_pid` varchar(20) default NULL,
`root_pid` varchar(20) default NULL,
`system_pid` bigint(20) default NULL,
`project` varchar(50) default NULL,
`job` varchar(50) default NULL,
`job_repository_id` varchar(255) default NULL,
`job_version` varchar(255) default NULL,
`context` varchar(50) default NULL,
`origin` varchar(255) default NULL,
`label` varchar(255) default NULL,
`count` int(11) default NULL,
`reference` int(11) default NULL,
`thresholds` varchar(255) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `talend_logs`.`tlogs`;
CREATE TABLE `talend_logs`.`tlogs` (
`moment` datetime default NULL,
`pid` varchar(20) default NULL,
`root_pid` varchar(20) default NULL,
`father_pid` varchar(20) default NULL,
`project` varchar(50) default NULL,
`job` varchar(50) default NULL,
`context` varchar(50) default NULL,
`priority` int(3) default NULL,
`type` varchar(255) default NULL,
`origin` varchar(255) default NULL,
`message` varchar(255) default NULL,
`code` int(3) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `talend_logs`.`tstats`;
CREATE TABLE `talend_logs`.`tstats` (
`moment` datetime default NULL,
`pid` varchar(20) default NULL,
`father_pid` varchar(20) default NULL,
`root_pid` varchar(20) default NULL,
`system_pid` bigint(20) default NULL,
`project` varchar(50) default NULL,
`job` varchar(50) default NULL,
`job_repository_id` varchar(255) default NULL,
`job_version` varchar(255) default NULL,
`context` varchar(50) default NULL,
`origin` varchar(255) default NULL,
`message_type` varchar(255) default NULL,
`message` varchar(255) default NULL,
`duration` bigint(20) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;[/code]

Bei den Properties eines Jobs kann unter dem Reiter „Stats & Logs“ (siehe Abbildung) das Logging aktiviert und auf die Datenbank umgebogen werden.

  • Stats Table: „tstats“
  • Logs Table: „tlogs“
  • Meter Table: „tflows“

Anmerkung: diese Einstellungen macht das setzen einzelner tStatsCatcher, tLogCatcher und tMeterFlowCatcher überflüssig.

Tipp: die „Stats & Logs“ Einstellungen können für alle neuen Jobs im Menü Preferences » Talend » Stats & Logs » Java definiert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.