[comment]: # ({0a2d9a93-0a2d9a93})
# 1 Proxys

[comment]: # ({/0a2d9a93-0a2d9a93})

[comment]: # ({c112bcf2-5a59cd81})
### Übersicht

Ein Zabbix Proxy kann Leistungs- und Verfügbarkeitsdaten im Auftrag des Zabbix Servers erfassen. Auf diese Weise kann ein Proxy einen Teil der Last der Datenerfassung übernehmen und den Zabbix Server entlasten.

Außerdem ist die Verwendung eines Proxys der einfachste Weg, zentralisiertes und verteiltes Monitoring zu implementieren, wenn alle Agenten und Proxys an einen Zabbix Server berichten und alle Daten zentral gesammelt werden.

Ein Zabbix Proxy kann verwendet werden, um:

- Remote-Standorte zu überwachen
- Standorte mit unzuverlässiger Kommunikation zu überwachen
- Den Zabbix Server beim Monitoring von Tausenden von Geräten zu entlasten
- Die Wartung des verteilten Monitorings zu vereinfachen

![](../../../assets/en/manual/proxies/proxy.png){width="600"}

Der Proxy benötigt nur eine TCP-Verbindung zum Zabbix Server. Dadurch lässt er sich leichter durch eine Firewall hindurch betreiben, da nur eine Firewall-Regel konfiguriert werden muss.

::: noteimportant
Der Zabbix Proxy muss eine separate Datenbank verwenden.
Wenn er auf die Datenbank des Zabbix Servers zeigt, wird die
Konfiguration beschädigt.
:::

Alle vom Proxy gesammelten Daten werden lokal gespeichert, bevor sie an den Server übertragen werden. Dadurch gehen bei vorübergehenden Kommunikationsproblemen mit dem Server keine Daten verloren. Die Parameter *ProxyLocalBuffer* und *ProxyOfflineBuffer* in der [Proxy-Konfigurationsdatei](/manual/appendix/config/zabbix_proxy) steuern, wie lange die Daten lokal aufbewahrt werden.

::: noteimportant
Es kann vorkommen, dass ein Proxy, der die
neuesten Konfigurationsänderungen direkt aus der Datenbank des Zabbix Servers erhält, eine
aktuellere Konfiguration hat als der Zabbix Server, dessen Konfiguration aufgrund des Werts von
[CacheUpdateFrequency](/manual/appendix/config/zabbix_server) möglicherweise nicht so schnell aktualisiert wird. Infolgedessen kann der Proxy mit der Datenerfassung beginnen und diese an den Zabbix Server senden, der diese Daten ignoriert.
:::

Der Zabbix Proxy ist ein Datensammler. Er berechnet keine Auslöser,
verarbeitet keine Ereignisse und sendet keine Alarme. Einen Überblick über die Funktionen des Proxys bietet die folgende Tabelle:

|Function|<|Supported by proxy|
|--------|-|------------------|
|Items|<|<|
|<|*Zabbix agent checks*|**Yes**|
|^|*Zabbix agent checks (active)*|**Yes** ^1^|
|^|*Simple checks*|**Yes**|
|^|*Trapper items*|**Yes**|
|^|*SNMP checks*|**Yes**|
|^|*SNMP traps*|**Yes**|
|^|*IPMI checks*|**Yes**|
|^|*JMX checks*|**Yes**|
|^|*Log file monitoring*|**Yes**|
|^|*Internal checks*|**Yes**|
|^|*SSH checks*|**Yes**|
|^|*Telnet checks*|**Yes**|
|^|*External checks*|**Yes**|
|^|*Dependent items*|**Yes**|
|^|*Script items*|**Yes**|
|^|*Browser items*|**Yes**|
|Built-in web monitoring|<|**Yes**|
|Item value preprocessing|<|**Yes**|
|Network discovery|<|**Yes**|
|Active agent autoregistration|<|**Yes**|
|Low-level discovery|<|**Yes** ^2^|
|Remote commands|<|**Yes**|
|Calculating triggers|<|*No*|
|Processing events|<|*No*|
|Event correlation|<|*No*|
|Sending alerts|<|*No*|

::: noteclassic
\[1\] Damit ein Agent den Proxy (und nicht den
Server) für aktive Prüfungen abfragt, muss der Proxy im
Parameter **ServerActive** in der Agent-Konfigurationsdatei aufgeführt sein.<br>
\[2\] Bei LLD sammelt und verarbeitet der Zabbix Proxy nur die
Daten vor und sendet sie dann an den Zabbix Server zur weiteren
Verarbeitung.
:::

