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