Wir nutzen Cookies, um Ihnen eine optimale Nutzung dieser Webseite zu ermöglichen. Mehr Informationen finden Sie im Datenschutzhinweis. Wir nehmen an, dass Sie damit einverstanden sind, falls Sie diese Webseite weiter besuchen.

Ihre Cookie-Einstellungen
Ihre Einstellungen wurden aktualisiert.
Damit die Änderungen wirksam werden, löschen Sie bitte Ihre Browser-Cookies und den Cache und laden dann die Seite neu.

Checkmk in Grafana integrieren

Dieser Artikel ist noch nicht fertig und nur ein Entwurf!

1. Einleitung

Checkmk verfügt mit seinem integrierten Graphingsystem über ein umfangreiches System zur Aufzeichnung und Visualisierung von Messdaten. Dennoch kann es sinnvoll sein, Grafana als externes Graphingsytem anzubinden – z. B. weil Sie Grafana bereits nutzen und die Daten von Checkmk mit Daten aus anderen Systemen in gemeinsamen Dashboards zusammenführen möchten.

Beginnend mit Version 1.5.0p16 ist es in den  Checkmk Enterprise Editions möglich, Checkmk direkt als Datenquelle in Grafana anzusprechen und einzelne Metriken oder sogar ganze Graphen, wie sie in Checkmk vordefiniert sind, in Grafana anzeigen zu lassen. Zusätzlich können Sie sich auch dynamisch eigene Graphen erstellen lassen, indem Sie über reguläre Ausdrücke eine Gruppe an Hosts und Services bestimmen, von denen bestimmte Metriken in dem Graphen berücksichtigt werden sollen.

Wie Sie ihre Metriken aus Checkmk in Grafana abrufen und darstellen, wird in diesem Artikel grundlegend erläutert. Eine ausführliche Anleitung, wie Sie Grafana nutzen und konfigurieren können, finden Sie in der Dokumentation bei Grafana Labs.

Da das Plugin für Grafana parallel zu Checkmk entwickelt wird, wird es nicht mit Checkmk mitgeliefert. Sie können den aktuellen Entwicklungsstand aber direkt über das Archiv auf GitHub auf den laufenden halten. Auch mit Hilfe der Mailingliste Announcements werden Sie informiert, wenn es eine neue Version des Plugins geben sollte.

Eine Integration direkt in Grafana befindet sich derzeit noch in der Prüfung. Sobald das Plugin offiziell aufgenommen wurde, können Sie es auch direkt über die Oberfläche von Grafana installieren.

2. Das Plugin in Grafana einrichten

2.1. Plugins installieren

Um das Plugin zu installieren, laden Sie einfach die aktuellste Version als Zip-Datei herunter und kopieren sie – zum Beispiel mit scp – auf den Grafana-Server:

Bild der GitHub-Releases

Alternativ können Sie die Datei natürlich auch direkt über die Kommandozeile laden. Beachten Sie, dass Sie dafür die korrekte Version wissen müssen. In folgendem Befehl wird der Name Datei, so wie er lokal gespeichert werden soll, mit der Option -O festgelegt, da diese sonst einfach 1.1.0.zip heißen würde:

root@linux# wget -O grafana-checkmk-datasource-1.1.0.zip https://github.com/tribe29/grafana-checkmk-datasource/archive/1.1.0.zip

Entpacken Sie jetzt den Inhalt der Datei in das Pluginverzeichnis von Grafana. Üblicherweise ist das der Pfad /var/lib/grafana/plugins/:

root@linux# unzip grafana-checkmk-datasource-1.1.0.zip && mv grafana-checkmk-datasource-1.1.0 /var/lib/grafana/plugins/

Danach können Sie das Plugin in der Oberfläche von Grafana aktivieren und einrichten.

2.2. Plugin aktivieren und einrichten

Nachdem die notwendigen Dateien installiert wurden, können Sie das Plugin in Grafana aktivieren. Gehen Sie dazu auf den Konfiguration und wählen die Reiter Data Sources aus. Hier können Sie über den Knopf Add data sources eine neue Datenquelle hinzufügen:

Bild der Übersicht

Den Eintrag zu Checkmk finden Sie unten in der Kategorie Others:

Bild der verfügbaren Plugins

Die Konfigurationsmaske zu der Datenquelle ist recht einfach gehalten. Geben Sie hier die URL zu Ihrer Instanz und einen Automationsbenutzer an. Wichtig: Wenn Sie eine verteiltem Umgebung haben, dann geben Sie hier die URL zu Ihrem Master an:

