26. Oktober 2016 Veröffentlichungen

Beats 5.0.0 veröffentlicht

Von Tudor GolubencoMonica Sarbu

Endlich ist sie da! Nach rund elf Monaten Arbeit, fünf Alpha-Versionen, einer Beta-Version und einem Release-Kandidaten haben wir eine umfassend neue Version deines Lieblings-Daten-Shippers. Und nicht nur von Beats kommt heute eine neue Version. Denn nach dieser Veröffentlichung kommen von allen Projekten des Elastic Stack zeitgleich neue Versionen heraus, und zwar mit derselben Versionsnummer bis hinunter zum Patch-Level. Daher kommt es zum kühnen Sprung von 1.3.1 zu 5.0.0 bei der Versionsnummer von Beats.

Wenn du die Alpha- und Beta-Versionen mitverfolgt hast, weißt du schon, worum es geht. Deshalb halten wir dich nicht länger auf und du kommst hier zum Download. Wenn nicht, stellen wir in diesem Blog-Post die wichtigsten Veränderungen vor, die 5.0 bringt.

Wenn du von einer 1.x-Version upgradest, lies bitte die Dokumente mit den Breaking Changes und die Anleitung für das Upgrading.

Metricbeat – du weißt schon, für Metriken

Metricbeat ersetzt Topbeat als primäres Werkzeug für das Sammeln von Metriken im Elastic Stack. Wie Topbeat, so sammelt auch Metricbeat die zu „top“ analogen Statistiken zu Hosts und für Prozessressourcen (CPU, Speicher, Festplatte, Netzwerk). Im Unterschied zu Topbeat sammelt Metricbeat auch Metriken von Systemen wie Apache, HAProxy, MongoDB, MySQL, Nginx, PostgreSQL, Redis oder Zookeeper, und schon bald werden weitere hinzukommen.

Das Systemmodul in Metricbeat bietet alle Funktionen von Topbeat und dazu kommen neue Funktionen wie containerbezogene Metriken sowie I/O-Metrik für Festplatte und Netzwerk. Die Konfigurationen der beiden Beats sind nicht kompatibel, doch das Umstellen von einem zum anderen ist ziemlich einfach. 

Und es gibt noch mehr gute Nachrichten: Metricbeat nutzt den neuen Nummerntyp und die Speicherimplementierung von Elasticsearch 5.0, was das Indizieren und die Suche von Zahlen beschleunigt sowie die Festplatten- und Speichereffizienz steigert.

Filebeat – Verbesserungen unter der Motorhaube

Wir haben refaktoriert, wie Filebeat den Status gesammelter Dateien speichert (welche Dateien geöffnet werden, individuelle Inode-Nummern, wie weit wir jeweils gelesen haben usw.). Wir haben außerdem die Einstellungen bereinigt, wann Dateien zu schließen, zu ignorieren oder vom Statusspeicher zu vergessen sind. Wir erwarten von diesen Veränderungen eine Verbesserung der Robustheit von Filebeat in Ausnahmefällen (Wiederverwendung von Inodes etwa oder sehr schnelle Dateirotation), weshalb wir das Upgrade empfehlen. 

Darüber hinaus kann Filebeat nun JSON-Objekten aus Logzeilen nativ dekodieren. Das ist nützlich für das strukturierte Loggen, bei dem die Loggingbibliothek die Metadaten direkt als JSON schreibt.

Packetbeat Flows

Packetbeat erstellt nun Statistiken wie Paketzählungen und Bytezählungen zu IP- und TCP-Strömen, die unabhängig von den Protokollen auf höherer Ebene erfolgen. Dies öffnet Packetbeat für eine Reihe neuer Anwendungsfälle, da es Einblick dahinein verschafft, wie der Verkehr durch das Netzwerk fließt, und es bietet zudem ein begrenztes Maß an Einblick in verschlüsselten Verkehr.

Darüber hinaus unterstützt Packetbeat einige weitere Anwendungsprotokolle wie AMQP, Cassandra, EDNS, DNSSEC und NFS.

Filter mit der Leistung von Prozessoren

Beats-„Prozessoren“ sind einfache Regeln, welche die Events kurz vor ihrem Transfer aus dem Beat bearbeiten. Zwar sind sie von ihrer Art her ähnlich wie Ingest-Node-Prozessoren der Logtash-Filter, doch erwarte dir bitte nicht deren Leistungsfähigkeit. Die Beats-Prozessoren sind, ... nun, Leichtgewichte und sie konzentrieren sich auf das Filtern der Daten, damit nicht zu viele davon über das Netzwerk gesendet werden, wenn sie dann sowieso von Logtash ausgesondert werden.

Abgesehen davon aber geben dir Prozessoren viel Flexibilität bei der Auswahl der zu versendenden Daten. Hier ein kurzes Beispiel:

processors:
- drop_event:
   when:
     equals:
       http.code: 200
- drop_fields:
    fields: [“http.phrase”]

Kafka Output

Wir haben euer Feedback berücksichtigt und so unterstützt Beats nun nativ Kafka als Output, wobei zugleich die zuvor bereits bestehende Redis-Ausgabe deutlich verbessert wurde. Das bedeutet: Wenn du alle Nachrichten ohnehin durch eine Kafka-Queue leitest, braucht du nun nicht mehr eine eigene Logstash-Instanz zum Konvertieren zwischen Beats und Kafka.

Die Kafka-Ausgabe für Beats ist kompatibel mit den Kafka-Versionen 0.8, 0.9 und 0.10, Verschlüsselung und Authentifizierung werden ebenso unterstützt wie dynamische Topic- und und Partitionsauswahl.

Flexibles Konfigurieren

Beats 5.0 verwendet nach wie vor das YAML-basierte Konfigurationsformat. Es wurde jedoch um viele kleine Funktionen erweitert, welche die Anwendung von Beats einfacher und angenehmer machen. Die neuen Funktionen bieten eine verbesserte Unterstützung von Namespaces, Referenzvariablen und regulären Ausdrücken sowie darüber hinaus die Möglichkeit des Überschreibens jedweder Einstellungen mit dem Flag -E über die Befehlszeile.

Mehr Informationen zur neuen Beats-Konfiguration findest du in der Dokumentation.

Ich will mehr erfahren

Du willst mehr wissen über die Neuerungen von 5.0? Dann schau dir die Release Notes und die Blog-Posts für die Vorversionen an:

Dankeschön an die Community

Jetzt wird gefeiert!

Beats team 5.0

Zunächst wollen wir allen danken, die unsere Vorversionen von 5.0 ausprobiert und die gefundenen Fehler gepostet haben. Jeder von euch bekommt ein kleines Dankeschön von Elastic.

Außerdem wollen wir folgende Community-Mitglieder für ihre wichtigen Beiträge zur Version 5.0 hervorheben:

Und an die ganze Community: Danke, und viel Spaß beim Arbeiten mit 5.0!