This is a translation of the original English documentation page. Help us make it better.

3 Proxy

Aperçu

Le proxy Zabbix est un processus qui peut collecter des données de surveillance à partir d'un ou plusieurs équipements surveillés et envoyer les informations au serveur Zabbix, en travaillant essentiellement pour le compte du serveur. Toutes les données collectées sont bufferisées localement puis transférées au serveur Zabbix auquel appartient le proxy.

Le déploiement d'un proxy est facultatif, mais peut s'avérer très utile pour répartir la charge d'un seul serveur Zabbix. Si seuls les proxys collectent des données, le traitement sur le serveur devient moins gourmand en CPU et en E/S disque.

Un proxy Zabbix est la solution idéale pour la surveillance centralisée des sites distants, des succursales et des réseaux sans administrateurs locaux.

Le proxy Zabbix nécessite une base de données séparée.

Notez que les bases de données supportées avec le proxy Zabbix sont SQLite, MySQL et PostgreSQL. L'utilisation d'Oracle est à vos propres risques et peut contenir certaines limitations, par exemple, dans les valeurs de retour des règles de découverte de bas niveau.

Voir aussi : Utilisation des proxys dans un environnement distribué

Exécution du Proxy

Si installé en tant que package

Le proxy Zabbix s'exécute en tant que processus démon. Le proxy peut être démarré en exécutant :

shell> service zabbix-proxy start

Cela fonctionnera sur la plupart des systems GNU/Linux. Sur les autres systèmes vous devrez exécuter :

shell> /etc/init.d/zabbix-proxy start

De la même manière, pour arrêter/redémarrer/voir le statut du proxy Zabbix, utilisez les commandes suivantes :

shell> service zabbix-proxy stop
       shell> service zabbix-proxy restart
       shell> service zabbix-proxy status
Démarrage manuel

Si les commandes précédentes ne fonctionnent pas, vous devrez démarrer le proxy manuellement. Trouvez le chemin des binaires de zabbix_proxy et exécutez :

shell> zabbix_proxy

Vous pouvez utilizer les paramètres de lignes de commande suivants avec le proxy Zabbix :

-c --config <file>              chemin du fichier de configuration
       -f --foreground              exécute le proxy Zabbix au premier plan
       -R --runtime-control <option>   effectue des fonctions administratives
       -h --help                       affiche cette aide
       -V --version                    affiche le numéro de version

Exemples d’exécution du proxy Zabbix avec des paramètres de ligne de commande :

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
       shell> zabbix_proxy --help
       shell> zabbix_proxy -V 
Runtime control

Options du runtime control :

