Community

Bitte oder Registrieren, um Beiträge und Themen zu erstellen.

Zabbix Proxy einrichten

Ein Zabbix Proxy bietet interessante Erweiterungsmöglichkeiten, indem er Checks von seinem Standort aus macht. Dabei kann er auch noch den Zabbix Server entlasten.

Funktion

Ein Zabbix Proxy übernimmt Checks, die am Server eingerichtet werden. Dies kann mehrere Gründe haben:

  • um den Server zu entlasten
  • um Checks zu machen, die vom Server aus nicht funktionieren.

Der Server wird dadurch entlastet, dass er bestimmte Checks delegieren kann. Meistens sitzt der Server in einem Unternehmensnetzwerk und kann allein dadurch schon keine Checks von außerhalb des Netzwerkes machen. Und hier kommt der Zabbix Proxy ins Spiel: Er kann von außen

  • die Carrier-Router monitoren
  • (Web- Mailserver- etc.) Checks auf der Unternehmensfirewall machen
  • einer von mehreren Messpunkten für z.B. Latenzmessungen sein

Die Verbindung mit Server und Proxy kann und sollte dabei verschlüsselt sein, was seit der Zabbix-Version 3 funktioniert. Im Folgenden beschreibe ich die Einrichtung einen Zabbix proxy auf Ubuntu 18.04.

Konfiguration des Proxys

In diesem Artikel gehe ich davon aus, dass Du bereits Erfahrung mit der Installation der Zabbix-Software (-> Zabbix-Webseite) hast und bereits einen Zabbix Proxy am Start hast. Auch die Abhängigkeiten wie zum Beispiel ein DB-Backend und das Programm fping sollten vorhanden sein. Wie auch bei Server und Agent liegt die Konfigurationsdatei zabbix_proxy.conf im Verzeichnis /etc/zabbix.

Einrichtung einer Datenbank

Ich gehe hier von einer mysql/mariadb aus:

mysql> create database zabbixproxy;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on zabbixproxy.* to 'proxyuser'@'localhost' identified by 'DeinPasswort!';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> quit
Bye

Aktiv oder passiv

Der aktive Zabbix Proxy pollt den Server und schiebt ihm auch seine Item-Werte unter. Dadurch, dass sich der Server nicht kümmern muss, wird er hiermit entlastet. Dieses Setup eignet sich nur bedingt für einen Einsatz durch eine Firewall, denn hierfür müsste eine eingehende Verbindung vom Proxy auf TCP/10051 zum Server definiert werden. Dafür eignet es sich umso besser für die Übertragung von akkumulierten Item-Werten innerhalb eines Unternehmens-WANs. Nachfolgend die Schraube in der Konfigurationsdatei:

### Option: ProxyMode
#       Proxy operating mode
#       0 - proxy in the active mode
#       1 - proxy in the passive mode
#
# Mandatory: no
# Default:
# ProxyMode=0

Zabbix Server

In diesem Abschnitt der Konfigurationsdatei wird die (reale oder geNATtete) Adresse des Zabbix Servers eingetragen:

### Option: Server
#       IP address (or hostname) of Zabbix server.
#       Active proxy will get configuration data from the server.
#       For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: yes (if ProxyMode is set to 0)
# Default:
# Server=
Server=myhostname.mydomain.tld

Hostname

Der Hostname wird für die Identifikation des Proxys am Server benötigt!

### Option: Hostname
#       Unique, case sensitive Proxy name. Make sure the Proxy name is known to the server!
#       Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=

Hostname=proxyhostname

Datenbank

In den folgenden Feldern werden die Werte eingetragen, die Du vorher in Deinem DB-Server konfiguiert hast:

DBHost=localhost
DBName=zabbixproxy
DBUser=zabbixproxy
DBPassword=DeinPasswort!

Jetzt muss nur noch das Schema in den db-Server eingespielt werden:

zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -u zabbixproxy zabbixproxy -p

 

Encryption

Hier ist ein Beispiel für eine preshared key Verschlüsselung

Erzeugung eines 48-stelligen PSKs:

openssl rand -hex 48 >/etc/zabbix/proxy.psk
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=proxy
TLSPSKFile=/etc/zabbix/proxy.psk

 

Nun ist der Proxy fertig konfiguriert. Mit dem Aufruf systemctl restart zabbix-proxy startet der Proxy mit den neuen Einstellungen.

Konfiguration des Servers

Danach musst Du den Proxy am Server definieren. Das geschieht in der Weboberfläche unter Administration -> Proxies -> Create Proxy:

[caption id="attachment_772" align="aligncenter" width="300"]Zabbix Proxy am Server einrichten 1 Zabbix Proxy am Server einrichten 1[/caption]

[caption id="attachment_773" align="aligncenter" width="300"]Zabbix Proxy am Server einrichten 2 Zabbix Proxy am Server einrichten 2[/caption]

Der Proxy name im Bild 1 muss zwingend identisch mit dem Wert sein, den Du hinter Hostname= eingetragen hast.

Achte darauf, dass die PSK identity identisch ist mit dem Wert, den Du hinter TLSPSKIdentity= am Proxy eingetragen hast!

Sammeln von Items

Nun sollte unser neuer Proxy auch Werte übermitteln. Um dies zu erreichen, benötigen wir Hosts, die von einem Proxy aus erreichbar sind. Im folgenden Screenshot siehst du, was dafür getan werden muss.

Host, der von einem Zabbix Proxy gemonitort wird

Alles, was hier zu tun ist, ist tatsächlich nur, im pull down Menü den Proxy zu wählen, der den Host monitoren soll.

Troubleshooting

Wenn sich Server und Proxy nicht finden wollen, sind die Logfiles Dein bester Freund. Du findest sie sowohl auf Proxy als auch auf dem Server unter /var/log/zabbix.

 

[ratings]