Surveillance distribuée à l'aide de proxies
Vue d'ensemble
Les proxies Zabbix peuvent être utilisés pour créer une configuration de supervision distribuée efficace et fiable.
Les proxies sont déployés localement pour collecter les données de performance et de disponibilité. Ensuite, les données sont transmises à un serveur centralisé.
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

Le proxy nécessite uniquement une 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.
Le proxy Zabbix doit utiliser une base de données distincte. Le faire 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 contrôlent la durée pendant laquelle les données sont conservées localement.
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. 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 | |
[1] Pour s'assurer qu'un agent interroge le proxy (et non le serveur) pour les vérifications actives, le proxy doit être indiqué dans le paramètre ServerActive du fichier de configuration de l'agent.
[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.
Fonctionnalités du proxy
Lors du choix d'utiliser ou non un proxy, plusieurs considérations doivent être prises en compte.
| Proxy | |
|---|---|
| Léger | Oui |
| GUI | Non |
| Fonctionne de manière autonome | Oui |
| Maintenance facile | Oui |
| Création automatique de la base de données | Oui1 |
| Administration locale | Non |
| Prêt pour le matériel embarqué | Oui |
| Connexions TCP à sens unique | Oui |
| Configuration centralisée | Oui |
| Génère des notifications | Non |
1 La fonctionnalité de création automatique de la base de données fonctionne uniquement avec SQLite. Les autres bases de données prises en charge nécessitent une configuration manuelle.
Le proxy Zabbix n'a pas connaissance des périodes de maintenance ; voir Calcul des files d'attente pendant la maintenance pour plus de détails.
Protection contre la surcharge
Si le serveur Zabbix a été arrêté pendant un certain temps, et que des 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 baisse 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 le plus courant de surcharge du cache d'historique 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).
Lorsque l'utilisation du cache d'historique atteint 80 %, le serveur Zabbix passe en mode de limitation. En mode de limitation, le serveur n'accepte les données des proxies que lorsque l'utilisation du cache d'historique est inférieure à 60 %, en faisant tourner les proxies acceptés. Une fois que l'utilisation du cache d'historique descend sous 20 %, le serveur revient en mode normal.
De plus, en mode normal, le serveur Zabbix limite les proxies individuels qui envoient des paquets très volumineux (plus de 10 000 enregistrements) si l'utilisation du cache d'historique dépasse 60 %.
Cette décision est prise au moment où le serveur évalue un téléversement de proxy et peut donc ne pas toujours apparaître immédiatement dans les graphiques d'utilisation du cache d'historique (l'élément interne zabbix[wcache,history,pused] et son intervalle de mise à jour peuvent manquer de courtes pointes).
Ce mode de limitation restera actif 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, en acceptant les données de tous les proxies.
Les informations ci-dessus peuvent être illustrées dans le tableau suivant :
| Utilisation du cache d'écriture de l'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). |
| Atteint 60 % | Normal, mais prêt à être limité | Peut refuser les téléversements de proxy très volumineux (plus de 10 000 enregistrements) lors de la décision d'acceptation des données ; continue d'accepter les autres données de proxy. |
| Descend à 20 % | Normal | Supprime la liste de limitation et recommence à accepter normalement les données des proxies. |
Vous pouvez utiliser l'élément interne zabbix[wcache,history,pused] pour corréler ce comportement du serveur Zabbix avec une métrique.
Configuration
Une fois que vous avez installé et configuré un proxy, il est temps de le configurer dans l'interface Zabbix.
Ajout de proxies
Pour configurer un proxy dans l’interface Zabbix :
- Accédez à Administration > Proxies.
- Cliquez sur Créer un proxy.
- Saisissez les paramètres du proxy dans le formulaire.

| Paramètre | Description | |
|---|---|---|
| Nom du proxy | Saisissez le nom du proxy. Il doit être identique au nom indiqué dans le paramètre Hostname du fichier de configuration du proxy. | |
| Groupe de proxies | Sélectionnez un groupe de proxies pour l’équilibrage de charge/la haute disponibilité du proxy. | |
| Adresse pour les agents actifs | Saisissez l’adresse à laquelle les agents actifs ou les émetteurs surveillés doivent se connecter. Pris en charge uniquement par les agents Zabbix 7.0 ou versions ultérieures. Cette adresse est utilisée pour se connecter aux proxies actifs et passifs. Ce champ est disponible uniquement si un groupe de proxies est sélectionné dans le champ Groupe de proxies. |
|
| Adresse | 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. | |
| Mode du proxy | Sélectionnez le mode du proxy. Actif - le proxy se connecte au serveur Zabbix et demande les données de configuration Passif - le serveur Zabbix se connecte au proxy Notez qu’en l’absence de communications chiffrées (sensibles), les données de configuration du proxy peuvent devenir accessibles aux parties 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 les données de configuration si aucune authentification n’a lieu ou si les adresses des proxies ne sont pas limitées dans le champ Adresse du proxy. |
|
| Adresse du proxy | Si elle est spécifiée, les demandes d’un proxy actif sont acceptées uniquement depuis cette liste d’adresses IP séparées par des virgules, éventuellement au format CIDR, ou de noms DNS du proxy Zabbix actif. Ce champ est disponible uniquement si un proxy actif est sélectionné dans le champ Mode du proxy. Les macros ne sont pas prises en charge. |
|
| Interface | Saisissez les détails de l’interface d’un proxy passif. Ce champ est disponible uniquement si un proxy passif est sélectionné dans le champ Mode du proxy. |
|
| Adresse | 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 Chiffrement vous permet d’exiger des connexions chiffrées avec le proxy.
| Paramètre | Description |
|---|---|
| Connexions vers le proxy | Méthode utilisée par le serveur pour se connecter au proxy passif : aucun chiffrement (par défaut), utilisation d’une clé prépartagée (PSK) ou d’un certificat. |
| Connexions depuis le proxy | Sélectionnez les types de connexions autorisés depuis le proxy actif. Plusieurs types de connexions peuvent être sélectionnés simultanément (utile pour les tests et le passage à un autre type de connexion). La valeur par défaut est « Aucun chiffrement ». |
| Émetteur | Émetteur autorisé du certificat. Le certificat est d’abord validé avec l’autorité de certification (CA). S’il est valide et signé par la CA, le champ Émetteur peut être utilisé pour restreindre davantage les CA autorisées. Ce champ est facultatif et destiné à être utilisé si votre installation Zabbix utilise des certificats provenant de plusieurs CA. |
| Sujet | Sujet autorisé du certificat. Le certificat est d’abord validé avec la CA. S’il est valide et signé par la CA, le champ Sujet peut être utilisé pour n’autoriser qu’une seule valeur de la chaîne Sujet. Si ce champ est vide, tout certificat valide signé par la CA configurée est accepté. |
| Identité PSK | Chaîne d’identité de la clé prépartagée. Ne placez pas d’informations sensibles dans l’identité PSK, car elle est transmise sans chiffrement sur le réseau afin d’indiquer au récepteur 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 Délais d’attente permet de remplacer les délais d’attente globaux pour les types d’éléments qui les prennent en charge.

| Paramètre | Description |
|---|---|
| Délais d’attente pour les types d’éléments | Définissez le délai d’attente de l’élément (en fonction de son type) : Global - utiliser le délai d’attente global (affiché dans le champ Délai d’attente grisé pour chaque type d’élément) ; Remplacer - définir un délai d’attente personnalisé (dans le champ Délai d’attente pour chaque type d’élément). Plage autorisée : 1 à 600 s (par défaut : hérité des délais d’attente globaux). Les suffixes de durée, par exemple 30s, 1m, ainsi que les macros utilisateur sont pris en charge. Cliquer sur le lien Délais d’attente globaux permet de configurer les délais d’attente globaux. Notez que le lien Délais d’attente globaux est visible uniquement par les utilisateurs de type Super administrateur disposant des autorisations nécessaires pour accéder à la section Administration > Général de l’interface. Notez que, bien que les délais d’attente au niveau du proxy remplacent les délais globaux, ils sont remplacés par les délais d’attente individuels des éléments, s’ils sont configurés. |
Si la version majeure du proxy ne correspond pas à celle du serveur, l’icône
s’affiche à côté de Délais d’attente pour les types d’éléments, avec le message au survol « Délais d’attente désactivés, car les versions du proxy et du serveur ne correspondent pas ».
Dans ce cas, le proxy utilise le paramètre Timeout du fichier de configuration du proxy.
Le formulaire de modification d’un proxy existant comporte les boutons supplémentaires suivants :
- Actualiser la configuration - actualiser la configuration du proxy ;
- Cloner - créer un nouveau proxy à partir des propriétés du proxy existant ;
- Supprimer - supprimer le proxy.
Configuration de l'hôte
Vous pouvez indiquer 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, à l'aide du champ Surveillé par.

La mise à jour en masse des hôtes est une autre façon d'indiquer que les hôtes doivent être surveillés par un proxy ou un groupe de proxy.