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 von Zabbix, um einen neuen Host hinzuzufügen
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 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.

Konfiguration des Hosts in Zabbix
Konfiguration des Hosts

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

Zabbix - Übersicht der konfigurieten Hosts
Ü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
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
Vorlage zu einem Host hinzufügen
Ausschnitt der vorhandenen Vorlagen
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
Ü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