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.
Le serveur Zabbix s'exécute en tant que processus démon. Le serveur peut être démarré en exécutant :
Cela fonctionnera sur la plupart des systèmes GNU/Linux. Sur d'autres systèmes, vous devrez peut-être exécuter :
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
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 :
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
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 :
Exemple d'utilisation du runtime control pour déclencher l'exécution du nettoyage :
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"
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.
Voir les options du fichier de configuration pour plus de détails sur la configuration de zabbix_server.
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.
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 :
Zabbix peut également fonctionner sur d'autres systèmes d'exploitation de type Unix.
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.
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.