1 Serveur

Aperçu

Le serveur Zabbix est le processus central du logiciel Zabbix.

Le serveur effectue l'interrogation et la réception des données, il calcule les déclencheurs, envoie des notifications aux utilisateurs. C'est le composant central auquel les agents et les proxys de Zabbix rapportent des données sur la disponibilité et l'intégrité des systèmes. Le serveur peut lui-même vérifier à distance les services en réseau (tels que les serveurs Web et les serveurs de messagerie) à l'aide de simples vérifications de service.

Le serveur est le référentiel central dans lequel sont stockées toutes les données de configuration, statistiques et opérationnelles, et c'est l'entité de Zabbix qui alertera activement les administrateurs lorsque des problèmes surviendront sur l'un des systèmes surveillés.

Le fonctionnement d'un serveur Zabbix de base est divisé en trois composants distincts ; ils sont : serveur Zabbix, interface web et stockage de base de données.

Toutes les informations de configuration de Zabbix sont stockées dans la base de données, avec laquelle interagissent le serveur et l'interface Web. Par exemple, lorsque vous créez un nouvel élément à l'aide de l'interface Web (ou l'API), il est ajouté à la table des éléments de la base de données. Ensuite, environ une fois par minute, le serveur Zabbix interroge la table des éléments pour obtenir une liste des éléments actifs qui sont ensuite stockés dans un cache dans le serveur Zabbix. C'est pourquoi cela peut prendre jusqu'à deux minutes pour que les modifications apportées dans l’interface utilisateur Zabbix apparaissent dans la dernière section de données.

Processus serveur

Si installé en tant que package

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

shell> service zabbix-server start

Cela fonctionnera sur la plupart des systèmes GNU/Linux. Sur d'autres systèmes, vous devrez peut-être exécuter :

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

De même, pour arrêter/redémarrer/afficher l'état, utilisez les commandes suivantes :

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

Si ce qui précède ne fonctionne pas, vous devez le démarrer manuellement. Recherchez le chemin d'accès au fichier binaire zabbix_server et exécutez :

shell> zabbix_server

Vous pouvez utiliser les paramètres de ligne de commande suivants avec le serveur Zabbix :

-c --config <file>              chemin vers le fichier de configuration (par défaut /usr/local/etc/zabbix_server.conf)
       -R --runtime-control <option>   effectue des fonctions administratives
       -h --help                       donne cet aide
       -V --version                    affiche le numéro de version 

Le runtime-control n'est pas supportée sur OpenBSD et NetBSD.

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

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

Option du Runtime control :

Option Description Cible
config_cache_reload Recharge le cache de configuration. Ignoré si le cache est en cours de chargement.
housekeeper_execute Démarre la procédure de nettoyage. Ignoré si la procédure de nettoyage est actuellement 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 pid - Process identifier (1 to 65535)

process type – Tous les processus d’un type spécifique (ex : poller)

process type,N – Type de processus et numéro (ex : poller,3)
log_level_decrease[=<target>] Diminue le niveau de journalisation, affecte tous les processus si la cible n'est pas spécifiée.

La plage autorisée de PID pour la modification du niveau de log d'un seul processus Zabbix est comprise entre 1 et 65535. Sur les systèmes avec de grands PID <type de processus, N> l’option target peut être utilisée pour modifier le niveau de journalisation d'un seul processus.

Exemple d'utilisation du runtime control pour recharger le cache de configuration du serveur :

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

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

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

Exemple d'utilisation du runtime control pour modifier le niveau de journalisation :

Augmente le niveau de journalisation de tous les processus :
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
       
       Augmente le niveau de journalisation du deuxième processus 'poller' :
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
       
       Augmente le niveau de journalisation du processus ayant le PID 1234:
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
       
       Diminue le niveau de journalisation de tous les processus 'http poller' :
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"
Processus utilisateur

Le serveur Zabbix est conçu pour fonctionner en tant qu'utilisateur non root. Il fonctionnera avec n’importe quel utilisateur non-root qui lancera les processus. Vous pouvez donc exécuter le serveur en tant qu'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 serveur en tant que 'root' si vous modifiez le paramètre 'AllowRoot' dans le fichier de configuration associé du serveur.



Si le serveur et agent Zabbix sont exécutés sur la même machine, il est recommandé d'utiliser un autre utilisateur pour exécuter le serveur que pour exécuter l'agent. Sinon, si les deux sont exécutés sous le même utilisateur, l'agent peut accéder au fichier de configuration du serveur et tout utilisateur de niveau Admin dans Zabbix peut facilement récupérer, par exemple, le mot de passe de la base de données.

Fichier de configuration

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

Scripts de démarrage

Les scripts sont utilisés pour démarrer/arrêter automatiquement les processus Zabbix pendant le démarrage/l'arrêt du système. Les scripts sont situés dans le répertoire misc/init.d.

Plates-formes supportées

En raison des exigences de sécurité et de la nature critique du fonctionnement du serveur, UNIX est le seul système d'exploitation capable de fournir systématiquement les performances, la tolérance aux pannes et la résilience nécessaires. Zabbix fonctionne sur les meilleures versions du marché.

Le serveur Zabbix a été testé sur les plateformes suivantes :

  • Linux
  • Solaris
  • AIX
  • HP-UX
  • Mac OS X
  • FreeBSD
  • OpenBSD
  • NetBSD
  • SCO Open Server
  • Tru64/OSF1

Zabbix peut également fonctionner sur d'autres systèmes d'exploitation de type Unix.

Environnement local

Notez que le serveur 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.

Locale

Note that the server requires a UTF-8 locale so that some textual items can be interpreted correctly. Most modern Unix-like systems have a UTF-8 locale as default, however, there are some systems where that may need to be set specifically.