Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Konfigurieren eines Syslog-Appenders

Sie möchten die Logs ggf. direkt an ein Syslog-, ein Syslog-ng- oder ein Rsyslog-System senden.

Prozedur

  1. Ö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
  2. Speichern Sie die Datei.
  3. 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.
    1. 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.
    2. 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:
      { 
        "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"
      }
      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:
      "taskId": {"$resolver": "mdc", "key": "flowID"},
      "executionId": {"$resolver": "mdc", "key": "flowExecutionId"},
      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.
  4. 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!