So installieren und konfigurieren Sie Grafana, um unter CentOS 7 schöne Grafiken von Zabbix zu zeichnen

Einführung

Zabbix ist ein großartiges Überwachungstool, das Daten von Servern, virtuellen Maschinen und anderen Arten von Netzwerkgeräten sammelt, damit Sie sie auf Trends oder Probleme analysieren können. Es verfügt über zahlreiche Benachrichtigungen zu neu auftretenden Problemen, die integrierten Tools zur Datenanalyse und -visualisierung sind jedoch nicht einfach zu verwenden. Sie können Diagramme zu Dashboards zusammenfassen, müssen diese jedoch erst erstellen, und es gibt praktisch keine einfache Möglichkeit, Diagramme zur Anzeige von Echtzeitdaten zu erstellen. Außerdem gibt es keine Möglichkeit, Daten von verschiedenen Hosts in einem einzigen Diagramm zu sammeln. Mit jedem neuen Release bessert sich die Situation, aber es ist alles andere als ideal.

Grafana ist eine gute Alternative zu den Dashboards von Zabbix. Sie können damit Diagramme und Dashboards auf der Grundlage von Daten aus verschiedenen Überwachungssystemen erstellen und sich auf die Anzeige und Analyse dieser Daten spezialisiert. Es ist leicht, einfach zu installieren und sieht wunderschön aus.

In diesem Lernprogramm installieren Sie Grafana und konfigurieren es so, dass Daten von Zabbix angezeigt werden. Außerdem erfahren Sie, wie Sie Ihr eigenes benutzerdefiniertes Dashboard erstellen, mit dem die CPU- und Dateiverwendung überwacht wird.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

Schritt 1 - Grafana installieren

Bevor wir Grafana verwenden können, müssen wir es installieren. Wir werden denselben Server verwenden, den wir für den Zabbix-Server verwendet haben. Melden Sie sich bei Ihrem Zabbix-Server mit Ihrem Nicht-Root-Benutzer an:

ssh @

Grafana ist standardmäßig nicht über den Paketmanager verfügbar, daher richten wir die Repository-Konfigurationsdatei ein. Erstellen Sie zunächst eine neue Repository-Datei für Grafana:

sudo vi /etc/yum.repos.d/grafana.repo

Fügen Sie die folgenden Konfigurationsdaten in die Datei ein:

/etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Speichern und beenden Sie dann den Texteditor und führen Sie den folgenden Befehl aus, um Grafana zu installieren:

sudo yum install grafana

Während des Installationsvorgangs werden Sie aufgefordert, einen GPG-Schlüssel zu importieren. Bestätigen Sie, dass Sie diesen Schlüssel importieren möchten, damit die Installation fortgesetzt werden kann.

Starten Sie nach Abschluss der Installation den Grafana-Dienst:

sudo systemctl daemon-reload
sudo systemctl start grafana-server

Überprüfen Sie dann, ob der Grafana-Dienst ordnungsgemäß ausgeführt wird:

sudo systemctl status grafana-server

Sie sehen folgenden Status:

Output● grafana-server.service - Starts and stops a single grafana instance on this system
  Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)

    Docs: http://docs.grafana.org
Main PID: 16639 (grafana-server)
 ...

Aktivieren Sie zum Schluss den Dienst, um beim Booten zu starten:

sudo systemctl enable  grafana-server

Grafana wird ausgeführt. Installieren Sie also die Komponente, mit der Grafana Daten von Zabbix abrufen kann.

Schritt 2 - Installieren des Zabbix Plugins für Grafana

Sie können die Funktionalität von Grafana erweitern, indem Sie Plugins installieren. Die verfügbaren Plugins finden Sie unter hier. Es gibt drei Arten von Plugins:

  • * Panels *: Neue Blöcke, die im Dashboard verwendet werden können, z. B. Tortendiagramme oder Histogramme.

  • * Datenquellen *: Neue Speicher-Backends für Ihre Zeitreihendaten, sodass Sie Daten aus anderen Quellen abrufen können.

  • * Apps *: Komplexe Plugins, die Datenquellen und Panels in einem einzigen Paket bündeln.

