Seite wählen

NETWAYS Blog

Sflow Traffic mit Elasticsearch

Das Webinterface zu Elasticsearch „Kibana“ wurde vor kurzem in der Version 3.0.0. GA released auch Elasticsearch selbst steht im neuen Glanz mit vielen neuen und nützlichen Features. Viele kennen bereits diese zwei Komponenten vermutlich unter anderem durch den Einsatz von Logstash. Dass man diese zwei Komponenten auch ohne Logstash für diverse Anwendungsfälle gut verwenden kann steht außer Frage.
Wir entwickeln aktuell an einer Ruby-Anwendung, die Sflow Daten empfängt, verarbeitet und an Elasticsearch sendet bzw. dort ablegt. Mit dem Kibana Webinterface lassen sich dann leicht Graphen über die gesammelten Daten auswerten und darstellen. Sflow ist ein Netzwerkprotokoll, dass u.a. Stichproben aus dem fließenden Traffic pickt und diese dann als sogenannte Samples an einen Collector sendet. Die Liste der Collectoren ist lang besteht allerdings meist aus kommerziellen closed-source Produkten.
Generell lassen sich daraus Informationen aufbereiten und ableiten, die zum Beispiel die Top 10 der IP-Adressen auf einem Switch, die den meisten Traffic verursachen oder VLANs die besonders viel Traffic verbrauchen und viele mehr.
Die Anwendung werden wir in den nächsten Wochen auf Github zur Verfügung stellen und in einem weiteren Blogpost darauf aufmerksam machen. Solange gibt es schon mal ein Sneak-Preview in Form von Screenshots 🙂
Bildschirmfoto 2014-03-25 um 14.46.24
Bildschirmfoto 2014-03-25 um 14.46.56

Sebastian Saemann
Sebastian Saemann
CEO Managed Services

Sebastian kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet das Managed Services Team. Wenn er nicht gerade Cloud-Komponenten patched, versucht er mit seinem Motorrad einen neuen Rundenrekord aufzustellen.

Reminder für das morgige Logstash-Webinar

logstash_01 Ich möchte noch einmal alle Logfile-Archivierer (und natürlich jene die es werden wollen) auf das morgige Logstash Webinar hinweisen. Unser Ziel wird es sein, die Architektur und Funktionsweise zu vermitteln. Dabei wird ein großer Schwerpunkt auf unserer Live-Demo liegen, in der wir Kibana, Elastic-Search und sogar einige Konfigurationen anschauen werden.
Starten wird das Webinar morgen Früh um 10:30 Uhr.
Wer sich vorab einige andere Webinare ansehen will, dem sei einerseits unser Webinar-Archiv nahelegt oder gleich unser erstes Logstash Webinar.
Wer bereits für die Zukunft planen möchte, kann sich ebenfalls für die beiden nächsten geplanten Webinare registrieren:

Icinga Web 2 Icinga Web in neuem Design
25. Februar 2014 – 10:30 Uh
Icinga 2 Entwicklungsstand 2014
05. März 2014 – 10:30 Uhr

Wie immer werden wir das Video und die Präsentation schnellstmöglich in unserem Webinar-Archiv online zur Verfügung stellen.
Cebit BlogWer eine persönliche Beratung zu Logstash wünscht, kann sich entweder über unser Kontaktformular bei uns melden oder uns auf der CeBIT im Open Source Park, Halle 6, an Stand E16 (310) besuchen. Um uns schneller zu finden, gibt es natürlich auch eine Wegbeschreibung.
Bis morgen im Webinar!

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

NETWAYS startet mit 3 Webinaren in 2014!

Auch 2014 ist NETWAYS wieder aktiv mit Webinaren vertreten. Starten werden wir Mitte Februar 2014, um einen Vorgeschmack auf die CeBIT zu ermöglichen.
Aktuelle Themen sind:

Logstash Open Source Log-Management
20. Februar 2014 – 10:30 Uhr
Icinga Web 2 Icinga Web in neuem Design
25. Februar 2014 – 10:30 Uh
Icinga 2 Entwicklungsstand 2014
05. März 2014 – 10:30 Uhr

