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:

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;

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.

This entry was posted in Sonstiges and tagged , . Bookmark the permalink.

Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>