Ein Highlight der letzten PuppetConf war mit Sicherheit der Vortrag von Jordan Sissel zum Thema Logstash. Für Nutzer von Logstash war zwar nicht soviel Neues dabei, doch machte die ein oder andere Ankündigung für die neue Version neugierig und der Stil seines Vortrags war hinzu noch sehr unterhaltsam.

jordan_logstash

Logstash ist ein Werkzeug für das Management von Logdateien und man kann es sich grundsätzlich wie eine Art “Pipe” mit verschiedenen Ein- und Ausgabeformaten vorstellen. Die Log-Informationen werden also via File, Socket oder diversen anderen Inputs angenommen, gefiltert, getagged und weitergeleitet. Logstash selbst hält keine Daten vor, sondern sorgt “lediglich” für die konkrete Bearbeitung und Weiterleitung. Für die spätere Analyse setzt logstash auf elasticsearch als Datenhaltungsbackend.
Seit einigen Tagen steht nun die neue Version von logstash zur Verfügung, aber was gibt es Neues:

  • Neues Webinterface
    Man hatte fast den Eindruck dass Jordan etwas Scham beim Anblick seiner früheren Eigenentwicklung von logstash-web bekommen hat, aber man kann eben als Einzelkämpfer nicht alles perfekt lösen. Hier hat das Projekt Unterstützung von Rashid Khan bekommen und liefert ab sofort Kibana in der Version 3 mit aus. Das Javascript-Frontend läuft vollständig ohne Serverkomponenten und greift direkt auf das REST-Interface von elasticsearch zu.
  • Conditionals
    Viele Anwender wünschen sich dieses Feature seit langer Zeit und mit Version 1.2.x ist es nun endlich soweit. Zwar konnte man in der Vergangenheit bereits mit Tags ähnliche Ergebnisse erzielen, aber die integrierten Bedingungen erleichtern einem deutlich die praktische Arbeit. So ist bspw. eine Abfrage auf Umgebung und Loglevel möglich, welche dann nur kritische Events an das Monitoring-System oder einen Email-Account weiterleitet.Ein Beispiel:

    output {
      # Send production errors to nagios/icinga
      if [loglevel] == "ERROR" and [deployment] == "production" {
        nagios {
          ...
        }
      }
    }
  • elasticsearch Bulk API
    Wie der Name vermuten lässt erlaubt elasticsearch mit Hilfe der Bulk API die gleichzeitige Ausführung von mehreren Operationen in einem Request. Bei großen Umgebungen konnte es in früheren Versionen durchaus manchmal zu Schwierigkeiten in der Verarbeitung kommen, welche sich durch die neuen Bulk-Requests und das optimierte JSON-Schema deutlich vermindern lassen.

Zu den beschriebenen Features gibt es noch eine ganze Menge neuer In- und Outputs sowie viele kleine Optimierungen hinsichtlich Performance und Usability. Logstash ist ein tolles Werkzeug und ich werde auch bei der kommenden OSMC die Gelegenheit nutzen, Logstash und ein paar Tools drumherum vorzustellen. Logstash und die Tatsache, dass die Gold-Pakete langsam knapp werden sollte eigentlich Motivation genug sein, den Anmeldebutton zu betätigen.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.