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.

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 exisitiert, 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.

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

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.

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.


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.

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