Wir werden das Plugin Zabbix app verwenden, das eine Zabbix-Datenquelle, ein Trigger-Panel, ein Zabbix-Server-Dashboard und eine Vorlage zum Anzeigen von Daten enthält.

Die Installation von Plugins ist am einfachsten mit dem CLI-Tool + grafana-cli +, das im Lieferumfang von Grafana enthalten ist. Führen Sie den folgenden Befehl aus, um das Zabbix App-Plugin zu installieren:

sudo grafana-cli plugins install alexanderzobnin-zabbix-app

Sie sehen die folgende Ausgabe, die angibt, dass das Plugin installiert wurde:

Output✔ Installed alexanderzobnin-zabbix-app successfully

Wann immer Sie Plugins hinzufügen oder ändern, müssen Sie + grafana-server + neu starten, damit die Änderungen wirksam werden.

sudo systemctl restart grafana-server

Wenn das Plugin installiert ist, können Sie sich bei Grafana anmelden und es für die Kommunikation mit Zabbix konfigurieren.

Schritt 3 - Konfigurieren des Zabbix-Plugins

Melden Sie sich bei der Grafana-Weboberfläche an, indem Sie zur Adresse "+ http: //: 3000 +" navigieren.

Die Standardanmeldeinformationen sind "+ / +". Sie können Ihr Passwort auf der Seite * Profil * ändern, sobald Sie sich angemeldet haben. Wenn Sie sich anmelden, werden Sie vom * Home * -Dashboard begrüßt.

Greifen Sie auf das Hauptmenü von Grafana zu, indem Sie auf das Grafana-Logo in der oberen linken Ecke der Benutzeroberfläche klicken. Dann wählen Sie * Plugins. * Dann wählen Sie die Registerkarte * Apps *. Klicken Sie anschließend auf die Zabbix-App und aktivieren Sie sie, indem Sie auf die Schaltfläche * Aktivieren * klicken.

Jetzt können Sie eine neue Datenquelle hinzufügen. Wählen Sie das Grafana-Logo erneut aus und navigieren Sie zu * Datenquellen *. Klicken Sie dann auf die Schaltfläche * Datenquelle hinzufügen *. Sie sehen die Konfigurationsseite für die Datenquelle:

Konfigurieren Sie die Datenquelle wie folgt:

  • Geben Sie einen Namen für diese neue Datenquelle in das Feld * Name * ein.

  • Aktivieren Sie die Option * Standard *, damit diese Datenquelle in neuen Panels, die Sie erstellen, vorausgewählt wird.

  • Wählen Sie * Zabbix * aus der Dropdown-Liste * Typ * aus.

  • Füllen Sie das Feld * Url * mit dem vollständigen Pfad zur Zabbix-API aus. Dieser lautet "+ http: /// zabbix / api_jsonrpc.php +".

  • Füllen Sie die Felder * Benutzername * und * Passwort * mit dem Benutzernamen und Passwort für Zabbix aus. Der Standard-Benutzername ist "" und das Standard-Passwort ist "".

  • Aktivieren Sie die Option * Trends *. Dies erhöht die Leistung von Grafana bei der Anzeige langer Zeiträume.

Sie können die anderen Optionen auf ihren Standardwerten belassen.

Klicken Sie auf die Schaltfläche * Hinzufügen *, um die Konfiguration zu testen und zu speichern. Es wird eine Erfolgsmeldung angezeigt, die wie folgt aussieht:

image: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/Meq7eZv.png [Erfolgreicher Test der Verbindung zu Zabbix]

Wenn diese Meldung nicht angezeigt wird, überprüfen Sie Ihre Anmeldeinformationen und testen Sie sie erneut.

Schauen wir uns nun das Zabbix-Dashboard an, das mit dem Plugin geliefert wurde. Wählen Sie * Zabbix Server Dashboard * aus der Dropdown-Liste am oberen Bildschirmrand. Wenn Sie es auswählen, zeigt das Dashboard Informationen zu Ihrem Zabbix-Server an:

image: http: //skitch.bphogan.com/2016-11-03_4h9cn31lu8vn82s_Grafana_-_Zabbix_Server_Dashboard.png [Das Zabbix Server-Dashboard]

Dieses Dashboard ist ziemlich informativ, aber Sie können Ihr eigenes benutzerdefiniertes Dashboard von Grund auf neu erstellen.

