Maskieren sensibler Verbindungsinformationen in den Taskausführungslogs in Talend Management Console
Ab Remote Engine v2.12.3 werden Verbindungsinformationen bei der Anzeige in den Logs in Talend Management Console automatisch maskiert. Bei diesen Informationen kann es um beliebige der von Ihnen in Talend Management Console gesperrten Verbindungsparametern handeln, wie z. B. Host, Portnummer oder Benutzername.
Warum und wann dieser Vorgang ausgeführt wird
Prozedur
Ergebnisse
Die Maskierung sensibler Verbindungsinformationen kann zu einer erhöhten CPU- und Speichernutzung führen, wenn zahlreiche Informationen maskiert werden, während gleichzeitig eine große Anzahl Logs im Speicher aufbewahrt wird.
Um diese Nutzungssteigerung zu begrenzen, stellen Sie die folgenden Parameter bedarfsgerecht ein:
- Navigieren Sie zum Ordner <RemoteEngineInstallationDirectory>/etc und öffnen Sie die Datei org.talend.ipaas.rt.jobserver.client.cfg.
- Passen Sie die Werte wie folgt an:
Die folgende Tabelle enthält die Parameter, die eine Anpassung der Größe der Logzeilen und der Anzahl der gespeicherten Logereignisse ermöglichen: Parameter Beschreibung job.log.msg.size.max Der Standardwert beträgt 10000 Zeichen und verweist auf die maximal zulässige Größe für jede Logzeile. Wenn Sie diesen Wert reduzieren, um die Größe jeder zu verarbeitenden Logzeile zu begrenzen, wird jede Logzeile trunkiert und dadurch der Ressourcenverbrauch gesenkt.
Sollte das Trunkieren der Logs ein Problem für Sie darstellen, dann können Sie auch zusätzliche Ressourcen zur Engine hinzufügen.
job.log.msg.buffer.size.max Dieser Parameter legt die maximale Anzahl an Logereignissen fest, die zeitweise im Arbeitsspeicher abgelegt werden können. Der Standardwert beträgt 10000. Wenn zahlreiche Logereignisse gleichzeitig auftreten, kann es vorkommen, dass diese maximale Anzahl erreicht wird. Das hat den Verlust von Logdaten zur Folge. Um einen derartigen Verlust zu vermeiden, erhöhen Sie die Puffergröße und weisen Sie Ihrer Engine entsprechend zusätzliche Speicherressourcen zu.
InformationshinweisAnmerkung: Um die Last für Arbeitsspeicher und CPU zu begrenzen, können Sie ebenfalls den Parameter thread.timeout hinzufügen, um einen Zeitraum für die Logverarbeitung festzulegen, nach dessen Ablauf ein Timeout ausgelöst wird. Der Standardwert beträgt 5 Minuten. Danach wird die Logverarbeitung angehalten und die Kontextinformationen werden gelöscht. Wenn Sie diesen Wert reduzieren, werden häufiger Ressourcen freigegeben. Beachten Sie hierbei jedoch, dass alle nicht verarbeiteten Logs jeweils verloren gehen. Sollte das ein Problem darstellen, können Sie Ihrer Engine auch mehr Ressourcen zuweisen.Bei Auftreten des timeout-Ereignisses wird dieses als WARN-Ereignis (Warnung) im Log aufgezeichnet. Ein Logeintrag zu diesem Ereignis könnte folgendermaßen aussehen:Force cleanup context for empty streamSet, executionId {}
- Für jedes Zeichen sind 2 Speicherbytes erforderlich. Um die für die Logverarbeitung benötigten zusätzlichen Ressourcen zu berechnen, können Sie beispielsweise folgende Berechnung anstellen:
- Bei 2000 Zeichen auf jeder Logzeile und 2000 Logereignissen sind 80 MB Arbeitsspeicher erforderlich.
- Bei 20000 Zeichen auf jeder Logzeile und 5000 Logereignissen sind 200 MB Arbeitsspeicher erforderlich.
- Bei 20000 Zeichen auf jeder Logzeile und 20000 Logereignissen sind 800 MB Arbeitsspeicher erforderlich.
Wenn Ihre Engine als Systemdienst implementiert wurde und Sie diese Zuweisung auf dem Hostgerät erhöhen, müssen Sie anschließend die JVM-Konfiguration in der Datei <RemoteEngineInstallationDirectory>/etc/talend-remote-engine-wrapper.conf entsprechend anpassen.