Surveillance distribuée à l'aide de proxies
Vue d’ensemble
Les proxy Zabbix peuvent être utilisés pour créer une configuration de supervision distribuée efficace et fiable.
Les proxy sont déployés localement afin de collecter les données de performance et de disponibilité. Les données sont ensuite transmises à un serveur centralisé.
Un proxy Zabbix peut être utilisé pour :
- Superviser des sites distants
- Superviser des sites dont les communications sont peu fiables
- Décharger le serveur Zabbix lors de la supervision de milliers d’appareils
- Collecter des données de télémétrie pour la supervision des performances des applications (APM)

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.
Le proxy Zabbix doit utiliser une base de données distincte. Le pointer vers la base de données du serveur Zabbix entraînera une corruption de 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 temporaires de communication avec le serveur.
Les paramètres ProxyLocalBuffer et ProxyOfflineBuffer du 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 directement les dernières modifications de configuration 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 actualisée 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 obtenir une vue d’ensemble des fonctionnalités du proxy, consultez le tableau suivant :
| Fonction | Prise en charge par le proxy | |
|---|---|---|
| Éléments | ||
| Vérifications par Zabbix agent | Oui | |
| Vérifications par Zabbix agent (actives) | Oui 1 | |
| Vérifications simples | Oui | |
| Éléments trapper | Oui | |
| Vérifications SNMP | Oui | |
| Traps SNMP | Oui | |
| Vérifications IPMI | Oui | |
| Vérifications JMX | Oui | |
| Supervision des fichiers journaux | Oui | |
| Vérifications internes | Oui | |
| Vérifications SSH | Oui | |
| Vérifications Telnet | Oui | |
| Vérifications externes | Oui | |
| Éléments dépendants | Oui | |
| Éléments de type script | Oui | |
| Éléments de type navigateur | Oui | |
| Éléments de requête de télémétrie | Oui | |
| Supervision web intégrée | Oui | |
| Prétraitement des valeurs des éléments | Oui | |
| Découverte réseau | Oui | |
| Enregistrement automatique des agents actifs | Oui | |
| Découverte de bas niveau | Oui 2 | |
| Commandes à distance | Oui | |
| Collecte de données de télémétrie (APM) | Oui 3 | |
| Calcul des déclencheurs | Non | |
| Traitement des événements | Non | |
| Corrélation des événements | Non | |
| Envoi d’alertes | Non | |
[1] Pour s’assurer qu’un agent demande les vérifications actives au proxy (et non au serveur), le proxy doit être indiqué dans le paramètre ServerActive du fichier de configuration de l’agent.
[2] Pour la découverte de bas niveau, le proxy Zabbix collecte et prétraite uniquement les données, puis les envoie au serveur Zabbix pour un traitement ultérieur.
[3] Les données de télémétrie sont collectées uniquement si l’APM est activé sur le proxy (voir l’onglet APM dans la configuration du proxy) ; le serveur Zabbix ne peut pas recevoir de données de télémétrie.
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 est arrêté pendant un certain temps et que les proxy ont collecté beaucoup de données, puis que le serveur redémarre, il peut être surchargé (l'utilisation du cache de l'historique reste comprise entre 95 et 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 de l'historique.
Lorsque le cache de l'historique du serveur Zabbix est plein, l'accès en écriture au cache de l'historique est limité, ce qui ralentit les processus de collecte des données du serveur. Le cas le plus courant de surcharge du cache de l'historique survient après l'arrêt du serveur, lorsque les proxy téléversent les données collectées. Pour éviter cela, une limitation des proxy a été ajoutée (elle ne peut actuellement pas être désactivée).
Lorsque l'utilisation du cache de l'historique atteint 80 %, le serveur Zabbix passe en mode de limitation. Dans ce mode, le serveur n'accepte les données des proxy que lorsque l'utilisation du cache de l'historique est inférieure à 60 %, en alternant les proxy acceptés. Lorsque l'utilisation du cache de l'historique descend sous 20 %, le serveur repasse en mode normal.
De plus, lorsque l'utilisation du cache de l'historique dépasse 60 %, le serveur Zabbix peut différer certains proxy en mode normal si leurs téléversements sont tronqués en raison des limites de téléversement.
Cette décision est appliquée au moment où le serveur évalue le téléversement d'un proxy et peut donc ne pas apparaître immédiatement dans les graphiques d'utilisation du cache de l'historique (l'élément interne zabbix[wcache,history,pused] et son intervalle de mise à jour peuvent ne pas détecter de brèves pointes).
Ce mode de limitation se poursuit jusqu'à ce que l'utilisation du cache atteigne à nouveau 80 %, descende à 20 % ou que la liste de limitation soit vide. Dans le premier cas, le serveur cesse à nouveau d'accepter les données des proxy. Dans les deux autres cas, le serveur reprend son fonctionnement normal et accepte les données de tous les proxy.
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 |
|---|---|---|
| Supérieure à 60 % (en mode « Normal », jusqu'à atteindre 80 %) | Normal | Diffère les proxy dont le lot de téléversement a été tronqué en raison des limites de téléversement ; continue d'accepter les autres proxy. |
| Atteint 80 % | Attente | Cesse d'accepter les données des proxy, mais conserve une liste de limitation (une liste priorisée des proxy à contacter ultérieurement). |
| Descend sous 60 % (après le mode « Attente ») | Limitation | Recommence à accepter les données des proxy en alternant les proxy de la liste de limitation. |
| Descend sous 20 % (après le mode « Limitation ») | Normal | Supprime la liste de limitation et recommence à accepter normalement les données des proxy. |
Vous pouvez utiliser l'élément interne zabbix[wcache,history,pused] pour mettre en corrélation 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
Au lieu d'installer un proxy sur votre propre infrastructure, vous pouvez en déployer un dans Zabbix Cloud. Pour ce faire, cliquez sur Create proxy in Cloud dans Administration > Proxies ; Zabbix Cloud s'ouvrira dans un nouvel onglet du navigateur. Après avoir créé un nœud proxy, configurez le proxy dans l'interface Zabbix comme décrit ci-dessous. Pour plus d'informations, consultez Configurer un proxy Zabbix Cloud.
Pour configurer un proxy dans l'interface Zabbix :
- Accédez à Administration > Proxies.
- Cliquez sur Create proxy.
- Saisissez les paramètres du proxy dans le formulaire.

| 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 proxies pour l'équilibrage de charge/la haute disponibilité des proxies. | |
| Address for active agents | 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 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. Active - le proxy se connecte au serveur Zabbix et demande les données de configuration Passive - 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 Proxy address. |
|
| Proxy address | Si ce champ est renseigné, 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 Proxy mode. 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 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 avec le proxy.
| Parameter | Description |
|---|---|
| Connections to proxy | Méthode utilisée par le serveur pour se connecter au proxy passif : sans chiffrement (par défaut), avec une clé prépartagée (PSK) ou avec un certificat. |
| Connections from 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 « No encryption ». |
| Issuer | É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 Issuer peut être utilisé pour restreindre davantage les CA autorisées. Ce champ est facultatif et est destiné à être utilisé si votre installation Zabbix utilise des certificats provenant de plusieurs CA. |
| Subject | Sujet autorisé du certificat. Le certificat est d'abord validé avec la CA. S'il est valide et signé par la CA, le champ Subject peut être utilisé pour n'autoriser qu'une seule valeur de la chaîne Subject. Si ce champ est vide, tout certificat valide signé par la CA configurée est accepté. |
| PSK identity | Chaîne d'identité de la clé prépartagée. Ne placez pas d'informations sensibles dans l'identité PSK : 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 APM permet de configurer la surveillance des performances des applications (APM) sur le proxy. Le proxy peut collecter les données de télémétrie (traces, métriques et journaux) envoyées par les applications ou les collecteurs OpenTelemetry via le protocole OpenTelemetry (OTLP/gRPC), et écrire ces données dans la source de données de télémétrie.

| Parameter | Description | |
|---|---|---|
| Data collection enabled | Cochez la case pour activer la collecte des données de télémétrie sur le proxy. Avant d'activer la collecte des données de télémétrie, définissez le paramètre StartAPMCollector sur 1 dans le fichier de configuration du proxy (nécessite un proxy Zabbix avec prise en charge de l'APM). |
|
| Max messages per second | Définissez le nombre maximal de messages par seconde que le proxy accepte : Unlimited - accepter tous les messages entrants. Custom - accepter jusqu'au nombre de messages par seconde indiqué. Un message est une demande OTLP envoyée par une application, un collecteur OpenTelemetry ou une autre source de télémétrie. Sa taille dépend de l'émetteur ; par exemple, un collecteur OpenTelemetry peut regrouper des milliers de spans dans un seul message, tandis qu'une application simple peut envoyer des messages plus petits (par exemple, un par trace). Si la limite est dépassée, le proxy répond avec le code d'état gRPC UNAVAILABLE (erreur temporaire), de sorte que l'émetteur puisse réessayer d'envoyer le message ultérieurement, selon sa configuration. |
|
| Resource attributes | Indiquez les attributs de ressource à ajouter aux données de télémétrie entrantes de la catégorie sélectionnée (par exemple, pour marquer toutes les données reçues par ce proxy avec son environnement ou sa région). Vous pouvez ensuite utiliser ces attributs pour filtrer les données de télémétrie, par exemple dans les conditions des éléments de requête de télémétrie. Si les données entrantes contiennent déjà un attribut de ressource avec la même clé, l'attribut entrant est conservé à la place de celui indiqué ici. |
|
| Key | Saisissez la clé de l'attribut (par exemple, deployment.environment, cloud.region). Elle doit être unique pour la Category sélectionnée. |
|
| Value | Saisissez la valeur de l'attribut (par exemple, production, eu-central-1). Peut être vide. |
|
| Category | Sélectionnez la catégorie des données entrantes à laquelle l'attribut s'applique : Traces, Metrics ou Logs. | |
L'onglet Timeouts permet de remplacer les délais d'attente globaux pour les types d'éléments qui prennent cette fonction en charge.

| Parameter | Description |
|---|---|
| Timeouts for item types | 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 Timeout grisé pour chaque type d'élément) ; Override - définir un délai d'attente personnalisé (dans le champ Timeout de chaque type d'élément). Plage autorisée : 1 à 600 s (valeur par défaut : héritée des délais d'attente globaux). Les suffixes de durée, par exemple 30s et 1m, ainsi que les macros utilisateur sont pris en charge. Cliquer sur le lien Global timeouts permet de configurer les délais d'attente globaux. Notez que le lien Global timeouts est visible uniquement par les utilisateurs de type Super admin disposant d'autorisations sur la section d'interface Administration > General. 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 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 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 :
- Refresh configuration - actualiser la configuration du proxy ;
- Clone - créer un nouveau proxy à partir des propriétés du proxy existant ;
- Delete - 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.