In dieser Anleitung wird davon ausgegangen, dass Ubuntu 18.04 bereits auf der Maschine installiert wurde. Weiter setzt die Anleitung eine funktionierende Internetverbindung auf dem Proxy voraus.

Um keine Probleme mit Berechtigungen zu bekommen, stellen Sie bitte sicher, dass Sie nun als Admin unterwegs sind:

sudo su

Zunächst laden wir uns dann das aktuelle Repository-Konfigurationspaket herunter:

wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
dpkg -i zabbix-release_4.0-2+bionic_all.deb

Dann aktualisieren wir Paketinformationen:

apt-get update

Jetzt können wir das Proxy-Paket herunterladen und installieren:

apt-get install zabbix-proxy-pgsql

Anschließend aktivieren und starten wir den Proxy:

systemctl enable zabbix-proxy
systemctl start zabbix-proxy

Nun erstellen wir den PostgreSQL-Benutzer, der vom Proxy verwendet wird, um auf die lokale Datenbank zuzugreifen. Sie werden nach Eingabe der Zeile wiederholt um die Eingabe des Kennworts für den User gebeten. „zabbix“ beschreibt den Benutzernamen, der natürlich variieren kann.

sudo -u postgres createuser --pwprompt zabbix

Im nächsten Schritt erstellen wir die Datenbank für den Proxy. Wir nennen diese im Beispiel ebenfalls „zabbix“:

sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix

Dann wenden wir das von Zabbix mitgelieferte Schema auf die Datenbank an:

zcat /usr/share/doc/zabbix-proxy-pgsql/schema.sql.gz | sudo -u zabbix psql zabbix

Im letzten Schritt passen wir die Zabbix Proxy-Konfiguration an:

nano /etc/zabbix/zabbix_proxy.conf

Folgende Parameter müssen angepasst werden:

# IP oder FQDN des Hauptservers
Server=192.168.1.20
# Hostname des Proxies
Hostname=ZBX-PROXY
# DBHost muss wirklich leer bleiben, also wie abgebildet
DBHost=
# Name der Datenbank
DBName=zabbix
# Zuvor definierter Benutzer, den der Proxy zur DB-Verbindung verwendet
DBUser=zabbix
# Zuvor definiertes Passwort, das der Proxy zur DB-Verbindung verwendet
DBPassword=*******

Im Anschluss können wir den Zabbix Proxy einmal neustarten:

service zabbix-proxy restart

Bei Bedarf können mit folgender Zeile die Logfile-Einträge des Proxys in Echtzeit ausgegeben werden:

tail -f /var/log/zabbix/zabbix_proxy.log

Damit sollte die Installation abgeschlossen sein und Sie können den Proxy in Ihrer Zabbix-Oberfläche einrichten.

Wir haben mehrere CentOS-basierte Zabbix-Proxies. Damit diese auch nach dem Neustart noch ihren Zweck erfüllen und nicht irgendwie in der Luft hängen, haben sich folgende Schritte etabliert.

nano /etc/rc.d/rc.local

Hinter diesem Pfad verbirgt sich ein Startup-Script. Dieses kann schon einige Zeilen enthalten. Wir ergänzen es einfach um folgende Einträge:

# eth1 ist die NIC in unser Netzwerk. eth0 ist die NIC mit Default Gateway in das zu überwachende Netz
# Zu Beginn starten wir diese NIC einmal neu, um sicherzustellen, dass sie aktiv ist
ifdown eth1
ifup eth1

# Dann setzen wir die Route für das Netz, in dem der Zabbix-Server letztendlich steht
ip route add [MgmtNetz]/[Hostbits] via [IP des Gateways der NIC] dev eth1 proto static metric 10
# Bsp.: ip route add 192.168.1.0/24 via 172.16.1.1 dev eth1 proto static metric 10

# SELinux Konfiguration „Eine Bastion gegen Angriffe“
setsebool zabbix_can_network 1
setsebool httpd_can_connect_zabbix 1

# Sicherstellen dass die Dienste laufen
systemctl start zabbix-proxy
systemctl start zabbix-agent
systemctl start postgresql

Anschließend stellen wir sicher, dass das Script ausführbar ist:

chmod +x /etc/rc.d/rc.local

Damit sollte der Proxy künftige Neustarts überleben.

Nach jedem Neustart des Servers wird die Link-Local Route wieder erstellt. Dies führt dazu, dass die Cisco Geräte nicht mehr via SNMP überwacht werden können.

Das Problem kann durch folgenden Befehl gelöst werden:

route del link-local netmask 255.255.0.0

Da dies die Route nur bis zum nächsten Neustart entfernt, empfiehlt sich die Eintragung des Befehls in der Autostart-Datei „/etc/init.d/boot.local“.