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-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.
openHAB Grafana
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!
Graph „load“ in Grafana
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?