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

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

[comment]: # ({c112bcf2-5a59cd81})
### Aperçu

Un proxy Zabbix peut collecter des données de performance et de disponibilité au nom du serveur Zabbix. De cette façon, un proxy peut prendre en charge une partie de la charge de collecte des données et décharger le serveur Zabbix.

De plus, l'utilisation d'un proxy est le moyen le plus simple de mettre en place une supervision centralisée et distribuée, lorsque tous les agents et proxies signalent à un seul serveur Zabbix et que toutes les données sont collectées de manière centralisée.

Un proxy Zabbix peut être utilisé pour :

-   Superviser des emplacements distants
-   Superviser des emplacements dont les communications sont peu fiables
-   Décharger le serveur Zabbix lors de la supervision de milliers d'appareils
-   Simplifier la maintenance de la supervision distribuée

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

Le proxy nécessite une seule connexion TCP au serveur Zabbix. Il est ainsi plus facile de contourner un pare-feu, car il suffit de configurer une seule règle de pare-feu.

::: noteimportant
Le proxy Zabbix doit utiliser une base de données distincte.
Le pointer vers la base de données du serveur Zabbix rompra la configuration.
:::

Toutes les données collectées par le proxy sont stockées localement avant d'être transmises au serveur. Ainsi, aucune donnée n'est perdue en raison de problèmes de communication temporaires avec le serveur. Les paramètres *ProxyLocalBuffer* et *ProxyOfflineBuffer* dans le [fichier de configuration du proxy](/manual/appendix/config/zabbix_proxy) contrôlent la durée pendant laquelle les données sont conservées localement.

::: noteimportant
Il peut arriver qu'un proxy, qui reçoit les dernières modifications de configuration directement depuis la base de données du serveur Zabbix, dispose d'une configuration plus à jour que le serveur Zabbix, dont la configuration peut ne pas être mise à jour aussi rapidement en raison de la valeur de [CacheUpdateFrequency](/manual/appendix/config/zabbix_server). Par conséquent, le proxy peut commencer à collecter des données et les envoyer au serveur Zabbix, qui ignore ces données.
:::

Le proxy Zabbix est un collecteur de données. Il ne calcule pas les déclencheurs, ne traite pas les événements et n'envoie pas d'alertes. Pour un aperçu des fonctionnalités du proxy, consultez le tableau suivant :

|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\] Pour s'assurer qu'un agent interroge le proxy (et non le serveur) pour les vérifications actives, le proxy doit être répertorié dans le paramètre **ServerActive** du fichier de configuration de l'agent.<br>
\[2\] Pour la LLD, le proxy Zabbix collecte et prétraite uniquement les données, puis les envoie au serveur Zabbix pour un traitement ultérieur.
:::

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

[comment]: # ({bde28545-737fe0c2})
##### Protection contre la surcharge

Si le serveur Zabbix a été arrêté pendant un certain temps et que les proxies ont collecté beaucoup de données, puis que le serveur démarre, il peut être surchargé (l'utilisation du cache d'historique reste à 95-100 % pendant un certain temps). Cette surcharge peut entraîner une dégradation des performances, les vérifications étant traitées plus lentement qu'elles ne le devraient. Une protection contre ce scénario a été mise en place afin d'éviter les problèmes liés à la surcharge du cache d'historique.

Lorsque le cache d'historique du serveur Zabbix est plein, l'accès en écriture au cache d'historique est limité, ce qui bloque les processus de collecte de données du serveur. Le cas de surcharge du cache d'historique le plus courant se produit après une indisponibilité du serveur, lorsque les proxies téléversent les données collectées. Pour éviter cela, une limitation du proxy a été ajoutée (actuellement, elle ne peut pas être désactivée).

Le serveur Zabbix cessera d'accepter les données des proxies lorsque l'utilisation du cache d'historique atteindra 80 %. Ces proxies seront alors placés dans une liste de limitation. Cela continuera jusqu'à ce que l'utilisation du cache redescende à 60 %. Le serveur commencera alors à accepter les données des proxies un par un, selon la liste de limitation. Cela signifie que le premier proxy ayant tenté de téléverser des données pendant la période de limitation sera servi en premier et que, tant qu'il n'aura pas terminé, le serveur n'acceptera pas les données des autres proxies.

Ce mode de limitation se poursuivra jusqu'à ce que l'utilisation du cache atteigne à nouveau 80 %, ou redescende à 20 %, ou que la liste de limitation soit vide. Dans le premier cas, le serveur cessera à nouveau d'accepter les données des proxies. Dans les deux autres cas, le serveur recommencera à fonctionner normalement et acceptera les données de tous les proxies.

Les informations ci-dessus peuvent être illustrées dans le tableau suivant :