[comment]: # ({/c112bcf2-5a59cd81})

[comment]: # ({bde28545-737fe0c2})
##### Schutz vor Überlastung

Wenn der Zabbix Server für einige Zeit ausgefallen war und Proxies viele Daten gesammelt haben und der Server dann startet, kann es zu einer Überlastung kommen (die Auslastung des History-Cache bleibt für einige Zeit bei 95-100%). Diese Überlastung kann zu Leistungseinbußen führen, bei denen Prüfungen langsamer verarbeitet werden, als sie sollten. Zum Schutz vor diesem Szenario wurde eine Funktion implementiert, um Probleme zu vermeiden, die durch die Überlastung des History-Cache entstehen.

Wenn der History-Cache des Zabbix Server voll ist, wird der Schreibzugriff auf den History-Cache gedrosselt, wodurch die Datenerfassungsprozesse des Servers blockiert werden. Der häufigste Fall einer Überlastung des History-Cache tritt nach einem Serverausfall auf, wenn Proxies gesammelte Daten hochladen. Um dies zu vermeiden, wurde eine Proxy-Drosselung hinzugefügt (derzeit kann sie nicht deaktiviert werden).

Der Zabbix Server akzeptiert keine Daten mehr von Proxies, wenn die Auslastung des History-Cache 80% erreicht. Stattdessen werden diese Proxies auf eine Drosselliste gesetzt. Dies wird fortgesetzt, bis die Cache-Auslastung auf 60% sinkt. Dann beginnt der Server, Daten von Proxies nacheinander anzunehmen, wie in der Drosselliste definiert. Das bedeutet, dass der erste Proxy, der während der Drosselungsphase versucht hat, Daten hochzuladen, zuerst bedient wird, und bis dieser Vorgang abgeschlossen ist, akzeptiert der Server keine Daten von anderen Proxies.

Dieser Drosselungsmodus wird fortgesetzt, bis entweder die Cache-Auslastung erneut 80% erreicht oder auf 20% sinkt oder die Drosselliste leer ist. Im ersten Fall akzeptiert der Server erneut keine Proxy-Daten. In den beiden anderen Fällen arbeitet der Server wieder normal und akzeptiert Daten von allen Proxies.

Die obigen Informationen lassen sich in der folgenden Tabelle veranschaulichen:

|History write <br>cache usage|Zabbix server mode|Zabbix server action|
|--|--|------|
|Reaches 80% |Wait|Stops accepting proxy data, but maintains a *throttling list* (prioritized list of proxies to be contacted later).|
|Drops to 60% |Throttled|Starts processing the throttling list, but still not accepting proxy data.|
|Drops to 20% |Normal|Drops the throttling list and starts accepting proxy data normally.|

