Konfigurieren eines Syslog-Appenders
Sie möchten die Logs ggf. direkt an ein Syslog-, ein Syslog-ng- oder ein Rsyslog-System senden.
Prozedur
-
Öffnen Sie die Datei <RemoteEngineInstallationDirectory>/etc/org.ops4j.pax.logging.cfg und fügen Sie folgende Zeilen hinzu:
Example
log4j2.appender.syslog.type = Syslog log4j2.appender.syslog.name = SyslogAppender log4j2.appender.syslog.format = RFC5424 log4j2.appender.syslog.host = localhost log4j2.appender.syslog.port = 514 log4j2.appender.syslog.protocol = TCP log4j2.appender.syslog.appName = RE log4j2.appender.syslog.includeMDC = true log4j2.appender.syslog.facility = LOCAL0 log4j2.appender.syslog.layout.type = JsonTemplateLayout log4j2.appender.syslog.layout.eventTemplateUri=${karaf.base.uri}/etc/jsonLogMinTemplate.json log4j2.appender.syslog.layout.stackTraceElementTemplateUri=${karaf.base.uri}/etc/StackTraceElementLayout.json log4j2.rootLogger.appenderRef.SyslogAppender.ref = SyslogAppender
- Speichern Sie die Datei.
-
Fügen Sie die MDC-Informationen (Mapped Diagnostic Context) in der JSON-Vorlagendatei hinzu, sodass die Ausgabe-Logs, sofern zutreffend, die MDC-Informationen enthalten. Die MDC-Informationen enthalten die Ausführungs-ID einer Task von Talend Management Console.
-
Erstellen Sie in <RemoteEngineInstallationDirectory>/etc eine Konfigurationsdatei und geben Sie ihr den Namen jsonLogMinTemplateCustom.json.
In dieser Datei konfigurieren Sie das Format der Ausgabe-Logs.
-
Fügen Sie in der neuen Datei folgende Zeilen hinzu, um einen MDC-Resolver zu erstellen:
Example
{ "logMessage": { "$resolver": "message", "stringified": true }, "my_mdc": { "$resolver": "mdc" }, "logTimestamp": { "$resolver": "timestamp", "epoch": { "unit": "millis", "rounded": true } }, "severity": { "$resolver": "level", "field": "name" }, "ticLogLevel": { "$resolver": "source", "field": "ticLogLevel" } }
Im Beispiel wird ein JSON-Objekt definiert, um die Felder anzugeben, die in die MDC-Ausgabe eingeschlossen werden sollen. Das Objekt verwendet Schlüssel-Wert-Paare, in denen die Schlüssel die Ausgabefelder und die Werte die Resolver zum Befüllen dieser Felder angeben.
Mit der Zeile "my_mdc": { "$resolver": "mdc" } wird ein Feld mit dem Namen my_mdc in der Ausgabe erstellt. Der Resolver mdc befüllt dieses Feld mit allen MDC-Feldern. Dadurch werden zusätzliche Diagnoseinformationen im Zusammenhang mit den Logs bereitgestellt. Ein Feld my_mdc kann wie folgt aussehen:Um spezifische MDC-Felder wie flowID (zur Darstellung einer Task-ID) und flowExecutionId (zur Darstellung einer Task-Ausführungs-ID) abzurufen, ersetzen Sie die Zeile "my_mdc": { "$resolver": "mdc" } mit:{ "accountID":"31e47fe5-abcd-4a80-a8b2-590123456789", "bundle.id":"289", "bundle.name":"org.talend.ipaas.engine.deployment-agent", "bundle.version":"2.13.7", "executionDestination":"REMOTE_ENGINE", "flowExecutionId":"ed31c1a8-abcd-4121-98bd-cd0123456789", "flowID":"61fbfc899e86410123456789", "flowVersion":"45.28", "remoteEngineId":"c62cd9a1-abcd-4580-8af1-220123456789", "userId":"user.talend.com", "workspaceId":"5ef6605b2632fd1234567890" }
Die Feldnamen taskId und executionId sind nur Beispiele. Sie können beliebige aussagekräftige Namen verwenden, um die MDC-Felder zu erhalten, die Sie in die Ausgabe einschließen möchten."taskId": {"$resolver": "mdc", "key": "flowID"}, "executionId": {"$resolver": "mdc", "key": "flowExecutionId"},
-
Erstellen Sie in <RemoteEngineInstallationDirectory>/etc eine Konfigurationsdatei und geben Sie ihr den Namen jsonLogMinTemplateCustom.json.
- Konfigurieren Sie Ihr Syslog-System für die Verwendung der neuen Vorlage jsonLogMinTemplateCustom.json anstelle der Standard-Vorlagendatei jsonLogMinTemplate.json.
Hat diese Seite Ihnen geholfen?
Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!