Logstash
Ziel der Webinare ist es, unter anderem das Thema Logstash weiter zu vertiefen. Hierbei handelt es sich um eine schlanke Open Source Lösung, welche es ermöglicht Logs von hunderten von Systemen zu erfassen und in einem Webfrontend mit wenigen Klicks auszuwerten. Die Skalierbarkeit spielt hierbei ebenfalls eine entscheidende Rolle, da durch die schlanke Architektur das Setup auf mehrere Komponenten aufgeteilt werden kann.
Das Webinar hierzu findet am 20. Februar 2014 um 10:30 Uhr statt. Zur Registrierung.
Natürlich darf auch im neuen Jahr Icinga 2 nicht fehlen. Hierzu sind gleich zwei Webinare geplant.
Icinga Web 2
Zuerst wollen wir natürlich das neue und verbesserte Icinga Web 2 vorstellen, welches nicht nur in der Performance deutlich optimiert wurde, sondern auch ein komplett neues Design bekommt, um noch intuitiver zu werden. Weitere Infos gibt es auf unsere Webinarseite und während des Webinars.
Dieses findet am 25. Februar 2014 um 10:30 Uhr statt. Zur Registrierung.
Icinga 2
Als letzten Punkt wollen wir vor der CeBIT noch den aktuellen Entwicklungsstand zu Icinga 2 zeigen und auf alle bisher eingebauten Änderungen eingehen. Anhand einer Demo veranschaulichen wir dann die Unterschiede zu Nagios / Icinga und die Neuheiten von Icinga 2. Zum Schluss gibt es dann noch einen Ausblick auf den nächsten Milestone mit Version 0.0.8.
Das Webinar findet am 05. März 2014 um 10:30 Uhr statt. Zur Registrierung.
Wer unsere bisherigen Webinare verpasst hat, hat die Chance sich über unseren YouTube-Channel alle Webinar-Videos anzusehen. Eine detaillierte Übersicht findet sich inklusive der Slides in unserem Webinar-Archiv.
Wir freuen uns wieder auf eine rege Teilnahme!
Übrigens: Wer eine persönliche Beratung wünscht, kann gerne mit uns Kontakt aufnehmen.
Cebit BlogAlternantiv bietet sich natürlich auch ein Besuch auf unserem CeBIT Stand an. Vertreten sind wir, wie jedes Jahr, im Open Source Park. Diesmal in Halle 6, an Stand E16 (310). Um uns schneller zu finden, gibt es natürlich auch eine Wegbeschreibung.

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

logstash – Der 15 Minuten Quickstart Guide

Da ich mich die letzte Zeit intensiv auf logstash Schulungen und – Consulting vorbereitet habe, liegt es nur nahe, dass ich auch zu diesem Thema blogge. Bei so zentralen Systemen ist es natürlich wichtig, sich intensiv damit auseinander zu setzen und viel Zeit zu investieren, um erstmal die Hintergründe und Zusammenhänge zu verstehen, damit man eine Installation planen kann, bevor man das erste Mal Code in die Hand nimmt. Prinzipiell ist das so richtig, aber es muss auch mal ok sein, einfach mal mit einem neuen, interessanten System rumzuspielen, bevor man sich intensiver damit beschäftigt, um erstmal ein gewisses Gefühl für die Arbeitsweise zu bekommen und weil es einfach Spass macht.

natural_logstashUnd genau dafür soll dieser Quickstart Guide sein. Zuvor aber dennoch ein paar Worte dazu, was logstash denn nun eigentlich ist und wozu man es verwenden kann und soll. Wer das schon weiss, darf auch weiter nach unten scrollen. Aber keine Sorge, weitere Infos über die Abläufe in einer logstash Installation kommen noch in dieser Blogserie. Genauso ein paar Beispiele, wie Logs von logstash aufbereitet werden können. Wer also keine Lust hat, sich mal kurz logstash zu installieren, muss nur ein wenig warten.