|Utilisation du cache d'écriture <br>d'historique|Mode du serveur Zabbix|Action du serveur Zabbix|
|--|--|------|
|Atteint 80 % |Attente|Cesse d'accepter les données des proxies, mais conserve une *liste de limitation* (liste priorisée des proxies à contacter ultérieurement).|
|Descend à 60 % |Limité|Commence à traiter la liste de limitation, mais n'accepte toujours pas les données des proxies.|
|Descend à 20 % |Normal|Supprime la liste de limitation et commence à accepter normalement les données des proxies.|

Vous pouvez utiliser l'élément interne [zabbix[wcache,history,pused]](/manual/config/items/itemtypes/internal#wcache) pour corréler ce comportement du serveur Zabbix avec une métrique.

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

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

Une fois que vous avez [installé](/manual/installation/install) et
[configuré](/manual/appendix/config/zabbix_proxy) un proxy, il est temps
de le configurer dans l'interface Zabbix.

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

[comment]: # ({e8649a6d-a5555aaf})
##### Ajout de proxies

Pour configurer un proxy dans l'interface Zabbix:

-   Allez dans: *Administration → Proxies*
-   Cliquez sur *Créer un proxy*

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

|Parameter|<|Description|
|-|----------|----------------------------------------|
|*Proxy name*|<|Saisissez le nom du proxy. Il doit être identique au nom indiqué dans le paramètre *Hostname* du fichier de configuration du proxy.|
|*Proxy group*|<|Sélectionnez un groupe de proxy pour l'[équilibrage de charge/haute disponibilité](/manual/distributed_monitoring/proxies/ha).|
|*Address for active agents*|<|Saisissez l'adresse à laquelle les agents actifs ou les expéditeurs surveillés doivent se connecter. Pris en charge **uniquement** pour les agents Zabbix 7.0 ou version ultérieure.<br>Cette adresse est utilisée pour se connecter aux proxies actifs et passifs. Ce champ est disponible uniquement si un groupe de proxy est sélectionné dans le champ *Proxy group*.|
| |*Address*|Adresse IP/nom DNS auquel se connecter.|
|^|*Port*|Numéro de port TCP (10051 par défaut) auquel se connecter. Les macros utilisateur sont prises en charge.|
|*Proxy mode*|<|Sélectionnez le mode du proxy.<br>**Active** - le proxy se connectera au serveur Zabbix et demandera les données de configuration<br>**Passive** - le serveur Zabbix se connecte au proxy<br>Notez qu'en l'absence de communications chiffrées, les données de configuration du proxy (sensibles) peuvent devenir accessibles à des tiers ayant accès au port trapper du serveur Zabbix lors de l'utilisation d'un proxy actif. Cela est possible car n'importe qui peut se faire passer pour un proxy actif et demander des données de configuration si l'authentification n'a pas lieu ou si les adresses du proxy ne sont pas limitées dans le champ *Proxy address*.|
|*Proxy address*|<|Si ce champ est renseigné, les requêtes du proxy actif ne sont acceptées que depuis cette liste d'adresses IP séparées par des virgules, éventuellement en notation CIDR, ou depuis les noms DNS du proxy Zabbix actif.<br>Ce champ est disponible uniquement si un proxy actif est sélectionné dans le champ *Proxy mode*. Les macros ne sont pas prises en charge.|
|*Interface*|<|Saisissez les détails de l'interface pour un proxy passif.<br>Ce champ est disponible uniquement si un proxy passif est sélectionné dans le champ Proxy mode.|
| |*Address*|Adresse IP/nom DNS du proxy passif.|
|^|*Port*|Numéro de port TCP du proxy passif (10051 par défaut). Les macros utilisateur sont prises en charge.|
|*Description*|<|Saisissez la description du proxy.|

L'onglet **Encryption** permet d'exiger des [connexions chiffrées](/manual/encryption) avec le proxy.

|Parameter|Description|
|--|--------|
|*Connections to proxy*|Comment le serveur se connecte au proxy passif: sans chiffrement (par défaut), en utilisant PSK (clé prépartagée) ou un certificat.|
|*Connections from proxy*|Sélectionnez le type de connexions autorisées depuis le proxy actif. Plusieurs types de connexion peuvent être sélectionnés en même temps (utile pour les tests et pour basculer vers un autre type de connexion). La valeur par défaut est "No encryption".|
|*Issuer*|Émetteur de certificat autorisé. Le certificat est d'abord validé avec l'AC (autorité de certification). S'il est valide et signé par l'AC, le champ *Issuer* peut être utilisé pour restreindre davantage l'AC autorisée. Ce champ est facultatif et destiné à être utilisé si votre installation Zabbix utilise des certificats provenant de plusieurs AC.|
|*Subject*|Sujet de certificat autorisé. Le certificat est d'abord validé avec l'AC. S'il est valide et signé par l'AC, le champ *Subject* peut être utilisé pour n'autoriser qu'une seule valeur de chaîne *Subject*. Si ce champ est vide, tout certificat valide signé par l'AC configurée est accepté.|
|*PSK identity*|Chaîne d'identité de la clé prépartagée.<br>Ne mettez pas d'informations sensibles dans l'identité PSK, car elle est transmise non chiffrée sur le réseau afin d'indiquer au destinataire quelle PSK utiliser.|
|*PSK*|Clé prépartagée (chaîne hexadécimale). Longueur maximale: 512 chiffres hexadécimaux (PSK de 256 octets) si Zabbix utilise la bibliothèque GnuTLS ou OpenSSL, 64 chiffres hexadécimaux (PSK de 32 octets) si Zabbix utilise la bibliothèque mbed TLS (PolarSSL). Exemple: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952|