Bild von Plugin-Config

Falls Sie mehrere Checkmk-Instanzen anbinden möchten, können Sie die einzelnen Verbindungen optional mit einem eindeutigen Namen versehen. Ansonsten lassen Sie den Standard Checkmk einfach stehen.

Nachdem Sie die Verbindung Mit dem Knopf Save & Test gespeichert haben, steht sie Ihnen als Datenquelle in Grafana zur Verfügung und Sie können Ihre ersten Graphen konfigurieren.

3. Den ersten Graphen erstellen

3.1. Ein leeres Dashboard erzeugen

Dashboards werden in Grafana über das Plus-Symbol auf der rechten Seite erzeugt. Mit einem Klick auf Dashboard erzeugen Sie direkt ein ebensolches:

Bild von + ➳ Create ➳ Dashboard

3.2. Einen vordefinierten Graphen aus Checkmk anzeigen

Checkmk fasst bereits automatisch Metriken sinnvoll in Graphen zusammen, um inhaltlich ähnliche Metriken schnell miteinander vergleichen zu können. Sie können die Metriken aus einem solchen vorgefertigten Graphen direkt in Grafana anzeigen lassen. In einem bestehenden – oder dem eben erzeugten – Dashboard erstellen Sie ein neues Panel. Wählen Sie hier zuerst Add Query aus:

Bild vom neuen Panel

Der Query sollte CheckMK sein. Danach können Sie die Abfrage noch auf eine Checkmk-Instanz (Site) vorfiltern. Danach wählen Sie den gewünschten Host, Service und Graph aus:

Bild von der predefined-Mode-Konfig

Das Ergebnis wird Ihnen direkt angezeigt. Sobald Sie oben rechts auf das Speichern-Symbol geklickt haben, werden Sie aufgefordert, einen Titel für das Panel anzugeben. Danach werden Sie direkt auf das Dashboard zurückgeleitet:

Bild vom Dashboard

3.3. Eine einzelne Metrik eines Hosts anzeigen

Natürlich ist es auch möglich, einzelne Metriken eines Hosts anzeigen zu lassen. Das Vorgehen ist dabei sehr ähnlich wie bei den vordefinierten Graphen; Sie ändern lediglich den Mode auf single metric und statt eines vordefinierten Graphs wählen Sie die Metric zu einem Service aus:

Bild von der single-metric-Mode-Konfig

Auch hier speichern Sie das Panel ab und können das Ergebnis in dem Dashboard sehen:

Bild vom Dashboard

4. Komplexe Graphen erstellen

Gerade in einem dynamischen Cluster möchte man oft den gesamten Verlauf einer Metrik über alle beteiligten Hosts verfolgen können, ohne einen Graphen jedes mal anpassen zu müssen, wenn ein neuer Knoten hinzukommt oder wegfällt. Ab Version 1.6.0p2 haben Sie daher zusätzlich die Möglichkeit, Graphen dynamisch mit Hilfe von regulären Ausdrücken zu erstellen. Voraussetzung ist, dass das Plugin in Version 1.1.0 vorliegt.

Stellen Sie den Mode in einem neuen Panel dafür auf combined Graph um. Die allgemeinen Einstellungsmöglichkeiten bleiben dadurch unverändert, aber Sie können nun von einem oder verschiedenen Hosts und Services Metriken zusammenfassen. Dabei haben Sie auf alle regulären Ausdrücke Zugriff, die Sie auch sonst von Checkmk kennen.

Bild von der combined-metric-Mode-Konfig

Zusätzlich zu den erweiterten Filtermöglichkeiten bestimmen Sie mit Aggregation die Darstellung der Metriken im Graphen und mit Graph, welcher Graph als Referenz herangezogen werden soll. Beachten Sie, dass nur dann Metriken zu einem Host/Service angezeigt werden, wenn dieser auch über den ausgewählten Graphen verfügt. Der Beispielgraph sieht dann zum Beispiel so aus:

Bild vom Dashboard

5. Dateien und Verzeichnisse

Pfad Bedeutung
/var/lib/grafana/plugins/ Hier sucht Grafana nach (neuen) Plugins. Jedes Plugin bekommt dabei ein eigenes Unterverzeichnis. Das Plugin von Checkmk legen Sie daher hier ab.