Zabbix - Einen Agent installieren und einrichten

Nachdem unser Server läuft, starten wir mit der Überwachung unserer Clients. Dieser Artikel zeigt euch, wie ihr einen Agent installiert und die Überwachung einrichtet.
Falls ihr Zabbix noch nicht installiert habt, lest euch doch den Artikel zur Installation von Zabbix durch 🙂
Grundlagen Agents
Ein Agent (kurz für Software-Agent) ist eine Anwendung, die auf einem Computer autark ausgeführt wird. Diese Agents können verschiedene Aufgaben haben. Sie können beispielsweise Dateien überwachen oder Meldungen verschicken.
Agents installieren und verbinden
Für die Installation gibt es zwei Wege. Auf der Homepage werden vorkompilierte Pakete für FreeBSD, OpenBSD und Windows bereitgestellt.
Für andere System, wie beispielsweise Ubuntu oder Debian, erfolgt die Installation mittels Kommandozeile. Damit ich meine bestehenden Systeme nicht ändere, habe ich eine virtuelle Maschine erstellt. Dort nutze ich Ubuntu 18.10. Je nachdem, welches System ihr verwendet, können sich die Befehle leicht unterscheiden.
Als erstes installieren wir den Agent und starten den Service. In meiner VM musste ich das Repository nicht separat hinzufügen.
# Agent installieren
apt-get install zabbix-agent
# Dienst starten
service zabbix-agent start
Als nächstes müssen wir die lokale Konfiguration anpassen, sodass sich der Zabbix-Server mit dem neuen Agent verbinden kann. Hierzu öffnen wir die Konfigurationsdatei.
nano /etc/zabbix/zabbix_agentd.conf
Wichtig sind zwei Stellen: Der Hostname des Agents und die Server-IP Adresse. Ihr findet einen Abschnitt, der ungefähr so aussieht:
### Option: Hostname
# Unique, case sensitive hostname.
# Required for active checks and must match hostname as configured on the server.
# Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=
Hostname=VM-ubuntu
Hier tragt ihr den Hostnamen ein, von eurem Gerät, auf dem der Agent ausgeführt wird. In meinem
Falle heißt die virtuelle Maschine VM-ubuntu
.
Als zweites müssen wir die IP vom Zabbix-Server eingeben. Diese ist notwendig, damit der externe Zugriff erlaubt wird. Im selben Dokument findet ihr eine Stelle wie die Folgende:
### Option: Server
# List of comma delimited IP addresses (or hostnames) 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.
#
# Mandatory: no
# Default:
# Server=
Server=192.168.2.100
Hier könnt ihr entweder den Namen des Servers eingeben (Beispiel: VM-zabbixserver
) oder die
IP-Adresse (Beispiel: 192.168.2.100).
Damit ist die grundlegende Einrichtung vom Agent erledigt. Mit dem
Befehl systemctl restart zabbix-agent.service
wird die aktuelle Konfiguration neu geladen.
Als nächstes müssen wir den neuen Agent dem Server bekannt machen. Dazu wechseln wir in die
Oberfläche. Im Menü wählen wir Configuration > Host > Create Host
aus.

Seite, um neuen Host hinzuzufügen
Dort geben wir den Hostnamen und wie wir den Agent ansprechen möchten. Wichtig ist hierbei, dass der Hostname mit dem Hostname in der Konfigurationsdatei (siehe oben) identisch ist. Ansonsten kommt es zu Fehlern und es kann keine Verbindung aufgebaut werden.
Anschließend geben wir eine Gruppe ein. Falls die Gruppe nicht existiert, wird eine neue Gruppe angelegt. Zu guter Letzt geben wir die Verbindungsart an. Die Verbindung kann entweder mittels IP-Adresse oder dem Hostnamen (DNS) erfolgen.

Konfiguration des Hosts
Anschließend wird der neue Host in der Übersicht angezeigt.

Übersicht der konfigurierten Hosts
Prüfparameter anlegen
Überwachungsparameter können über verschiedene Arten hinzugefügt werden. Mit Items können einzelne Parameter geprüft werden. Mit einzelnen „Keys“ werden die Werte abgefragt und zurückgeliefert.
Über den Button „Select“ werden verschiedene Keys angeboten. Das Updateintervall gibt an, wie oft der Wert überprüft werden soll. Werte wie `60s` (60 Sekunden) oder auch `5m` (5 Minuten) sind möglich.

Konfiguration der Items eines Hosts
Der zweite Weg erfolgt mittels Templates (Vorlagen). Der Vorteil an Templates liegt darin, dass diese Vorlagen einen Standard an Abfragen definieren.
Die Vorlage sammelt diverse Abfragen bzw. Parameter. Wenn Server diese Vorlage verwenden, sind die Parameter identisch. Wenn die Vorlage geändert wird, ändern sich die Parameter der Server, sofern diese die Werte nicht lokal überschreiben.
Um Templates auszuwählen, müssen wir auf den Hostnamen klicken. Anschließend wählen wir Templates
aus und fügen das Gewünschte hinzu. Ein Klick auf Select
öffnet ein Menü mit sehr vielen
Vorlagen.

Vorlage zu einem Host hinzufügen

Ausschnitt der vorhandenen Vorlagen
Zabbix liefert sehr viele Vorlagen mit. Damit lässt sich die Hardware wie Auslastung der CPU oder RAM sehr schnell hinzufügen. Aber auch eine MySQL-Datenbank ist mit wenigen Klicks schnell hinzugefügt.
Als Beispiel habe ich „Template OS Linux“ ausgewählt. Nach dem Speichern sehen wir in der Übersicht einige neu hinzugefügt Items und Graphen.

Übersicht der Hosts inkl. Anzahl der Items und verwenden Vorlage
Fazit
Wie ihr sehen könnt, ist ein Agent sehr schnell installiert und eingerichtet. Anschließend erfolgt die Konfiguration über die Weboberfläche. Es gibt viele Vorlagen, die einen großen Teil der Standards abdecken und den ersten Schritt erleichtern. Wie empfindet ihr die Einrichtung der Agents? Habt ihr Tipps, um euch die Arbeit zu erleichtern?
Bildnachweis: Pixabay.com