Nichts ist schlimmer als wenn etwas im Netzwerk nicht funktioniert! Ist es das Netzwerk selbst, ein Computer, eine Software, ein Switch – oder was auch immer?
Vor allem in einem Unternehmen – der Admin wird angerufen – etwas funktioniert nicht. In der Firma kann nicht gearbeitet werden, der Admin muss erst ran. Wäre es nicht besser, der Admin würde dies selbst sehen, gleich bevor irgendwer anderes daraufkommt?
Mit der Open Source-Software Zabbix ist genau dies möglich. So gut wie jedes Betriebssystem, jeder Computer, jede Netzwerk-Hardware und vieles an Software lässt sich damit überwachen. Auch die Belegung der Festplatten, der Arbeitsspeicher, die Auslastung der CPU und vieles mehr. Im Falle des Falles lässt sich der Rechner, bei dem Probleme bestehen, nach Vorgaben das System neu starten, Anwender per E-Mail, SMS und Co. zu informieren und vieles mehr.
In diesem Thema sehen wir uns diese Software etwas genauer an. Bis dieser Artikel von meiner Seite fertig ist, wird er gesperrt bleiben – anschließend kann sich jeder beteiligen.
Inhaltsverzeichnis
Zabbix installieren
Grundlegend – Monitoring-Systeme sollten immer auf einem eigenen Rechner laufen, dieser sollte auch vom Internet abgeschottet sein. Auch sollte Zabbix nur per SSL (HTTPS) erreichbar sein, dies werden wir hier aber nicht besprechen (mehr dazu unter Lets encrypt).
In diesem Beitrag wird die Installation unter Debian 11 (Bullseye) vorgenommen, die Installation ist jedoch auch unter Alma Linux, CentOS, Oracle Linux, Raspberry Pi OS, Red Hat Enterprise Linux, Rocky Linux, SUSE Linux Enterprise Server, Ubuntu und Ubuntu ARM problemlos über die Paket-Verwaltung mittels Paketen möglich (siehe Zabbix – Downloads). Für weitere Distributionen gilt es, die Quellen selbst zu kompilieren.
Zu Beginn laden wir uns das initiale Paket herunter, über dieses wird das Zabbix-Repository und die GPG-Schlüssel automatisch in das System integriert – als normaler Benutzer am Terminal:
wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-2%2Bdebian11_all.deb
Jetzt installieren wir dieses Paket als Administrator auf dem Terminal über die Paket-Verwaltung durch den Befehl:
apt install ./zabbix-release_VERSION+debian11_all.deb
Anschließend aktualisieren wir die Quellen:
apt update
Und installieren die nötigen Pakete (in diesem Fall, mit dem Webserver Apache und der Datenbank MySQL – Sie können aber auch PostgreSQL als Datenbank und Nginx als Webserver nutzen – siehe Zabbix-Link):
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
In diesem Fall installieren wir den Zabbix-Server – zum Proxy, den Agenten und Co werden wir später mehr erfahren. Jetzt erlauben wir den automatischen Start des Zabbix-Servers – natürlich als Administrator:
systemctl enable zabbix-server --now
Absolut wichtig ist die richtige Zeitzone, wir sehen erst einmal an, wie sich diese nennt:
timedatectl list-timezones | grep Europe
Diese können wir zur Sicherheit gleich noch einmal fix festlegen:
timedatectl set-timezone Europe/Vienna
Den Befehl gilt es natürlich entsprechend anzupassen. Mit dem Befehl:
date
können wir die Zeitzone kontrollieren:
Wichtig ist die richtige Zeitzone für die Zeitstempel – Timestamps. Noch besser der Befehl:
timedatectl status
Wir installieren die Datenbank:
apt install mysql-server
Diese wird jetzt konfiguriert:
mysql -uroot -p
Geben Sie Ihr root-Passwort ein – es folgt der Datenbank-Prompt „mysql>“ – hier geben Sie die weiteren Befehle ein:
Wir erstellen die Datenbank:
create database zabbix character set utf8mb4 collate utf8mb4_bin;
Jetzt erstellen wir den Benutzer „zabbix“ und sein Passwort – „password“ ersetzen Sie dabei durch ein sicheres Passwort:
create user zabbix@localhost identified by 'password';
Jetzt vergeben wir die Rechte:
grant all privileges on zabbix.* to zabbix@localhost;
Wir schließen ab und loggen uns aus:
set global log_bin_trust_function_creators = 1;
quit;
Jetzt befüllen wir die Datenbank mit dem Befehl (anschließend geben Sie den:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Wir öffnen wieder die Datenbank:
mysql
Hier wenden wir uns der Datenbank „zabbix“ zu:
use zabbix
Jetzt sehen wir uns die Tabellen an, diese sollten in etwa so aussehen:
show tables;
| trigger_depends |
| trigger_discovery |
| trigger_queue |
| trigger_tag |
| triggers |
| userdirectory |
| users |
| users_groups |
| usrgrp |
| valuemap |
| valuemap_mapping |
| widget |
| widget_field |
+----------------------------+
176 rows in set (0.001 sec)
Wir können uns wieder ausloggen:
quit;
Wir wenden uns der Konfigurationsdatei von Zabbix zu – „/etc/zabbix/zabbix_server.conf„:
nano /etc/zabbix/zabbix_server.conf
Hier suchen wir zunächst den Eintrag für den Namen der Datenbank:
### Option: DBName
# Database name.
# If the Net Service Name connection method is used to connect to Oracle database, specify the service name from
# the tnsnames.ora file or set to empty string; also see the TWO_TASK environment variable if DBName is set to
# empty string.
#
# Mandatory: yes
# Default:
# DBName=
DBName=zabbix
Wichtig – die Zeile „DBName=zabbix“ – unter Debian sollte dies schon richtig hier stehen. Weiter geht es zum Eintrag:
### Option: DBUser
# Database user.
#
# Mandatory: no
# Default:
# DBUser=
DBUser=zabbix
Auch hier – der Datenbank-Benutzer „DBUser=zabbix“ sollte unter Debian schon passen. Jetzt noch wichtig – das Passwort:
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=PASSWORT
Entfernen Sie die Raute (#) vor dem Passwort und setzen das Passwort der Datenbank in der Zeile „DBPassword=„. Wir speichern die Datei mit Strg+o, bestätigen mit Eingabe und schließen den Editor mit Strg+x.
Wir starten den Server neu und kontrollieren den Status:
systemctl restart zabbix-server
systemctl status zabbix-server
Dies sollte jetzt so aussehen:
systemctl --type=service
● zabbix-server.service - Zabbix Server
Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-10-15 05:49:47 CEST; 4s ago
Process: 16075 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 16077 (zabbix_server)
Tasks: 48 (limit: 6972)
Memory: 47.9M
CPU: 175ms
CGroup: /system.slice/zabbix-server.service
├─16077 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
├─16084 /usr/sbin/zabbix_server: ha manager
...
...
Eine weitere Kontrolle – der Server sollte bereits die Log-Dateibefüllen:
tail -n50 /var/log/zabbix/zabbix_server.log
Ein Beispiel:
16093:20221015:054947.239 server #6 started [alerter #3]
16094:20221015:054947.239 server #7 started [preprocessing manager #1]
16095:20221015:054947.239 server #8 started [preprocessing worker #1]
16096:20221015:054947.240 server #9 started [preprocessing worker #2]
16097:20221015:054947.240 server #10 started [preprocessing worker #3]
16098:20221015:054947.241 server #11 started [lld manager #1]
16099:20221015:054947.241 server #12 started [lld worker #1]
16100:20221015:054947.242 server #13 started [lld worker #2]
16102:20221015:054947.243 server #14 started [housekeeper #1]
16103:20221015:054947.243 server #15 started [timer #1]
...
...
Ebenso sollten so einige Zabbix-Prozesse laufen:
ps ax | grep zabbix_server
Jetzt starten wir den Zabbix-Server und Komponenten neu:
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
Damit wäre die Installation des Servers abgeschlossen.
Weiter geht es mit der Einrichtung der grafischen Oberfläche im Webbrowser. Dazu öffnen Sie am lokalen Rechner die Adresse „localhost://zabbix“ oder von einem entfernten Rechner die Adresse „http://ip-adresse/zabbix„:
Unter Debian müssen wir erst über die Paket-Verwaltung das Paket „locales-all“ installieren und den Befehl:
dpkg-reconfigure locales
ausführen – wird der Befehl nicht gefunden:
/sbin/depkg-reconfigure locales
Jetzt starten wir den Server neu:
systemctl restart apache2
Anschließend wird die Seite im Browser neu geladen – anschließend können wir auch die Sprache anpassen – etwa Deutsch natürlich:
Sind Sie bei der Datenbank angelangt, müssen Sie eventuell die Datenbank und das Passwort anpassen:
Weiter geht es mit einer Bezeichnung für den Server – wichtig auch die Zeitzone anpassen. Zuletzt loggen Sie sich mit dem Benutzer „Admin“ und dem Passwort „zabbix“ ein:
Bevor Sie sich auf etwas anderes stürzen, sollten Sie das Passwort des Administrators wechseln – dies gelingt links über das Menü „Benutzereinstellungen → Profil„:
Es kann sein, das Zabbix einige Sekunden benötigt, bis das Passwort im System aktualisiert wurde – es kann also dauern, bis Sie sich das nächste Mal einloggen können. Unter „Überwachung → Hosts“ finden wir jetzt als ersten Eintrag unseren Zabbix-Server:
Die Zabbix-Komponenten
Bevor wir uns jetzt an die Arbeit mit Zabbix machen, werden wir uns mit dem Drumherum ein wenig beschäftigen. Was kann Zabbix eigentlich überwachen?
- Computer und Hardware wie natürlich auch Switches
- Sensoren
- Industrielle Hardware
- Software, wie etwa Datenbanken und Webserver, Services
- Logfiles
- Virtuelle Maschinen, wie etwa VMWare, Docker, Podman
- Cloud
- Belegung von Dateisystemen und Verzeichnissen
Dies ist aber nur eine grobe Auflistung.
Zabbix besteht aus mehreren Komponenten:
- Zabbix-Server – dieser sammelt Daten, verarbeitet sie und speichert diese in einer Datenbank
- Zabbix-Frontend – dieses lässt Einstellungen am Zabbix-Server vornehmen und präsentiert die Daten grafisch
- Zabbix-Proxys – in großen Umgebungen sind Proxys vorteilhaft – sie können zahlreiche Aufgaben des Servers übernehmen, etwa das Sammeln und Verarbeiten von Daten – diese werden anschließend dem Server übergeben
- Zabbix-Agents – diese werden auf Clients – etwa den zu überwachenden Systemen installiert, sie können Daten zum Zabbix-Server senden, oder der Server kann über diese die Clients abfragen
- Zabbix-Java-Gateway – zum Überwachen von Java-Applikationen
Der Zabbix-Server (diesen haben wir im ersten Beitrag installiert) und der Proxy kann auf allen auf UNIX / Linux basierenden Betriebssystemen installiert werden – nicht aber auf Windows. Das Frontend kann wiederum etwa auch unter Windows auf einem Webserver installiert werden.
Wichtig sind vor allem die genutzten Ports – je nach Aufgabe müssen folgende Ports (TCP) durch die Firewall geöffnet werden:
- Zabbix-Agent (1 und 2) hören im passiven Modus (auf den Clients) auf dem Port 10050
- Server und Proxy warten auf dem Port 10051 auf aktive Eingaben von den Agents
- Der Java-Gateway wartet auf dem Port 10052
- Der Zabbix-Web-Service wartet auf Port 10053
Zabbix-Server und Proxy können in unterschiedlichen Versionen zusammenarbeiten. Der Unterschied darf jedoch nicht zu groß sein – Server und Proxy müssen in derselben Major-Version installiert sein. So wird etwa ein Proxy in der Version 6.0.0 und der Server in der Version 6.0.2 problemlos funktionieren – aber ein Proxy in der Version 5.0.0 und der Server in Version 6.0.0 nicht.
Zu überwachende Hosts / Clients hinzufügen
Wie gesagt – statische IP-Adressen sind vom Vorteil. Die IP-Adresse am aktuellen Rechner erfagen Sie am Terminal mit dem Befehl:
ip a
Nach erstem Grundwissen fügen wir jetzt einen ersten Rechner im Netzwerk hinzu. Da wir ein Betriebssystem installiert haben, können wir auf diesen (Linux, macOS, Solaris, UNIX, Windows, …), können wir auf diesen die Zabbix-Agents installieren – wie bei der Server-Installation das Zabbix-Repository einfügen und den Zabbix-Agenten installieren. Unter Debian etwa gleich auf dem Terminal mit dem Befehl:
apt install zabbix-agent
Jetzt haben wir auf dem ersten Host – eben einem von Zabbix überwachten Rechner den Agenten installiert. Diesen gilt es jetzt zu konfigurieren. Dies gelingt natürlich als Administrator auf dem Terminal:
nano /etc/zabbix-/zabbix-agent.conf
Hier finden wir ab Zeile 105 die passenden Einträge:
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=127.0.0.1
Die letzte Zeile gilt es jetzt anzupassen – hier geben wir die IP-Adresse des Servers an, im Beispiel:
Server=192.168.178.21
Auf dem Server gilt es natürlich die entsprechenden Ports (siehe obiger Beitrag) zu öffnen. Auf dem Client den Port „10050„. Anschließend gehen wir auf den Server und erstellen im Menü unter „Konfiguration → Hostgruppen“ eine neue Gruppe:
Klicken Sie auf den Schalter „Neue Hostgruppe“ rechts oben. Hostgruppen dienen dazu, Hosts in Gruppen zusammenzufassen, so kann man etwa normale Rechner in eine Gruppe legen, Server für Datenbanken und Webserver in eigene Gruppen legen – um einfacher die gerade gewünschten Rechner schneller zu finden. Ohne eine Hostgruppe lässt sich kein einzelner Host anlegen. Ich nenne die erste Gruppe jetzt einfach einmal „Rechner“ – diese sind dann in der Übersicht der Hostgruppen zu finden:
Haben wir eine erste Hostgruppe erstellt, lassen sich auch einzelne Hosts erstellen – dies gelingt im Menü unter „Konfiguration → Hosts„. Klicken Sie rechts oben auf den Schalter „Neuer Host„:
Alle Felder mit Sternchen müssen ausgefüllt werden! Zu Beginn der Hostname des Hosts – diesen erfragen Sie am Terminal mit dem Befehl:
hostname
Unter „Sichtbarer Name“ können Sie wie gewünscht vorgehen – standardmäßig ist es wieder der Hostname – Sie können die Bezeichnung aber völlig frei vergeben.
Wichtig ist jetzt die Vorlagen (Template) – klicken Sie rechts auf den Schalter „Auswählen“ und wählen „Templates → Linux by Zabbix-Agent“ (im Falle von Linux natürlich).
Anschließend lässt sich unter „Hostgruppen“ die zuvor erstellte Gruppe mit einem Klick auf „Auswählen“ benennen.
Eine der wichtigsten Angaben – die „Schnittstelle“ (das Interface), geben Sie die IP-Adresse oder den DNS-Namen an und klicken dahinter auf die Passende Schaltfläche.
Anschließend können Sie noch eine Beschreibung angeben. Es ist kein Muss – aber klicken Sie oben auf den Reiter „Marker (Tags)“ – mittels Markern lässt sich später viel einfacher arbeiten – glauben Sie mir, vor allem, wenn es um viele Rechner geht:
Einen Wert müssen Sie nicht vergeben, anschließend klicken Sie unten links auf den Schalter „Hinzufügen„.
Jetzt finden Sie den erstellten neuen Host in der Übersicht der Hosts, anschließend öffnen Sie das Menü „Überwachung → Hosts„:
Hier finden Sie jetzt alle überwachte Hosts – egal, ob diese erreichbar sind oder nicht. Zu Beginn wird der Status des neuen Hosts (ZBX) ausgegraut sein – etwa nach einer Minute sollte das Icon jedoch grün werden – alles ist in Ordnung. Öffnen Sie das Menü „Überwachung → Probleme„, sehen Sie nicht erreichbare Hosts und andere Probleme die durch das genutzte Template überwacht werden. Die Erreichbarkeit zeigt sich etwa auch unter allen Hosts – hier habe ich etwa den Agenten auf dem Host gestoppt:
Klicken Sie in der Übersicht auf den Schalter „Diagramme„, erhalten Sie bereits zahlreiche Informationen über den Rechner und das System:
Jetzt können wir dem Host natürlich zahlreiche weitere Informationen entlocken. Dazu klicken Sie im Menü „Konfiguration → Hosts“ direkt auf den Host und fügen weitere Vorlagen hinzu, alternativ erstellen Sie Vorlagen selbst. Öffnen wir einmal das Menü „Konfiguration → Hosts“ und klicken in der Zeile des Hosts auf den Schalter „Datenpunkte“ und hier rechts oben auf den Schalter „Neuer Datenpunkt„:
Wir wechseln auf den Reiter „Marker“ und geben eine Beschreibung an – etwa „Anwendung / ICMP„:
Wir klicken auf „Verwenden“ und schon ist die neue Abfrage aktiv.
Sehen wir uns zur Entspannung einmal an, wann uns Zabbix nun über was informieren wird (im Menü „Überwachung → Probleme“) – siehe etwa der Neustart des Zabbix-Servers:
Entsprechende Meldungen sehen wir natürlich auch in der Übersicht im Menü „Überwachung → Hosts„. Klicken Sie im Menü „Konfiguration → Hosts“ in der Zeile des jeweiligen Hosts auf den Eintrag „Auslöser„, sehen Sie die einzelnen Auslöser (Trigger):
Links sehen Sie auch die Farben, in welchen die Probleme gekennzeichnet werden.
Templates / Vorlagen
Zabbix besitzt bereits in der Standardinstallation Vorlagen für verschiedene Betriebssysteme, Software und Geräte im System integriert. Dies sorgt dafür, dass man nicht für jeden Host selbst Tests erstellen muss.
Um uns die Vorlagen anzusehen, gehen wir unter im Menü nach „Konfiguration → Hosts„:
Wir klicken jetzt auf den gewünschten Hostnamen:
Hier klicken wir wieder unter den Vorlagen / Templates aus den Schalter „Auswählen„:
Haben wir jetzt bereits mehrere Hosts, können wir nach dem gewünschten suchen, alternativ klicken wir auf den Schalter „Auswählen„:
Hier können wir jetzt aus zahlreichen Vorlagen auswählen – nehmen wir beispielsweise „Templates / Operating Systems„
Hier finden wir Vorlagen für unterschiedliche Betriebssysteme, Windows, Linux – unter „Templates“ (Vorlagen) selbst, zeigen sich wiederum alle Vorlagen:
Natürlich ist auch die Suche hilfreich. Ein Klick auf das jeweilige Template und dies ist schon aktiv:
Weitere Vorlagen / Templates
Man findet natürlich nicht für alles bereits vorinstallierte Vorlagen, das System würde platzen. Unter Zabbix – Templates finden wir zahlreiche weitere:
So gibt es etwa auch eine Vorlage für Dienste unter Linux – Systemd-Dienste. Diese Vorlage überwacht, ob auch alle Dienste, die starten sollten, gestartet wurden und laufen – findet sich etwa unter Zabbix – Systemd:
Wir klicken auf den Link für die YAML-Datei – dieser führt uns zur Konfigurationsdatei:
Wir kopieren den Text und erstellen uns eine Textdatei nach gleichen Namen – hier etwa „template_app_systemd.yaml„, in diese kopieren wir den kopierten Text. In Zabbix öffnen wir das Menü „Konfiguration → Vorlagen“ und klicken rechts oben auf den Schalter „Importieren„:
Wir wählen die zuvor erstellte Datei und klicken auf den Schalter „Importieren“ – die Software importiert die Vorlage, ist alles grün – passt. In der Konfiguration des Hosts können wir das neue Template jetzt integrieren:
Auf dem zu überwachenden Host, aktualisieren wir am Terminal die Einstellungen, so kommen die Daten schneller:
systemd restart zabbix-agent2.service
Jetzt können wir im Menü unter „Monitoring → Letzte Daten“ den Host angeben und auf die ersten Datenwarten.
Userparameter in Zabbix
Mit Userparametern können wir auf einem Host jeden Befehl ausführen – etwa um eigene Abfragen zu erstellen. Auf dem Server gilt es dann für diese Abfrage wieder ein eigenes Template zu erstellen. In diesem Beispiel werden wir noch kein eigenes Template erstellen, wir nutzen einfach ein vorgefertigtes.
Dazu nutzen wir das APT-Update-Monitoring von Zabbix-APT-Monitoring. Dieses Template überwacht alle darauf konfigurierten Hosts, ob normale und Sicherheitsupdates installiert sind.
Dazu laden wir uns erst einmal das Template herunter (apt-updates.xml) und importieren dieses über die Templates:
Schon zeigt sich das neue Template in Zabbix. Bevor wir dieses jetzt auf einen oder mehrere Hosts loslassen, müssen wir den Userparameter direkt auf dem Host erstellen. Dabei handelt es sich um eine Datei unter „/etc/zabbix/zabbix_agent2.d/„. Auch hier können wir die Datei einfach herunterladen:
# Treat security and regular updates differently
# This is just a simulation, that can be run under zabbix user
# Since updating packages lists (apt-get update) requires root user,
# use APT::Periodic or some other functionality for that
UserParameter=apt.security,apt-get -s upgrade | grep -ci ^inst.*security | tr -d '\n'
UserParameter=apt.updates,apt-get -s upgrade | grep -iPc '^Inst((?!security).)*$' | tr -d '\n'
In diesem Fall nennt sich die Datei einfach „apt.conf„, diese speichern wir auf dem Host im genannten Verzeichnis. Und schon können wir dem Host das neue Template zuweisen:
Damit wir schneller an Daten kommen, starten wir den Zabbix-Server und den jeweiligen Agent neu:
systemctl restart zabbix-agent2
systemctl restart zabbix-server
Sobald Daten eintreffen, zeigen sich diese (im Bild oben sind nur noch keine da).
Grafana in Zabbix
Man muss sagen, die Info-Grafiken von Zabbix sind nicht unbedingt die schönsten und aussagekräftigsten:
Für die schönen und übersichtlichen Grafiken gibt es Grafana – besser gesagt das Grafana-Plugin für Zabbix. Dieses installieren wir jetzt.
install apt-transport-https software-properties-common
wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Jetzt können wir Grafana installieren:
apt install grafana
Wir aktivieren Grafana:
systemctl daemon-reload
systemctl start grafana-server
systemctl enable grafana-server.service
Anschließend können wir Grafana im Webbrowser über den Port 3000 öffnen – Beispiel „localhost:3000„:
Zum Einloggen nutzen wir den Usernamen „admin“ und das Passwort „admin„, dieses gilt es gleich zu ändern – anschließend landet man im Dashboard:
Jetzt haben wir Grafana installiert – wir müssen noch dafür sorgen das Grafana mit Zabbix kommunizieren kann – hierzu installieren wir über das Terminal das Plugin:
grafana-cli plugins install alexanderzobnin-zabbix-app
Anschließend starten wir Grafana neu:
systemctl restart grafana-server
Wir öffnen die Einstellungen von Grafana und suchen uns das Zabbix-Plugin:
Als Erstes aktivieren wir das Plugin:
Jetzt wechseln wir links in den Einstellungen auf „Data source“ und klicken auf den Schalter „Add data source„:
Scrollen Sie in den Einträgen ganz hinunter zu „Zabbix“ und klicken darauf:
Unter „HTTP – URL“ geben Sie „http://localhost/zabbix/api_jsonrpc.php“ an. Bis zu „Zabbix API details“ können Sie die Einstellungen belassen, wie sie sind – dann geben Sie den Login für Zabbix ein, ganz unten klicken Sie anschließend auf den Schalter „Save & test“ – fertig.
Jetzt öffnen wir die Dashboards und klicken auf „Import„:
Wir könnten hier jetzt selbst Dashboards erstellen, dies sehen wir uns etwas später an – es gibt auch vorgefertigte Dashboars. Diese finden Sie unter Grafana Dashboards:
Die Dashboards sind nach Datenquellen sortiert – wählen Sie über den Schalter links oben erst einmal „Zabbix„, ich nehme als Beispiel das Dashboard „Performance Ambiente Zabbix“ – es zeigt die Daten des Zabbix-Servers selbst:
Hier lässt sich jetzt die ID des Dashboards kopieren oder die JSON-Datei herunterladen – beides integrieren Sie in Grafana. Anschließend wählen Sie die Datenquelle und klicken auf „Import„:
Jetzt landen Sie direkt im Dashboard – dieses gehört jetzt noch an den Server angepasst – klicken Sie auf jedem Element auf den kleinen Schalter und wählen „Edit„:
In den Feldern geben Sie jetzt die gewünschten Daten an – Host-Gruppe, Hostname, Item und Tag – Tipp, klicken Sie einfach in das Feld und wählen die gewünschten Daten an / wählen aus. Rechts finden Sie dann die Einstellungen. Am Ende könnte die Geschichte so aussehen:
In den Feldern geben Sie jetzt die gewünschten Daten an – Host-Gruppe, Hostname, Item und Tag – Tipp, klicken Sie einfach in das Feld und wählen die gewünschten Daten an / wählen aus. Rechts finden Sie dann die Einstellungen. Am Ende könnte die Geschichte so aussehen:
Da ich hier selbst keine Proxys nutze, fehlen natürlich Daten – ungewünschte Elemente lassen sich natürlich löschen.
Auf für Grafana gibt es unendlich viele Dashboards für alles Mögliche.
2 Reaktionen
[…] zu Hause ein kleines Netzwerk betreibt, will dieses gleich mit einem Bolzen von Software wie etwa Zabbix überwachen. In vielen Situationen genügt es, zu wissen – die Rechner, die laufen sollen, […]
[…] Wir haben auf der Linux Bibel neben vielen kleinen Tools, auch schon das große Monitoring-System Zabbix kennengelernt – in diesem Beitrag geht es um das Monitoring mit […]