Sie können das interne Element [zabbix[wcache,history,pused]](/manual/config/items/itemtypes/internal#wcache) verwenden, um dieses Verhalten des Zabbix Server mit einer Metrik zu korrelieren.

[comment]: # ({/bde28545-737fe0c2})

[comment]: # ({0f7bc9e3-e3203196})
### Konfiguration

Nachdem Sie einen Proxy [installiert](/manual/installation/install) und
[konfiguriert](/manual/appendix/config/zabbix_proxy) haben, ist es an der Zeit,
ihn im Zabbix-Frontend zu konfigurieren.

[comment]: # ({/0f7bc9e3-e3203196})

[comment]: # ({e8649a6d-a5555aaf})
##### Hinzufügen von Proxys

So konfigurieren Sie einen Proxy im Zabbix-Frontend:

-   Gehen Sie zu: *Administration → Proxys*
-   Klicken Sie auf *Proxy erstellen*

![](../../../assets/en/manual/distributed_monitoring/proxy.png){width="600"}

|Parameter|<|Beschreibung|
|-|----------|----------------------------------------|
|*Proxy name*|<|Geben Sie den Proxy-Namen ein. Er muss mit dem Namen im Parameter *Hostname* in der Proxy-Konfigurationsdatei übereinstimmen.|
|*Proxy group*|<|Wählen Sie eine Proxy-Gruppe für das [Load Balancing/Hochverfügbarkeit](/manual/distributed_monitoring/proxies/ha) des Proxys aus.|
|*Address for active agents*|<|Geben Sie die Adresse ein, mit der die überwachten aktiven Agenten oder Sender verbunden werden müssen. Unterstützt wird dies **nur** für Zabbix 7.0 Agenten oder neuer.<br>Diese Adresse wird für die Verbindung zu aktiven und passiven Proxys verwendet. Dieses Feld ist nur verfügbar, wenn im Feld *Proxy group* eine Proxy-Gruppe ausgewählt ist.|
| |*Address*|IP-Adresse/DNS-Name, mit dem verbunden werden soll.|
|^|*Port*|TCP-Portnummer (standardmäßig 10051), mit dem verbunden werden soll. Benutzer-Makros werden unterstützt.|
|*Proxy mode*|<|Wählen Sie den Proxy-Modus aus.<br>**Active** - der Proxy verbindet sich mit dem Zabbix-Server und fordert Konfigurationsdaten an<br>**Passive** - der Zabbix-Server verbindet sich mit dem Proxy<br>Beachten Sie, dass ohne verschlüsselte Kommunikation (sensible) Proxy-Konfigurationsdaten für Personen verfügbar werden können, die Zugriff auf den Zabbix-Server-Trapper-Port haben, wenn ein aktiver Proxy verwendet wird. Dies ist möglich, weil sich jeder als aktiver Proxy ausgeben und Konfigurationsdaten anfordern kann, wenn keine Authentifizierung stattfindet oder Proxy-Adressen im Feld *Proxy address* nicht eingeschränkt sind.|
|*Proxy address*|<|Falls angegeben, werden Anfragen des aktiven Proxys nur aus dieser Liste durch Kommas getrennter IP-Adressen, optional in CIDR-Notation, oder DNS-Namen des aktiven Zabbix-Proxys akzeptiert.<br>Dieses Feld ist nur verfügbar, wenn im Feld *Proxy mode* ein aktiver Proxy ausgewählt ist. Makros werden nicht unterstützt.|
|*Interface*|<|Geben Sie die Schnittstellendetails für einen passiven Proxy ein.<br>Dieses Feld ist nur verfügbar, wenn im Feld Proxy mode ein passiver Proxy ausgewählt ist.|
| |*Address*|IP-Adresse/DNS-Name des passiven Proxys.|
|^|*Port*|TCP-Portnummer des passiven Proxys (standardmäßig 10051). Benutzer-Makros werden unterstützt.|
|*Description*|<|Geben Sie die Proxy-Beschreibung ein.|

Die Registerkarte **Encryption** ermöglicht es Ihnen, [verschlüsselte Verbindungen](/manual/encryption) mit dem Proxy zu erzwingen.

|Parameter|Beschreibung|
|--|--------|
|*Connections to proxy*|Wie sich der Server mit dem passiven Proxy verbindet: ohne Verschlüsselung (Standard), mit PSK (pre-shared key) oder Zertifikat.|
|*Connections from proxy*|Wählen Sie aus, welche Verbindungstypen vom aktiven Proxy erlaubt sind. Mehrere Verbindungstypen können gleichzeitig ausgewählt werden (nützlich zum Testen und zum Wechsel zu einem anderen Verbindungstyp). Standard ist "No encryption".|
|*Issuer*|Zulässiger Aussteller des Zertifikats. Das Zertifikat wird zuerst mit der CA (Zertifizierungsstelle) validiert. Wenn es gültig ist und von der CA signiert wurde, kann das Feld *Issuer* verwendet werden, um die zulässige CA weiter einzuschränken. Dieses Feld ist optional und dafür vorgesehen, wenn Ihre Zabbix-Installation Zertifikate von mehreren CAs verwendet.|
|*Subject*|Zulässiger Subject des Zertifikats. Das Zertifikat wird zuerst mit der CA validiert. Wenn es gültig ist und von der CA signiert wurde, kann das Feld *Subject* verwendet werden, um nur einen Wert für die *Subject*-Zeichenfolge zuzulassen. Wenn dieses Feld leer ist, wird jedes gültige, von der konfigurierten CA signierte Zertifikat akzeptiert.|
|*PSK identity*|Identitätszeichenfolge des Pre-shared Key.<br>Geben Sie keine sensiblen Informationen in die PSK-Identität ein, da sie unverschlüsselt über das Netzwerk übertragen wird, um einem Empfänger mitzuteilen, welchen PSK er verwenden soll.|
|*PSK*|Pre-shared Key (Hex-String). Maximale Länge: 512 Hex-Ziffern (256-Byte-PSK), wenn Zabbix die Bibliothek GnuTLS oder OpenSSL verwendet, 64 Hex-Ziffern (32-Byte-PSK), wenn Zabbix die Bibliothek mbed TLS (PolarSSL) verwendet. Beispiel: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952|

Die Registerkarte **Timeouts** ermöglicht es Ihnen, [globale](/manual/web_interface/frontend_sections/administration/general#timeouts) Timeouts für unterstützte Datentypen zu überschreiben.

![](../../../assets/en/manual/distributed_monitoring/proxy_timeout.png){width="600"}

|Parameter|Beschreibung|
|--|--------|
|*Timeouts for item types*|Wählen Sie die Timeout-Option aus:<br>**Global** - das globale Timeout wird verwendet (angezeigt im ausgegrauten Feld *Timeout* für jeden Datentyp);<br>**Override** - ein benutzerdefiniertes Timeout wird verwendet (eingestellt im Feld *Timeout* für jeden Datentyp). Zulässiger Bereich: 1 - 600 s (Standard: von den [globalen](/manual/web_interface/frontend_sections/administration/general#timeouts) Timeouts übernommen). [Zeitsuffixe](/manual/appendix/suffixes#time-suffixes), z. B. 30s, 1m, und [Benutzer-Makros](/manual/config/macros/user_macros) werden unterstützt.<br><br>Wenn Sie auf den Link *Global timeouts* klicken, können Sie [globale](/manual/web_interface/frontend_sections/administration/general#timeouts) Timeouts konfigurieren. Beachten Sie, dass der Link *Global timeouts* nur für Benutzer vom Typ *Super admin* mit Berechtigungen für den Frontend-Bereich *Administration* → [*General*](/manual/web_interface/frontend_sections/administration/general) sichtbar ist.<br><br>Unterstützte Datentypen:<br>- [Zabbix agent](/manual/config/items/itemtypes/zabbix_agent) (sowohl passive als auch aktive Prüfungen)<br>- [Simple check](/manual/config/items/itemtypes/simple_checks) (außer `icmpping*`, `vmware.*` Datenpunkte)<br>- [SNMP agent](/manual/config/items/itemtypes/snmp) (nur für SNMP-Datenpunkte `walk[OID]` und `get[OID]`)<br>- [External check](/manual/config/items/itemtypes/external)<br>- [Database monitor](/manual/config/items/itemtypes/odbc_checks)<br>- [HTTP agent](/manual/config/items/itemtypes/http)<br>- [SSH agent](/manual/config/items/itemtypes/ssh_checks)<br>- [TELNET agent](/manual/config/items/itemtypes/telnet_checks)<br>- [Script](/manual/config/items/itemtypes/script)<br>- [Browser](/manual/config/items/itemtypes/browser)<br><br>Beachten Sie, dass die unter **Override** festgelegten Timeouts die globalen Timeouts überschreiben, jedoch von individuellen Datenpunkt-Timeouts überschrieben werden, wenn diese in der [Datenpunktkonfiguration](/manual/config/items/item#configuration) festgelegt sind.|

::: noteclassic
Wenn die Hauptversion des Proxys nicht mit der Hauptversion des Servers übereinstimmt,
wird neben *Timeouts for item types* das Symbol
![](../../../assets/en/manual/distributed_monitoring/info_yellow.png){class="nozoom"} angezeigt, mit der Meldung beim Darüberfahren
"Timeouts disabled because the proxy and server versions do not match".
In solchen Fällen verwendet der Proxy den Parameter [`Timeout`](/manual/appendix/config/zabbix_proxy#timeout) aus der Proxy-Konfigurationsdatei.
:::

Das Bearbeitungsformular eines vorhandenen Proxys verfügt über die folgenden zusätzlichen Schaltflächen:

-    *Refresh configuration* - Proxy-Konfiguration aktualisieren
-    *Clone* - einen neuen Proxy auf Grundlage der Eigenschaften des vorhandenen Proxys erstellen
-    *Delete* - den Proxy löschen

[comment]: # ({/e8649a6d-a5555aaf})

[comment]: # ({5fe15bb4-96c17aaf})
##### Host-Konfiguration

Sie können im Formular [Host-Konfiguration](/manual/config/hosts/host) festlegen, dass ein einzelner Host von einem Proxy oder einer Proxy-Gruppe überwacht werden soll, indem Sie das Feld *Überwacht von* verwenden.

![](../../../assets/en/manual/proxies/proxy_set.png){width="600"}

Die [Massenaktualisierung](/manual/config/hosts/hostupdate) für Hosts ist eine weitere Möglichkeit, festzulegen, dass Hosts von einem Proxy oder einer Proxy-Gruppe überwacht werden sollen.

[comment]: # ({/5fe15bb4-96c17aaf})
