Zabbix Proxy

Die Verwendung des Zabbix Proxys ermöglicht die Überwachung von Inhouse und DMZ Servern auf einem Server in der Cloud. Außerdem ermöglicht ein Proxy eine hohe Verfügbarkeit des Monitorings.

Vorbereitung

Falls die Zabbix Agenten schon für einen Zabbix Server konfiguriert sind, dann muss vor der Umstellung noch die IP des Proxyservers in der Agentenkonfiguration freigeschaltet werden.

vi /etc/zabbix/zabbix_agentd.conf
### Option: Server
# List of comma delimited IP addresses (or hostnames) of Zabbix servers.
# 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=127.0.0.1,ZABBIX_SERVER_IP,ZABBIX_PROXY_IP

Native Installation

Soll der Host auf dem der Proxy läuft selbst überwacht werden, kann es zu Problemen mit der Konfiguration der Firewall des Hosts kommen. Einfacher kann dann eine direkte Installation auf dem Host sein.

Zunächst müssen die Paketquellen für Zabbix installiert werden.

Ubuntu 18.04

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
dpkg -i zabbix-release_3.4-1+bionic_all.deb
apt update

Ubuntu 16.04

wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
dpkg -i zabbix-release_3.4-1+xenial_all.deb
apt update

Proxy

Den Zabbix Proxy nativ installieren.

apt install zabbix-proxy-sqlite3

Für die Datenbank muss ein Verzeichnis angelegt werden. Der Zabbix Benutzer benötigt für dieses Verzeichnis alle Berechtigungen.

mkdir /var/lib/zabbix
chown -R zabbix: /var/lib/zabbix

Und zuletzt noch die Konfiguration anpassen.

vi /etc/zabbix/zabbix_proxy.conf

Server=ZABBIX_SERVER_IP
Hostname=ZABBIX_PROXY_HOSTNAME
DBName=/var/lib/zabbix/zabbix_proxy.sqlite3

Falls noch das Java Gateway eingerichtet wird, dann dieses gleich auch im Proxy konfigurieren.

JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=3

Den Proxy mit der aktualisierten Konfiguration neu starten.

service zabbix-proxy restart

Java Gateway

Das Zabbix Java Gateway nativ installieren.

apt install zabbix-java-gateway

Zabbix Server konfigurieren

Auf dem Zabbix Server den Proxy bekannt machen. Es können auch gleich Hosts, die vom Proxy überwacht werden, zu diesem hinzugefügt werden (hier s01 und s02).

Wichtig: Der Proxy name (hier zabbixproxy) muss mit ZABBIX_PROXY_HOSTNAME in der Proxy Konfigurtion übereinstimmen!

In der Liste der Proxies wird der Zabbix Proxy angezeigt. Die Zeitanzeige bei "Last seen (age)" sollte ein kleiner Sekundenbetrag sein.

Alternative Installation mit Docker

Installieren Sie Zabbix auf einem Server, der die zu überwachenden Server erreichen kann.

Der Proxy vereinfacht ggf. auch die Firewall Einstellungen für den Zabbix Server. Außerdem wird die Last für Gathering verteilt.

Am schnellsten ist ein aktiver Zabbix Proxy mit einem Docker Image aufgesetzt.

docker run --name zabbix-proxy -p 10051:10051 -e ZBX_HOSTNAME=ZABBIX_PROXY_HOSTNAME -e ZBX_SERVER_HOST=ZABBIX_SERVER_DOMAIN -e ZBX_JAVAGATEWAY_ENABLE=TRUE -d zabbix/zabbix-proxy-sqlite3:alpine-3.4-latest

Java Gateway

Auch beim Proxy muss das Java Gateway aktiviert werden.

docker run --name zabbix-java-gateway -d zabbix/zabbix-java-gateway:alpine-3.4-latest

Und das Gateway muss mit dem Proxy verbunden werden.

docker network create zabbix
docker network connect zabbix zabbix-proxy
docker network connect zabbix zabbix-java-gateway