Schritt 4 - Erstellen eines benutzerdefinierten Zabbix-Dashboards

Erstellen wir ein Dashboard für Zabbix, das uns die CPU-Auslastung und Dateisysteminformationen in Echtzeit anzeigt.

Öffnen Sie die Dropdown-Liste oben auf dem Bildschirm und klicken Sie auf die Schaltfläche * Neu erstellen *. Ein neues leeres Dashboard wird erstellt.

Jedes Dashboard besteht aus Zeilen, die Blöcke enthalten. Wenn Sie ein neues Dashboard erstellen, erhalten Sie automatisch eine Zeile. Klicken Sie auf das grüne Menü links neben der Zeile, um auf das Aktionsmenü der Zeile zuzugreifen. Hier können Sie neue Bereiche hinzufügen, die Zeilenhöhe festlegen, verschieben, reduzieren oder löschen.

Zuerst erstellen wir ein Diagramm, das die CPU-Auslastung unseres Zabbix-Servers anzeigt. Wählen Sie das Element * Add Panel * und klicken Sie dann auf * Graph *, um ein neues Diagramm in die Zeile einzufügen.

Sie werden mit einem Formular mit mehreren Registerkarten begrüßt, bei dem die Registerkarte "* Metriken *" ausgewählt ist. Da wir unsere Zabbix-Datenquelle als Standard festgelegt haben, wurde eine neue Abfrage für Sie hinzugefügt. Sie müssen nur die folgenden Optionen angeben:

  • Setze * Host Group * auf ++.

  • Setze * Host * auf ++.

  • Setze * Application * auf ++.

  • Setze * Item * auf ++.

Sie sehen die aktuelle Prozessorauslastung im Diagramm.

Navigieren Sie dann zur Registerkarte * General * und setzen Sie das Feld * Title * auf + Processor load + und die Option * Span * auf + 6 +. Eine Zeile kann bis zu 12 Blöcke enthalten. Wenn Sie diesen Wert auf 6 setzen, nimmt das Bedienfeld die Hälfte des Bildschirms ein.

image: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/JjDiO8Z.png [Graph general options]

Jetzt können Sie auf * Zurück zum Dashboard * klicken, um das Ergebnis zu sehen:

Fügen wir ein weiteres Diagramm hinzu. Dazu können Sie die vorherigen Schritte wiederholen oder das vorhandene Diagramm duplizieren. Um das vorhandene Diagramm zu duplizieren, wählen Sie den Titel des Bedienfelds aus und klicken Sie auf * Duplizieren *. Wählen Sie dann den Titel des neuen Diagramms und die Option * Bearbeiten *. Nehmen Sie dann folgende Einstellungen vor:

  • Ändern Sie * Title * in ++.

  • Wählen Sie die Registerkarte * Metrics * und ändern Sie das Feld * Item * in ++.

Sie können Muster für reguläre Ausdrücke für Host- oder Metriknamen verwenden. Stellen Sie einfach sicher, dass das Muster in Schrägstriche (+ / +) eingeschlossen ist.

Sie können auch zusammenfassende Statistiken anzeigen. Wählen Sie die Registerkarte "* Legende *" und Sie sehen einige Optionen und Werte, die Sie auswählen können.

  • Aktivieren Sie unter * Optionen * * Als Tabelle * und * Rechts *.

  • Wählen Sie unter * Werte * * Min *, * Max *, * Durchschn. * Und * Aktuell * aus.

Klicken Sie nun auf * Zurück zum Dashboard *, um das Ergebnis zu sehen, das so aussieht:

Fügen Sie als Nächstes ein * Singlestat * -Panel hinzu, um einen einzelnen Wert für eine bestimmte Metrik anzuzeigen. Erstellen Sie eine neue Zeile, indem Sie auf die Schaltfläche "Zeile hinzufügen" klicken und dann das Menü der Zeile auswählen, "Gruppe hinzufügen" auswählen und das Element "Einzelnummer" auswählen.

Stellen Sie die * Metrics * -Optionen wie folgt ein:

  • Setze * Host Group * auf ++.

  • Setze * Host * auf ++.

  • Setze * Application * auf ++.

  • Setze * Item * auf ++.

