Icinga Web 2 und icingaweb2-module-grafana

Diesen Beitrag schrieb ich 7 Jahre und 6 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 2 Minuten

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.

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 auch enable_send_metadata auf true setzen – so können in den hübschen Graphen beispielsweise auch WARN- und CRIT-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 als icinga2-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?

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: 1439x 530px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „Icinga Web 2 und icingaweb2-module-grafana“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.