L'onglet **Timeouts** permet de remplacer les délais d'attente [globaux](/manual/web_interface/frontend_sections/administration/general#timeouts) pour les types d'éléments qui le prennent en charge.

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

|Parameter|Description|
|--|--------|
|*Timeouts for item types*|Sélectionnez l'option de délai d'attente:<br>**Global** - le délai d'attente global est utilisé (affiché dans le champ grisé *Timeout* pour chaque type d'élément);<br>**Override** - un délai d'attente personnalisé est utilisé (défini dans le champ *Timeout* pour chaque type d'élément). Plage autorisée: 1 - 600 s (par défaut: hérité des délais d'attente [globaux](/manual/web_interface/frontend_sections/administration/general#timeouts)). Les [suffixes de temps](/manual/appendix/suffixes#time-suffixes), par exemple 30s, 1m, ainsi que les [macros utilisateur](/manual/config/macros/user_macros) sont pris en charge.<br><br>Cliquer sur le lien *Global timeouts* permet de configurer les délais d'attente [globaux](/manual/web_interface/frontend_sections/administration/general#timeouts). Notez que le lien *Global timeouts* n'est visible que pour les utilisateurs de type *Super admin* disposant des autorisations sur la section de l'interface *Administration* → [*General*](/manual/web_interface/frontend_sections/administration/general).<br><br>Types d'éléments pris en charge:<br>- [agent Zabbix](/manual/config/items/itemtypes/zabbix_agent) (vérifications passives et actives)<br>- [Vérification simple](/manual/config/items/itemtypes/simple_checks) (sauf les éléments `icmpping*`, `vmware.*`)<br>- [agent SNMP](/manual/config/items/itemtypes/snmp) (uniquement pour les éléments SNMP `walk[OID]` et `get[OID]`)<br>- [Vérification externe](/manual/config/items/itemtypes/external)<br>- [Surveillance de base de données](/manual/config/items/itemtypes/odbc_checks)<br>- [agent HTTP](/manual/config/items/itemtypes/http)<br>- [agent SSH](/manual/config/items/itemtypes/ssh_checks)<br>- [agent TELNET](/manual/config/items/itemtypes/telnet_checks)<br>- [Script](/manual/config/items/itemtypes/script)<br>- [Navigateur](/manual/config/items/itemtypes/browser)<br><br>Notez que les délais d'attente définis sous **Override** prévaudront sur les délais globaux, mais seront remplacés par les délais d'attente individuels des éléments si ceux-ci sont définis dans la [configuration de l'élément](/manual/config/items/item#configuration).|

::: noteclassic
Si la version majeure du proxy ne correspond pas à la version majeure du serveur,
l'icône ![](../../../assets/en/manual/distributed_monitoring/info_yellow.png){class="nozoom"} sera affichée
à côté de *Timeouts for item types*, avec le message au survol
"Timeouts disabled because the proxy and server versions do not match".
Dans ce cas, le proxy utilisera le paramètre [`Timeout`](/manual/appendix/config/zabbix_proxy#timeout) du fichier de configuration du proxy.
:::

Le formulaire de modification d'un proxy existant comporte les boutons supplémentaires suivants:

-    *Refresh configuration* - actualiser la configuration du proxy
-    *Clone* - créer un nouveau proxy basé sur les propriétés du proxy existant
-    *Delete* - supprimer le proxy

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

[comment]: # ({5fe15bb4-96c17aaf})
##### Configuration de l'hôte

Vous pouvez spécifier qu'un hôte individuel doit être surveillé par un proxy ou un groupe de proxy dans le formulaire de [configuration de l'hôte](/manual/config/hosts/host), en utilisant le champ *Surveillé par*.

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

La [mise à jour en masse](/manual/config/hosts/hostupdate) des hôtes est une autre façon de spécifier que les hôtes doivent être surveillés par un proxy ou un groupe de proxy.

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