Icinga Web 2 und icingaweb2-module-grafana
Die letzten Wochen waren nicht einfach und sehr von $ARBEIT
dominiert: Überstunden, Büro bis tief in die Nacht, und sogar der Ostersonntag blieb nicht verschont. Entsprechend still wurde es hier, bis hin zu einbrechenden Besucherstatistiken. Aber wer schaut schon auf die Zahlen, ne? ;)
In meinem Notiz-Folder ist eine ganze Menge an Daten aufgelaufen: Artikel, die ich noch schreiben, Ideen, die ich unbedingt umsetzen und Bugreports, die ich dringend stellen muss… Okay, und und irgendwo sollte ich anfangen. Meine Lieblings-Ex-Twitter-Bubble legte mir Bloggen ans Herz, und ich tue immer, was die mir sagen. Naja, fast ;) Also erzähle ich euch heute etwas von einem neuen Modul für Icinga Web 2 – okay, so neu ist es eigentlich nicht mehr, aber es erreicht nun so langsam einen Stand, der den Produktivgang erlauben könnte. Die Rede ist von icingaweb2-module-grafana, und wie der Name vermuten lässt: es ermöglicht die Einbindung von Grafana-Graphen innerhalb von Icinga Web 2.
Nun weiß ich ja nicht, wie das bei euch ist – aber ich persönlich kann mir mein Monitoring ohne die gleichzeitige Einblendung von Metriken gar nicht mehr vorstellen. Zu Zeiten – es ist tatsächlich schon fast anderthalb Jahre her – stützte ich mich hierbei auf icingaweb2-module-graphite, welches brav seinen Dienst tat. Doch scheint hier keine Entwicklung mehr stattzufinden, obgleich es ganz sicher Potential gäbe. Genau im richtigen Moment sprang mich also das Grafana-Modul an. Es erfordert sich
- eine Icinga 2-Installation nebst Icinga Web 2,
- eine lauffähige Grafana-Installation und
- als Backend idealerweise Graphite oder InfluxDB. Außerdem
- sollte Icinga 2 erfolgreich an das Backend angebunden sein. Tipp: sowohl
enable_send_thresholds
als auchenable_send_metadata
auftrue
setzen – so können in den hübschen Graphen beispielsweise auchWARN
- undCRIT
-Schwellenwerte verwendet werden!
Installiert ist es schnell – folgt der Anleitung, die Carsten auf GitHub pflegt. Ist das Plugin aktiv und korrekt konfiguriert, können die beiden vorbereiteten Dashboards in Grafana importiert werden. Damit ist die grundsätzliche Funktionalität gewährleistet – für die meisten Services, die Performance-Daten liefern, dürfte jetzt bereits ein Graph angezeigt werden. Spannender wird es dann, wenn die Darstellungen eigenen Belangen entsprechend angepasst werden sollen – es ist mir gelungen, die drei Metriken für load in einem Graphen zu vereinen, und auch den CRIT
-Schwellenwert für die mailq
einzublenden – aber (noch) bin ich in Sachen Grafana etwas unbeholfen, und meine Lösung dürfte weit entfernt von sauber und ordentlich sein. So habe ich kurzerhand
- das Dashboard
icinga2-default
per Save as alsicinga2-unixe
dupliziert, - innerhalb dieses Dashboards dann eigene Panels definiert und
- diese über Configuration → Grafana Graphs anhand ihrer Panel-ID in Icinga Web 2 eingebunden.
- Die Panel-ID erfährt man übrigens, indem man auf Share klickt und sie sich aus dem Link abgreift (wenn ihr einen sinnvolleren Weg kennt: gerne her damit!).
Auf längere Sicht werde ich das Modul auch auf den Produktivsystemen einsetzen – ich verspreche mir einiges davon. Zuvor muss ich aber meine Grafana-Skills verbessern, hier habe ich noch zu viele WTF-Momente – und einen deutlich zu hohen Wildwuchs an Panels ;) Einzig noch schicker fände ich, wenn ich innerhalb Icinga Web 2 auch direkt zoomen könnte – in meiner openHAB 2-Installation hab ich das so umgesetzt, und das gefällt mir noch ein klitzekleines bisschen besser. Habt ihr das Modul schon ausprobiert?
Hintergrundbild: 1439x 530px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten