Vous pouvez obtenir la dernière version de Zabbix en la compilant à partir des sources.
Un didacticiel étape par étape pour l'installation de Zabbix à partir des sources est fourni ici.
Rendez-vous sur la page de téléchargement de Zabbix et téléchargez l'archive contenant les sources. Une fois téléchargée, extraire les sources en exécutant :
Renseigner la version de Zabbix correspondante dans la commande. Cela doit correspondre au nom de l'archive téléchargée.
Pour tous les processus démons Zabbix, un utilisateur sans privilège est nécessaire. Si un démon Zabbix est démarré avec un utilisateur sans privilège, il s'exécutera en tant que cet utilisateur.
Cependant, si un démon est démarré à partir d'un compte 'root', il passera à un compte utilisateur 'zabbix', qui doit être présent. Pour créer un tel compte utilisateur (dans son propre groupe, "zabbix"),
sur les systèmes RedHat, exécutez :
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
sur les systèmes Debian, exécutez :
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Les processus Zabbix n'ont pas besoin d'un répertoire de base, c'est pourquoi nous vous déconseillons de le créer. Toutefois, si vous utilisez une fonctionnalité qui le nécessite (par exemple, stocker les informations d'identification MySQL dans $HOME/.my.cnf
), vous êtes libre de le créer à l'aide des commandes suivantes.
Sur les systèmes RedHat, exécutez :
Sur les systèmes Debian, exécutez :
Un compte utilisateur distinct n'est pas nécessaire pour installation de l’interface utilisateur de Zabbix.
Si le serveur et l'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 récupérer très facilement, par exemple, le mot de passe de la base de données.
L'exécution de Zabbix en tant que root, bin ou tout autre compte avec des droits spéciaux constitue un risque de sécurité.
Pour les démons serveur et proxy, tout comme pour l'interface Web, une base de données est nécessaire. Cela n’est pas nécessaire pour l'agent Zabbix.
Des scripts SQL sont fournis pour créer le schéma de base de données et insérer l'ensemble de données. La base de données du proxy Zabbix n'a besoin que du schéma tandis que la base de données du serveur Zabbix requiert également l'ensemble de données au-dessus du schéma.
Après avoir créé la base de données Zabbix, passez aux étapes suivantes de la compilation de Zabbix.
Lors de la configuration des sources pour un serveur ou un proxy Zabbix, vous devez spécifier le type de base de données à utiliser. Un seul type de base de données peut être compilé avec un serveur ou un processus proxy à la fois.
Pour voir toutes les options de configuration prises en charge, depuis le répertoire des sources Zabbix extrait, exécutez :
Pour configurer les sources pour l'agent et le serveur Zabbix, vous devrez exécuter quelque chose comme :
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
Pour la surveillance des machines virtuelles, les options de configuration --with-libcurl
et --with-libxml2
sont nécessaires ; --with-libcurl
est également requis pour l'authentification SMTP et les éléments d'agent Zabbix web.page.*
. Notez que cURL 7.20.0 ou supérieur est requis avec l'option de configuration --with-libcurl
.
Depuis la version 3.4.0, Zabbix sera toujours compilé avec la bibliothèque PCRE ; l'installer n'est pas optionnel. --with-libpcre=[DIR] permet uniquement de pointer vers un répertoire spécifique d'installation, au lieu de rechercher un certain nombre d'emplacements communs pour les fichiers libpcre.
Pour configurer les sources pour un serveur Zabbix (avec PostgreSQL etc.), vous devrez exécuter :
Pour configurer les sources pour un proxy Zabbix (avec SQLite etc.), vous devrez exécuter :
Pour configurer les sources pour un agent Zabbix, vous devrez exécuter :
Vous pouvez utiliser le flag --enable-static pour lier statiquement les bibliothèques. Si vous envisagez de distribuer des fichiers binaires compilés entre différents serveurs, vous devez utiliser ce flag pour que ces fichiers binaires fonctionnent sans les bibliothèques requises. Notez que --enable-static ne fonctionne pas sous Solaris.
Utiliser l'option --enable-static n'est pas recommandé lors de la construction du serveur.
Afin de construire le serveur de manière statique, vous devez avoir une version statique de chaque bibliothèque externe nécessaire. Il n'y a pas de vérification stricte pour cela dans le script de configuration.
Les utilitaires de ligne de commande zabbix_get et zabbix_sender sont compilés si l'option --enable-agent est utilisée.
Ajoutez un chemin optionnel vers le fichier de configuration MySQL --with-mysql=/<path_to_the_file>/mysql_config pour sélectionner la bibliothèque client MySQL souhaitée quand il est nécessaire d'en utiliser une qui ne se trouve pas à l'emplacement par défaut.
C'est utile quand plusieurs versions de MySQL sont installées ou que MariaDB est installé avec MySQL sur le même système.
Utilisez l’option --with-ibm-db2 pour spécifier l'emplacement de l'API CLI.\\Utilisez l'option --with-oracle pour spécifier l'emplacement de l'API OCI.
Pour la prise en charge du chiffrement, voir Compilation de Zabbix avec prise en charge du chiffrement.
Si vous installez à partir d’un git, il est nécessaire d'exécuter d'abord :
$ make dbschema
Cette étape doit être exécutée en tant qu'utilisateur avec des autorisations suffisantes (généralement 'root', ou en utilisant sudo
).
L'exécution de make install
installera par défaut les binaires du démon (zabbix_server, zabbix_agentd, zabbix_proxy) dans /usr/local/sbin et les binaires clients (zabbix_get, zabbix_sender) dans /usr/local/bin.
Pour spécifier un emplacement différent de /usr/local, utilisez une clé --prefix à l'étape précédente de la configuration des sources, par exemple --prefix=/home/zabbix. Dans ce cas, les fichiers binaires seront installés sous <prefix>/sbin, tandis que les utilitaires seront sous <prefix>/bin. Les pages man seront installées sous <prefix>/share.
Vous devez configurer ce fichier pour chaque hôte où zabbix_agentd est installé.
Vous devez spécifier l'adresse IP du serveur Zabbix dans le fichier. Les connexions des autres hôtes seront refusées.
Vous devez spécifier le nom de la base de données, l'utilisateur et le mot de passe (si vous en utilisez un).
Le reste des paramètres vous conviendra avec leurs valeurs par défaut si vous avez une petite installation (jusqu'à dix hôtes surveillés). Vous devriez changer les paramètres par défaut si vous voulez maximiser les performances du serveur Zabbix (ou du proxy). Voir la section de réglage des performances pour plus de détails.
Vous devez spécifier l'adresse IP du serveur et le nom d'hôte du proxy (qui doit être connu du serveur), ainsi que le nom de la base de données, l'utilisateur et le mot de passe (si vous en utilisez un).
Avec SQLite, le chemin complet du fichier de la base de données doit être spécifié ; l'utilisateur de la base de données et le mot de passe ne sont pas obligatoires.
Exécuter zabbix_server sur le serveur Zabbix.
Assurez-vous que votre système autorise l'allocation de 36 Mo (ou un peu plus) de mémoire partagée, sinon le serveur risque de ne pas démarrer et vous verrez "Impossible d'allouer de la mémoire partagée pour <type de cache>" dans le fichier journal du serveur. Cela peut arriver sur FreeBSD, Solaris 8.
Voir la section "Voir aussi" au bas de cette page pour savoir comment configurer la mémoire partagée.
Exécuter zabbix_agentd sur les machines supervisées.
Assurez-vous que votre système autorise l'allocation de 2 Mo de mémoire partagée, sinon l'agent risque de ne pas démarrer et vous verrez "Impossible d'allouer de la mémoire partagée pour le collecteur" dans le fichier journal de l'agent. Cela peut arriver sur Solaris 8.
Si vous avez installé un proxy Zabbix, lancer zabbix_proxy.
L'interface Zabbix est écrite en PHP, donc pour l'exécuter, un serveur web qui supporte PHP est nécessaire. L'installation se fait simplement en copiant les fichiers PHP depuis frontends/php vers le répertoire HTML du serveur web.
Les emplacements communs des répertoires HTML pour les serveurs Web Apache incluent :
Il est suggéré d'utiliser un sous-répertoire à la place de la racine HTML. Pour créer un sous-répertoire et y copier des fichiers frontaux Zabbix, exécutez les commandes suivantes en remplaçant le répertoire actuel :
Si vous installez à partir d’un git et prévoyez d'utiliser une autre langue que l'anglais, vous devez générer des fichiers de traduction. Pour ce faire, exécutez :
L'utilitaire msgfmt
du package gettext est requis.
En outre, pour utiliser une autre langue que l'anglais, les paramètres régionaux doivent être installés sur le serveur Web. Voir la section "Voir aussi" dans la page "Profil de l'utilisateur" pour savoir comment l'installer si nécessaire.
Depuis Zabbix 4.0.8, les permissions en écriture sur le répertoire assets
sont obligatoires pour l'utilisateur du serveur Web.
Dans votre navigateur, ouvrez l'URL Zabbix : http://<IP_server_ou_Nom_serveur>/zabbix
Vous devriez voir le premier écran de l'assistant d'installation de l'interface utilisateur.
Assurez-vous que tous les prérequis logiciels sont remplis.
Pré-requis | Valeur minimum | Description |
---|---|---|
Version PHP | 5.4.0 | |
Option PHP memory_limit | 128Mo | Dans php.ini : memory_limit = 128M |
Option PHP post_max_size | 16Mo | Dans php.ini : post_max_size = 16M |
Option PHP upload_max_filesize | 2Mo | Dans php.ini : upload_max_filesize = 2M |
Option PHP max_execution_time | 300 secondes (valeurs 0 et -1 sont autorisées) | Dans php.ini : max_execution_time = 300 |
Option PHP max_input_time | 300 secondes (valeurs 0 et -1 sont autorisées) | Dans php.ini : max_input_time = 300 |
Option PHP session.auto_start | doit être désactivée | Dans php.ini : session.auto_start = 0 |
Base de données supportées | Une parmi : MySQL, Oracle, PostgreSQL, IBM DB2 | L'un des modules suivant doit être installé : mysql, oci8, pgsql, ibm_db2 |
bcmath | php-bcmath | |
mbstring | php-mbstring | |
//Option PHP mbstring.func_overload // | doit être désactivée | Dans php.ini : mbstring.func_overload = 0 |
//Option PHP always_populate_raw_post_data // | doit être désactivée | Nécessaire uniquement pour les versions PHP 5.6.0 ou plus récentes. Dans php.ini : always_populate_raw_post_data = -1 |
sockets | php-net-socket. Nécessaire pour la prise en charge des scripts utilisateur. | |
gd | 2.0 ou supérieur | php-gd. L'extension PHP GD doit prendre en charge les images au format PNG (--with-png-dir), JPEG (--with-jpeg-dir) et FreeType 2 (--with-freetype-dir). |
libxml | 2.6.15 | php-xml ou php5-dom |
xmlwriter | php-xmlwriter | |
xmlreader | php-xmlreader | |
ctype | php-ctype | |
session | php-session | |
gettext | php-gettext Depuis Zabbix 2.2.1, l’extension PHP gettext n’est plus un pré-requis obligatoire pour l’installation de Zabbix. Si gettext n’est pas installé, l’interface Web fonctionnera, bien que les traductions ne seront pas disponibles. |
Des pré-requis facultatifs peuvent également être présents dans la liste. Un pré-requis optionnel défectueux est affiché en orange et a un statut avertissement. Avec un pré-requis optionnel manquant, l'installation peut continuer.
S'il est nécessaire de modifier l'utilisateur Apache ou le groupe d'utilisateurs Apache, les autorisations sur le dossier de session doivent être vérifiées. Sinon, le programme d'installation Zabbix risque de ne pas pouvoir continuer.
Entrez les détails de connexion à la base de données. La base de données Zabbix doit déjà être créée.
Entrez les détails du serveur Zabbix.
Passez en revue un résumé des paramètres.
Téléchargez le fichier de configuration et placez-le sous conf/ dans le sous-répertoire HTML du serveur Web où vous avez copié les fichiers PHP de Zabbix.
Si l'utilisateur du serveur Web dispose d'un accès en écriture au répertoire conf/, le fichier de configuration sera automatiquement sauvegardé et il sera possible de passer directement à l'étape suivante.
Fin de l’installation.
L’interface utilisateur Zabbix est prête ! L’utilisateur par défaut est Admin et le mot de passe zabbix.
Continuez vers Démarrer avec Zabbix.
Il est nécessaire d’installer la passerelle Java uniquement si vous souhaitez superviser les applications JMX. La passerelle Java est légère et ne nécessite pas de base de données.
Pour installer depuis les sources, téléchargez d'abord l'archive contenant les sources et décompresser là.
Pour compiler la passerelle Java, exécutez le script ./configure
avec l'option --enable-java
. Il est recommandé de spécifier l'option --prefix
pour positionner un chemin d'installation autre que celui par défaut /usr/local, car l’installation de la passerelle Java créera une arborescence de répertoires complète et non pas un seul exécutable.
Pour compiler et packager la passerelle Java dans un fichier JAR, exécutez make
. Notez que pour cette étape, vous aurez besoin des exécutables javac
et jar
dans votre Path.
Vous avez maintenant un fichier zabbix-java-gateway-$VERSION.jar dans src/zabbix_java/bin. Si vous êtes à l'aise avec l'exécution de la passerelle Java à partir de src/zabbix_java dans le répertoire de distribution, vous pouvez alors consulter les instructions pour configurer et exécuter la passerelle Java. Sinon, assurez-vous d'avoir suffisamment de privilèges et lancez make install
.
Procédez à la configuration pour plus de détails sur comment configurer et démarrer la passerelle Java et sur comment configurer le serveur Zabbix pour fonctionner avec celle-ci.