So nach langer langer Zeit gibt es auch mal wieder was von mir zu lesen.
Die Uniklausurphase hat mal wieder viel Zeit gefressen, die ich lieber für Projekte genutzt hätte. Aber genau das hat mich zu meinem heutigen Projekt geführt. Ich habe einfach häufig nicht die Zeit mich während der Klausurphase an der Uni um meine Projekte zu kümmern und immer alles aufwendig zu prüfen. Da kam mir der Gedanke: "Hey warum hast du eig noch kein Monitoring, dass dir sagt, wenn iwas nicht das macht, was es soll?"
Also war die Idee schnell gefasst und ich hab mit der Recherche nach den da gängigen Lösungen angefangen.
Natürlich kommt man bei dem Thema Monitoring nicht an Nagios vorbei. Also habe ich mich da auch erstmal eingelesen und mir das ganze bei einem bekannten mal angesehen....
Und mal ganz ehrlich? Das ist einfach nicht mehr Zeit gemäß. Klar es kommt nicht auf eine schöne Weboberfläche an. Aber genau das ist bei Nagios z.B. ein sehr gut Zeig dafür, was alles bei Nagios in den letzen Jahren stehen geblieben ist. Aber egal. Darauf weiter einzugehen würde zu weit führen.

So jetzt ist man also bei der großen Frage: Was gibt es als Alternative?
Schnell bin ich bei diversen Forks wie Shinken oder ähnlichem gelandet. Aber selbst bei den aktuellsten Vertertern war der letzte Commit im öffntlichen Git dann schon teilweise 2 Jahre her und damit dann auch ziemlich schnell gestorben.

Nach längerer Suche bin ich dann aber auf Icinga gestoßen. Ein Fork von Nagios, wie viele andere auch, aber es schien aktiv entwickelt worden zu sein. Und nach ein bisschen Surfen auf der Produktseite habe ich auch schnell den Nachfolger Icinga2 entdeckt. Alles neu geschrieben, neue Features, modernes Interface und eine API. Dazu dann noch voll kompatibel zu Nagios.
Damit wäre dann wohl die Wahl getroffen. Für mein Monitoring kommt Icinga2 zum Einsatz.
Ich habe das ganze dann auch schnell mal mit Hilfe der Dokumentation (http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc) aufgesetzt. Das ganze ging auf dem eigentlichen Host fürs Monitoring schnell und problemlos. Bei dem Einrichten der Agents und der Checks bin ich aber schnell auf Probleme gestoßen. Viele Configs verhielten sich nicht so wie, ich es der Dokumentation entnommen hatte oder ich es zumindest glaubte verstanden zu haben. Da Icinga2 auch noch sehr neu ist habe ich auch nur einen begrenzten Umfang an sonstiger Dokumentation aus Blogs oder anderen Quellen zur Verfügung gehabt.

An diesem Punkt habe ich dann überlegt, ob es sich lohnt ein Tool zu betreiben, dass mir noch so wenig Material liefert. Ich hatte am Grundgedanken hinter Icinga2 aber so viel Gefallen gefunden, dass ich mir dachte, dass es sich lohnt etwas tiefgehender mit dem Thema auseinanderzusetzen.
Also dachte ich mir schau doch mal, ob es evtl Literatur gibt. Und da hat man doch echt mal Glück. Es gibt exakt ein Buch zu dem Thema: "Icinga 2 (ix Edition): Ein praktischer Einstieg ins Monitoring". Naja bei der riesen Auswahl die man da hat bestellt man das natürlich mal und hofft auf das beste.

Und ich bin sehr positiv überrascht wurden. Also mal kurz in drei Tagen die 400 Seiten durchgeackert und dann das ganze nochmal neu aufsetzen. Durch die Schritt für Schritt beschriebenen Anleitungen und meines nun etwas tiefer gehenden Verständnisses für die Thematik habe ich das ganze neu aufgesetzt. Und binnen eines Tages war dann der Monitoring Host und und die grundlegenden Servicechecks auf allen Windows und Linux Maschinen aufgesetzt. Wie das genaue Setup aussieht und durchzuführen ist werde ich in einem extra Tutorial erläutern.
So aber jetzt mal nach dem ganzen Geschwafel zu einer kleinen Zusammenfassung, was ich da jetzt genau stehen habe und was es noch zu tun gibt:

  • Auf der Haben Seite:
    • Ein Monitoringhost mit Icinga2, IcingaWeb2, der zugehörigen Datenbank
    • 12 Windows/Linux Hosts auf dem der Icinga2 Agent läuft
    • 110 Service Checks auf diesen Systemen
    • Es wird die Auslastung, die Speicherbelegung, die aktiven Nutzer, Datenbanken, der Monitoring Agent und vieles mehr bereits erfasst
  • Auf der noch zu erledigen Seite:
    • Ein Benachrichtigungs- und Alarmsystem muss noch ausgearbeitet und entsprechend Umgesetzt werden
    • Die Festplattenchecks bei Windows müssen noch fit gemacht werden, dass diese mit unseren speziell verschlüsselten Windows Laufwerken klar kommen
    • Der ESXi Host muss noch überwacht werden (insbesondere SMART Tests der Festplatten)
    • Die SSL Zertifikate müssen gecheckt werden
    • Es müssten Scripte zur Behebung mancher repetitiv auftertender Fehler geschrieben und angesprochen werden

Bei der jetzigen Konfiguration habe ich vieles über Regeln definiert, sodass alle wichtigen Standardchecks bei einem neuen Host direkt durchgeführt werden. Das begrenzt den Aufwand bei dem Anlegung eines neuen Hosts auf wenige Minuten. Genaueres aber dazu dann in meinem Tutorial.

Aber auch jetzt schon, wo ich immer mal manuell einen Blick auf das Dashboard werfen muss nimmt mir das ganze unheimlich viel Arbeit ab, da man auf einen Blick weiß, ob alles läuft, ob es Lastspitzen gibt oder ob man doch noch vergessen hat ein kritisches Update zu installieren. Die Sachen aus der zu Erledigen Liste werde ich in Ruhe in den nächsten Wochen umsetzen, wenn ich etwas mehr Zeit habe. Aber auch in der Klausurphase hat sich der Aufwand zur Einrichtung des ganzen rentiert. Ein paar Tage Aufwand, für viele gesparte Stunden und Tage in der Zukunft.

Ich hoffe, dass ich zumindest meine Gedanken und Beweggründe für ein Monitoring und die daraus resultierenden Entscheidungen in der Kürze wiedergeben konnte. Auf das oben erwähnte Buch werde ich die Tage nochmal extra eingehen, da das eine ausführliche Review verdient. Und in meinem zu dem Thema folgenden Tutorial wird es auch endlich wieder was technischer werden. Aber geplant ist eine saubere bebilderte Anleitung zu schaffen, der jeder hoffentlich leicht folgen kann, da es so etwas noch viel zu selten für Debian basierte Systeme im Zusammenhang mit Icinga2 gibt.
Aber jetzt sage ich erstmal bis dann.
Man liest sich.