Jeder Computer und auch sonst fast jedes Gerät, mit dem man in der IT zu tun bekommt, schreibt Logfiles, wo besondere Ereignisse festgehalten werden. Das hilft nicht nur, aber insbesondere, beim Erkennen und Nachvollziehen von aufgetretenen Fehlern. Als Administrator steht man nun vor dem Problem, dass diese Logfiles auf den Systemen bleiben und man sich erstmal dorthin verbinden muss, um sie zu lesen. So bleiben oft kleinere Fehler, die grössere Ausfälle im Vorfeld ankündigen und helfen würden, diese zu verhinlogstash_01dern, unerkannt. Für diesen Fall bieten wir gerne Unterstützung mit Monitoring wie Icinga an. Wer aber nicht erst warten möchte, bis es kracht, sondern schon proaktiv handeln möchte, muss irgendwie an die Logfiles rankommen, ohne den halben Tag damit zu verbringen, sie von den Systemen abzuholen. Natürlich gibt es noch viele weitere Gründe, Logs zu sammeln, zu lesen und auszuwerten, aber das würde den Rahmen eines Einleitungsartikels sprengen. Es gibt bereits seit langer Zeit Lösungen wie logwatch oder syslog Server, die zumindest helfen, die Informationen aus Logfiles zu sammeln. Wozu dann logstash? Ein paar der Vorteile gegenüber herkömmlicher Lösungen sind:

  • logstash kann auf vielen verschiedenen Systemen ausgeführt werden und ist als Java (bzw. JRuby) Anwendung nicht auf ein paar Betriebssysteme beschränkt
  • logstash kann alle möglichen und unmöglichen Formate lesen. Syslog und Windows Eventlog sind naheliegend, aber auch über das Drupal dblog oder IRC können Nachrichten in logstash kommen. Gibt es keine Schnittstelle für einen Dienst, können auch beliebige Textfiles auf Systemen als Logfile angesehen und ausgewertet oder die Rückgabe beliebiger Programme gelesen werden.
  • logstash ist von vornherein darauf ausgelegt, hervorragend zu skalieren. Alle Komponenten können mehr oder weniger auf beliebig viele Server ausgebracht und miteinander verbunden werden. Teilweise als sehr einfach zu verwaltende loadbalancing und high availability cluster, teilweise einfach als redundante Instanzen, die nichts voneinander wissen und einfach jeweils nur einen Teil der zu verarbeitenden Daten erhalten. Und das, wie von Tools, die wir unterstützen, nicht anders zu erwarten, alles ohne Lizenzkosten. Wer dann noch freie Linux Distributionen einsetzt, wird eigentlich nur durch Anschaffungs- und Betriebskosten der Hardware in der Grösse der logstash Installation beschränkt.
  • logstash leitet Logs nicht einfach stumpf weiter, sondern zerlegt sie in Felder, die dann in der Auswertung genutzt werden können. Damit fällt die Regexbastelei zum Küren des grössten Spamempfängers anhand der Sendmail Logs weg, denn eine Information wie die Empfängeradresse kann schon beim Verarbeiten der Logs als eigenes Feld ausgewiesen werden, nach dem dann gefiltert oder mit dem dann Berechnungen angestellt werden können.

Jetzt aber wie versprochen die Kurzanleitung:

logstash wird als .jar File zum Download angeboten, das auch gleich ein paar andere der benötigten Tools in embedded Versionen enthält. Den Download findet man prominent unter http://logstash.net/ . Ausserdem muss Java installiert sein. logstash ist ziemlich unempfindlich, welche Java Version eingesetzt wird. In Tests hat OpenJDK-7 hervorragend funktioniert.

Als nächstes wird eine einfache Konfigurationsdatei namens logstash-quickstart.conf angelegt:

input {
  stdin {
    type => "stdinput"
  }
  file {
    path => "/var/log/messages"
    type => "syslog"
  }
}
output {
  stdout {
    codec => rubydebug
  }
  elasticsearch {
    embedded => true
  }
}

Dieses Beispiel muss mit einem User gestartet werden, der Leserechte auf /var/log/messages hat. Wer das nicht für einen Test möchte, kann den file Part einfach weglassen. Dieses Konfigfile lässt logstash Events aus /var/log/messages sowie von stdin annehmen und gibt sie auf stdout aus, speichert sie aber auch gleichzeitig in die im .jar File mitgebrachte Elasticsearch Instanz.

Gestartet wird logstash mit

java -jar logstash-1.3.3-flatjar.jar agent -f logstash-quickstart.conf -- web