Wechseln Sie als nächstes zur Registerkarte * Allgemein * und setzen Sie das Feld * Titel * auf ++.

Wechseln Sie dann zur Registerkarte * Optionen * und konfigurieren Sie diese Optionen:

  • Aktivieren Sie die Option + Show + für * Gauge *.

  • Setzen Sie * Thresholds * auf ++. Dadurch werden diese Schwellenwerte auf dem Messgerät angezeigt.

  • Wählen Sie die Option "+ aktuell +" aus der Dropdown-Liste "Wert".

Die Anzeige sieht jetzt so aus:

image: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/38ybcGT.png [Gauge]

Kehren Sie zum Dashboard zurück und drücken Sie "+ STRG + S +", um es zu speichern.

Lassen Sie uns nun testen, wie dieses Messgerät auf Echtzeitereignisse reagiert. Dazu reduzieren wir manuell den freien Speicherplatz auf der Festplatte und sehen, was auf dem Dashboard angezeigt wird.

Melden Sie sich bei Ihrem Zabbix-Server an, wenn Sie derzeit nicht angemeldet sind:

ssh sammy@

Stellen Sie nach der Anmeldung fest, wie viel freier Speicherplatz auf dem Dateisystem verfügbar ist. Sie können dies mit dem Befehl + df + tun:

df -h

Sie werden die folgende Ausgabe sehen:

OutputFilesystem      Size  Used Avail Use% Mounted on

devtmpfs        236M     0  236M   0% /dev
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           245M  8.3M  237M   4% /run
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/0

In diesem Fall stehen 18 GB freier Speicherplatz zur Verfügung. Die Menge an freiem Speicherplatz auf Ihrem Server variiert. Reduzieren Sie den freien Speicherplatz auf der Root-Partition unter den Schwellenwert von 20%, indem Sie den Befehl + fallocate + verwenden, um eine große temporäre Datei zu erstellen:

fallocate -l  /tmp/test.img

Legen Sie die Dateigröße in Abhängigkeit vom freien Speicherplatz auf Ihrem Server fest.

Geben Sie Zabbix dann einige Minuten Zeit, um die Daten zu aktualisieren. Aktualisieren Sie das Dashboard und Sie werden feststellen, dass die Farbe der Anzeige geändert wurde, um das Problem mit dem freien Speicherplatz zu berücksichtigen:

Lassen Sie uns abschließend aktive Zabbix-Trigger im Dashboard anzeigen. Erstellen Sie eine neue Zeile und wählen Sie dann das Menü der Zeile aus, wählen Sie * Gruppe hinzufügen * und wählen Sie den Eintrag * Zabbix-Trigger *.

Sie sehen den aktiven Auslöser, der Sie über den Mangel an freiem Speicherplatz auf dem Server informiert.

Wählen Sie * Zurück zum Dashboard * und speichern Sie das Dashboard mit + STRG + S +. Ihr Dashboard sieht nun folgendermaßen aus:

Sie können jetzt dieses einfache Dashboard verwenden, um einen schnellen Überblick über den aktuellen Status Ihres Servers zu erhalten.

Vergessen Sie nicht, die von Ihnen erstellte temporäre Datei zu entfernen, um Speicherplatz auf Ihrer Festplatte freizugeben. Geben Sie auf Ihrem Zabbix-Server den folgenden Befehl ein:

rm /tmp/test.img

Dadurch wird die Datei + test.img + entfernt. In wenigen Minuten wird das Dashboard erneut aktualisiert, um die Änderungen im Dateisystem widerzuspiegeln.

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Grafana installiert und konfiguriert wird, und Sie haben ein benutzerdefiniertes Dashboard mit Anzeigen erstellt, in denen Daten von Zabbix angezeigt werden. Sie können diese Dashboards auf Desktops oder sogar auf großen Bildschirmen anzeigen, damit Administratoren den Status Ihrer IT-Infrastruktur sehen können. In jedem Bereich eines Dashboards können Daten von einem anderen Server angezeigt werden. Mit Grafana können Sie die Daten auf viele nützliche Arten filtern. Es ist schwierig, alle Funktionen von Grafana in einem Lernprogramm zu beschreiben. Probieren Sie es aus, experimentieren Sie und erstellen Sie Ihre eigenen schönen Dashboards.