Option Description Cible
config_cache_reload Recharge le cache de configuration. Ignoré si le cache est en cours de chargement.
Le proxy actif Zabbix se connectera au serveur Zabbix pour demande les données de configuration.
diaginfo[=<target>] Rassemble les informations de diagnostic dans le fichier journal du proxy. historycache - statistiques du cache de l'historique
preprocessing - statistiques du gestionnaire de prétraitement
locks - liste des mutex (vide sur les systèmes **BSD*)
snmp_cache_reload Recharge le cache SNMP, efface les propriétés SNMP (heure du moteur, démarrages du moteur, ID du moteur, informations d'identification) pour tous les hôtes.
housekeeper_execute Démarre la procédure de nettoyage. Ignoré si la procédure de nettoyage est en cours d'exécution.
log_level_increase[=<target>] Augmente le niveau de journalisation, affecte tous les processus si la cible n'est pas spécifiée.
Non supporté sur les systèmes **BSD*.
process type - Tous les processus du type spécifié (ex : poller)
Voir tous les types de processus du proxy.
process type,N - Type de processus et leur numéro (ex : poller,3)
pid - Identifiant du processus (1 à 65535). Pour les valeurs plus grandes spécifiez la cible telle que 'process type,N'.
log_level_decrease[=<target>] Diminue le niveau de journalisation, affecte tous les processus si la cible n'est pas spécifiée.
Non supporté sur les systèmes **BSD*.
prof_enable[=<target>] Active le profilage.
Affecte tous les processus si la cible n'est pas spécifiée.
Le profilage activé fournit des détails sur tous les rwlocks/mutexes par nom de fonction.
Pris en charge depuis Zabbix 6.0.13.
process type - Tous les processus du type spécifié (par exemple, history syncer)
Voir tous les types de processus de proxy.
process type,N - Type et nombre de processus (par exemple, history syncer,1)
pid - Identifiant du processus (1 à 65535). Pour des valeurs supérieures, spécifiez la cible comme 'process type,N'.

scope - rwlock, mutex, processing peut être utilisé avec le type et le numéro de processus (par exemple, history syncer,1,processing)
prof_disable[=<target>] Désactiver le profilage.
Affecte tous les processus si la cible n'est pas spécifiée.
Pris en charge depuis Zabbix 6.0.13.
process type - Tous les processus du type spécifié (par exemple, history syncer)
Voir tous les types de processus de proxy.
process type,N - Type et nombre de processus (par exemple, history syncer,1)
pid - Identifiant du processus (1 à 65535). Pour des valeurs supérieures, spécifiez la cible comme 'process type,N'.

Exemple d’utilisation du runtime control pour recharger le cache de configuration du proxy :

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload

Exemples d'utilisation du contrôle d'exécution pour collecter des informations de diagnostic :

Rassembler toutes les informations de diagnostic disponibles dans le fichier journal du proxy :
       shell> zabbix_proxy -R diaginfo
       
       Rassembler les statistiques du cache de l'historique dans le fichier journal du proxy :
       shell> zabbix_proxy -R diaginfo=historycache

Exemple d'utilisation du contrôle d'exécution pour recharger le cache SNMP :

shell> zabbix_proxy -R snmp_cache_reload  

Exemple d’utilisation du runtime control pour déclencher l’exécution du nettoyage :

shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute

Exemples d’utilisation du runtime control pour changer le niveau de journalisation :

Augmenter le niveau de journalisation de tous les processus :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
       
       Augmenter le niveau de journalisation du second processus poller :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
       
       Augmenter le niveau de journalisation du processus ayant le PID 1234 :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
       
       Diminuer le niveau de journalisation de tous les processus http poller :
       shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
Processus utilisateur

Le proxy Zabbix est conçu pour s'exécuter en tant qu'utilisateur non root. Il fonctionnera comme n'importe quel utilisateur non-root. Vous pouvez donc exécuter le proxy comme n'importe quel utilisateur non root sans aucun problème.

Si vous essayez de l'exécuter en tant que 'root', il passera à un utilisateur 'zabbix' codé en dur, qui doit être présent sur votre système. Vous pouvez uniquement exécuter le proxy en tant que 'root' si vous modifiez le paramètre 'AllowRoot' dans le fichier de configuration du proxy associé.

Fichier de configuration

Voir les options du fichier de configuration pour les détails sur la configuration de zabbix_proxy.

Types de processus du Proxy

  • ​availability manager​ - processus de mise à jour de la disponibilité de l'hôte
  • ​configuration syncer​ - processus pour gérer le cache mémoire des données de configuration
  • ​data sender​ - permet au proxy d'envoyer les données
  • ​discoverer​ - processus pour la découvertes des équipements
  • ​heartbeat sender​ - permet au proxy d'envoyer les tests de vie ​
  • ​history syncer​ - écriture en base de données de l'historique
  • ​history poller​ - processus de traitement des contrôles calculés, agrégés et internes nécessitant une connexion à une base de données
  • ​housekeeper​ - processus pour supprimer les anciennes données d'historique
  • ​http poller​ - poller pour la supervision web
  • ​icmp pinger​ - poller pour les vérifications icmpping
  • ​ipmi manager​ - gestionnaire de poller IPMI
  • ​ipmi poller​ - poller pour les vérifications IPMI
  • ​java poller​ - poller pour les vérifications Java
  • odbc poller - poller pour les vérifications ODBC
  • ​poller​ - poller normal pour les vérifications passives
  • ​preprocessing manager​ - responsable des tâches de prétraitement
  • ​preprocessing worker​ - processus de prétraitement des données
  • ​self-monitoring​ - processus collectant les statistiques internes du servuer
  • ​snmp trapper​ - trapper pour les traps SNMP
  • ​task manager​ - processus pour l'exécution à distance de tâches demandées par d'autres composants (ex : fermeture d'un problème, acquittement d'un problème, vérifier maintenant un élément, fonctionnalité de commande à distance)
  • ​trapper​ - trapper pour les vérifications actives, traps, communication avec le proxy
  • ​unreachable poller​ - poller pour équipements injoignables
  • ​vmware collector​ - Collecteur de données VMware responsable de récupérer les données des services VMware

Le fichier journal du proxy peut être utilisé pour observer ces types de processus.

Plusieurs types de processus proxy Zabbix peuvent être supervisés en utilisant l'élément interne zabbix[process,<​type>,<​mode>,<​state>​].

Plateformes supportées

Le proxy Zabbix s’exécute sur la même liste de plateformes supportées que le serveur Zabbix.

Environnement Local

Notez que le proxy requiert un environnement local UTF-8 afin que certains éléments textuels puissent être interprétés correctement. La plupart des systèmes modernes de type Unix ont un paramètre régional UTF-8 par défaut, cependant, certains systèmes peuvent avoir besoin d'être définis spécifiquement.