Grafana dient der Visualisierung von Datenreihen und Datenpunkten, vor allem von Messdaten. Es stehen zahlreiche vordefinierte Grafiken zur Verfügung. Eine Stärke von Grafana ist die Vielzahl der nutzbaren Datenquellen. Im Zusammenhang mit dem Monitoring von IT-Infrastruktur sind hier vor allem der TIG-Stack, also die Kombination aus Telegraf, InfluxDB und Grafana, die Integration von Prometheus oder von CheckMK zu nennen. Da ich CheckMK zur Überwachung meiner Systeme verwende, beschreibe ich hier die Installation von Grafana und die Verbindung von Grafana mit CheckMK.
Auf Ubuntu- oder Debian-Servern kann Grafana per Docker oder über die Paketverwaltung installiert werden. Da es sehr einfach ist, präferiere ich hier die Installation mittels Paketverwaltung. Dazu wird zunächst der GPG-Key geladen:
sudo wget -q -O /usr/share/keyrings/grafana.key https://packages.grafana.com/gpg.key
Dann wird die Paketquelle ergänzt:
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
und die Paketverwaltung zur Aktualisierung genötigt:
sudo apt update
Danach kann Grafana einfach mit folgendem Befehl installiert werden:
sudo apt install grafana
Nun muss es noch gestartet und aktiviert werden:
sudo systemctl enable grafana-server --now
Den Zustand von Grafana kann man sich nun mit dem Befehl
sudo systemctl status grafana-server
ansehen. Starten, Neustarten und Stoppen kann man den Serverdienst mit
sudo systemctl start|stop|restart|reload grafana-server
Zum Abschluss der Installation ruft man die Weboberfläche des neuen Systems mit http://ip-adresse:3000 auf und loggt sich erstmalig ein, um das Admin-Konto einzurichten. Die Initial-Credentials lauten
Benutzername: admin
Passwort: admin
Das muss man natürlich sofort ändern. Außerdem kann man in den Profileinstellungen für den Admin die Sprache ändern, wenn man das möchte.
Möchte man die Datensammlung von CheckMK als Datenquelle verwenden, dann muss man zunächst ein Plugin installieren. Wie das geht, wird im Handbuch von CheckMK gut erklärt (s. https://docs.checkmk.com/latest/de/grafana.html). Wenn man keine kommerzielle Version von CheckMK verwendet, dann lädt man sich das entsprechende Plugin von der Releaseseite des entsprechenden Github-Repositories herunter: https://github.com/Checkmk/grafana-checkmk-datasource/releases. Man kann sich den Link in die Zwischenablage kopieren und auf der Konsole des Grafana-Servers herunterladen mit
Dann entpackt man die herunter geladene Datei und verschiebt sie in den Plugins-Ordner von Grafana:
sudo mv -v tribe-29-checkmk-datasource /var/lib/grafana/plugins/tribe-29-checkmk-datasource
Der Name der Dateien und Ordner ist natürlich anzupassen. Den verschobenen Ordner muss man nun noch dem Systemuser grafana schenken:
chown-R grafana:grafana/var/lib/grafana/plugins/tribe-29-checkmk-datasource
Nun kann Grafana aber immer noch nicht auf die Daten zugreifen. Zunächst muss diese unsignierte Quelle zugelassen werden. Dazu bearbeitet man die Datei /etc/grafana/grafana.ini mit Admin-Rechten:
sudo nano /etc/grafana/grafana.ini
Dort sucht man die Zeichenkette "allow_loading_unsigned_plugins". Sie ist auskommentiert. Man entfernt das vorangestellte Semikolon und ergänzt den Eintrag um das zuzulassende Plugin:
allow_loading_unsigned_plugins = tribe-29-checkmk-datasource
Danach muss der Grafana-Server neu gestartet werden:
sudo systemctl restart grafana-server
Nun kann Grafana aber immer noch nicht auf die CheckMK-Daten zugreifen. Dazu muss zunächst in CheckMK ein entsprechender User eingerichtet werden. Der kann einen beliebigen Benutzernamen bekommen. Wichtig ist, dass der User als Maschinenaccount eingerichtet wird, das heißt, unter "Authentifizierung" ist ein Passwort bei "Automatisierungspasswort für Maschinenkonten" einzugeben:
Auf der Weboberfläche des Grafana-Servers unter "Verbindungen" kann man neue Verbindungen hinzufügen. Hier sucht man die Datenquelle "CheckMK". Auf der nächsten Seite wird man informiert, dass diese Datenquelle nicht von Grafana kommt und nicht über den Katalog verwaltet werden kann. Außerdem wird eine Signaturwarnung ausgegeben. Beides ignorieren wir hartleibig. Wir klicken auf "Add New Datasource" und geben hier den URL des Grafanaservers inklusive Site also
http://ip-adresse/site
ein. Außerdem den Namen des eben eingerichteten Users und das Passwort. Wenn wir auf "Save & test" klicken, dann sollten wir hoffentlich keine Fehlermeldung erhalten. Nun können wir Dashboards erstellen und dort Visualisierungen hinzufügen.