E-Commerce Best Practice ›

Log Explorer Alle Logs zentral und mit Suchfunktion!

Was ist das und wofür ist das gut?

Bei verteilten Setups ist es manchmal umständlich, sämtliche Logfiles im Auge zu behalten. Du musst dich auf sämtlichen App-Servern via SSH einloggen, in die richtigen Verzeichnisse wechseln und dann auch noch mit Konsolen-Editoren umgehen können, wenn du Logfiles durchsuchen willst.
Um dir diese Arbeit einfacher zu machen, haben wir den Log-Explorer entwickelt. Hier fließen sämtliche relevanten Logfiles in eine zentrale Datenbank, so das du sie via Browser-Interface schnell und einfach durchsuchen kannst. Spezielle Suchszenarien kannst du auch speichern, um sie wiederzuverwenden. Ebenso kannst du auf Basis von solchen Abfragen Dashboards erstellen, um die wichtigsten Ereignisse aus den Logfiles sofort gesammelt an einer Stelle im Blick zu behalten.

Darüber hinaus ist es möglich, für bestimmte Ereignisse (z. B. Anzahl von 404 Meldungen, PHP Fatal Errors etc.) Schwellenwerte zu definieren. Werden diese überschritten, erhältst du eine Notification-Email.

Der Log Explorer hat sich in kürzester Zeit in die Top 5 der "Must Have Best Practices" für Entwickler:innen katapultiert. Das Best Practice ist erst seit Juni 2021 verfügbar und bereits 80 % der Setups verfügen über diesen.

Technische Details

Der Log Explorer (LE) ist eine Eigenentwicklung von ScaleCommerce und Teil unseres Best Practice Bundle. Technisch basiert der LE auf folgenden Komponenten:

rsyslog: Damit werden die Log-Messages aller App-Server direkt an unseren LE geschickt.
https://www.rsyslog.com/

vector: Vector empfängt die rsyslog-Messages, parsed sie und fügt sie in die Datenbank ein.
https://vector.dev/

clickhouse: Clickhouse dient als extrem schnelle Datenbank für sämtliche Log-Messages.
https://clickhouse.com/

Clickhouse bringt außerdem den Vorteil mit sich, dass man einzelne Tabellen mit einer maximalen Lifetime konfigurieren kann. Auf diese Weise werden alte Logeinträge automatisch gelöscht.

Was bedeutet dies für dein Business?

Zeitersparnis und Transparenz! Denn Fehler können jetzt gezielt gefunden werden und zwar in einem Tool. Für den Alltag eines Entwicklungsteams sicherlich eine enorme Erleichterung .

Welche Risiken vermeidest du damit?

Ein regelmäßiger Blick in die Logfiles der entscheidenen Komponenten (apache, nginx, application) sowie in jene der Applikation selbst gehört zu den Routinetätigkeiten von Entwickler:innen und DevOps. Nur so können Probleme und Fehler in der Applikation rechtzeitig erkannt und behoben werden. Uns war wichtig, diese Tätigkeit so einfach wie möglich zu gestalten - denn wir alle wissen: je mühsamer eine Aufgabe ist, desto geringer wird die Chance, dass sie auch regelmäßig erledigt wird.
Mit Hilfe der Suchfunktion und vor allem des Alertings können kritische Situation sofort bemerkt und bearbeitet werden.