Dann passiert erstmal nicht viel. Nach ein paar Sekunden erhält man eine Warnung, dass verwendete Plugins noch nicht als stabil gekennzeichnet sind, die man für einen Test einfach mal ignorieren kann. Dann wartet logstash auf neue Logmeldungen. Falls nicht zufällig eine neue Nachricht in /var/log/messages geschrieben wird, kann man auch einfach eine Testnachricht abschicken, die dann logstash durchläuft und aufgeschlüsselt wieder ausgegeben wird. Ohne weitere Konfiguration wird aber natürlich nicht viel aufgeschlüsselt, sondern die gesamte Nachricht im message Feld wieder ausgegeben. Ein paar zusätzliche Felder fügt logstash automatisch hinzu und der type wurde ebenfalls über die Konfiguration gesetzt.

[root@fenris ~]# java -jar logstash-1.3.3-flatjar.jar agent -f logstash-quickstart.conf -- web
Using milestone 2 input plugin 'file'. This plugin should be stable, but if you see strange behavior, please let us know! For more information on plugin milestones, see http://logstash.net/docs/1.3.3/plugin-milestones {:level=>:warn}
hello world
{
       "message" => "hello world",
      "@version" => "1",
    "@timestamp" => "2014-01-23T12:06:27.895Z",
          "type" => "stdinput",
          "host" => "fenris.int.netways.de"
}

„hello world“ ist die eingetippte Testnachricht.

Um logstash zu beenden, kann Ctrl+C gedrückt werden. Aber zuvor lohnt sich ein Blick auf http://localhost:9292/index.html#/dashboard/file/logstash.json . Woah! Das ist Kibana. Das mitgelieferte Webinterface zur Analyse der gespeicherten Events.schulung_logstash

Und jetzt kommt der Clou: Die logstash Installation ist voll funktionsfähig und die gesammelten Events bleiben auch gespeichert, wenn man logstash beendet und später wieder neu startet. Ab hier geht es „nur“ mehr darum, die Daten in mehr und brauchbare Felder zu zerlegen, sie von mehr Quellen zu sammeln, sie zwischen Hosts mit logstash Instanzen weiterzuleiten und die beteiligten Systeme zu tunen und zu skalieren. Dazu wird es Sinn machen, die embedded Versionen von Elasticsearch und Kibana als eigenständige Instanzen ausserhalb des .jar Files zu installieren und es um weitere Tools wie Redis zu ergänzen.

Wer jetzt schon überzeugt ist, dass logstash eine feine Sache ist, findet sich sicher etwas bei unseren logstash Starterpaketen oder logstash Schulungen . Wer nicht, hat noch ein paar Folgen dieser Blogserie Zeit, sich überzeugen zu lassen.

Thomas Widhalm
Thomas Widhalm
Manager Operations

Pronomina: er/ihm. Anrede: "Hey, Du" oder wenn's ganz förmlich sein muss "Herr". Thomas war Systemadministrator an einer österreichischen Universität und da besonders für Linux und Unix zuständig. Seit 2013 ist er bei der NETWAYS. Zuerst als Consultant, jetzt als Leiter vom Operations Team der NETWAYS Professional Services, das unter anderem zuständig ist für Support und Betriebsunterstützung. Nebenbei hat er sich noch auf alles mögliche rund um den Elastic Stack spezialisiert, schreibt und hält Schulungen und macht auch noch das eine oder andere Consulting zum Thema. Privat begeistert er sich für Outdoorausrüstung und Tarnmuster, was ihm schon mal schiefe Blicke einbringt...

Weekly Snap: LConf 1.4 & ITIL, Kibana & YubiKey

weekly snap2- 6 December started the silly season with courses, camps and webinars aplenty, plus log file visualization, ITIL certification and a new LConf release to boot.
Eva counted 127 days to the OSDC 2014 with Tugdal Grall’s ‘Introduction to NoSQL with Couchbase 2.0’ and wrapped up Puppet Camp Munich with videos, slides and photos in anticipation of Puppet Camp Berlin next year.
Continuing on events, Christian announced the next round of webinars on Logstash and Icinga Web 2, posting the recent Icinga 2 webinar online as Silke added Logstash and Graphite courses to our training center offering for 2014.
Michael then released LConf 1.4, adding support for Icinga 2 to the configuration interface and Marius recommended the security token, YubiKey.
To end the week, Tobias pointed out obstacles in preparing for ITIL certification exams and Blerim looked into log file analysis with Kibana.