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

3 Installation à partir des sources

Vous pouvez obtenir la toute dernière version de Zabbix en la compilant à partir des sources.

Un tutoriel étape par étape pour installer Zabbix à partir des sources est fourni ici.

1 Installation des démons Zabbix

1 Télécharger l'archive source

Accédez à la page de téléchargement de Zabbix et téléchargez l'archive source. Une fois téléchargée, extrayez les sources, en exécutant :

$ tar -zxvf zabbix-6.0.0.tar.gz

Entrez la version correcte de Zabbix dans la commande. Il doit correspondre au nom de l'archive téléchargée.

2 Créer un compte utilisateur

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 :

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
       chown zabbix:zabbix /usr/lib/zabbix

Sur les systèmes Debian, exécutez :

mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
       chown zabbix:zabbix /var/lib/zabbix

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é.

3 Créer la base de données Zabbix

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.

4 Configuration des sources

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, dans le répertoire source de Zabbix, exécutez :

./configure --help

Pour configurer les sources d'un serveur et d'un agent Zabbix, vous pouvez exécuter quelque chose comme :

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

Pour configurer les sources d'un serveur Zabbix (avec PostgreSQL, etc.), vous pouvez exécuter :

./configure --enable-server --with-postgresql --with-net-snmp

Pour configurer les sources d'un proxy Zabbix (avec SQLite, etc.), vous pouvez exécuter :

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

Pour configurer les sources d'un agent Zabbix, vous pouvez exécuter :

./configure --enable-agent

ou, pour l'agent Zabbix 2 :

./configure --enable-agent2

Un environnement Go configuré avec une version Go actuellement prise en charge est requis pour créer l'agent Zabbix 2. Voir golang.org pour les instructions d'installation.

Remarques sur les options de compilation :

  • Les utilitaires de ligne de commande zabbix_get et zabbix_sender sont compilés si l'option --enable-agent est utilisée.
  • Les options de configuration --with-libcurl et --with-libxml2 sont requises pour la surveillance des machines virtuelles ; --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 obligatoire avec l'option de configuration --with-libcurl.
  • Zabbix compile toujours avec la bibliothèque PCRE (depuis la version 3.4.0) ; son installation n'est pas facultative. --with-libpcre=[DIR] permet uniquement de pointer vers un répertoire d'installation de base spécifique, au lieu de chercher dans un certain nombre d'endroits communs pour les fichiers libpcre.
  • Vous pouvez utiliser l'option --enable-static pour lier statiquement les bibliothèques. Si vous envisagez de distribuer des binaires compilés entre différents serveurs, vous devez utiliser cet indicateur pour faire fonctionner ces binaires sans les bibliothèques requises. Notez que --enable-static ne fonctionne pas dans Solaris.
  • L'utilisation de l'option --enable-static n'est pas recommandée lors de la construction du serveur. Afin de construire le serveur de manière statique, vous devez disposer d'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.
  • Ajoutez un chemin facultatif au fichier de configuration MySQL --with-mysql=/<path_to_the_file>/mysql_config pour sélectionner la bibliothèque cliente MySQL souhaitée lorsqu'il est nécessaire d'en utiliser une qui ne se trouve pas dans le localisation par défaut. Il est utile lorsque plusieurs versions de MySQL sont installées ou que MariaDB est installée avec MySQL sur le même système.
  • Utilisez l'option --with-oracle pour spécifier l'emplacement de l'API OCI.

Si ./configure échoue en raison de bibliothèques manquantes ou d'autres circonstances, veuillez consulter le fichier config.log pour plus de détails sur l'erreur. Par exemple, si libssl est manquant, le message d'erreur immédiat peut être trompeur :

checking for main in -lmysqlclient... no
       configure: error: Not found mysqlclient library

Tandis que config.log a une description plus détaillée :

/usr/bin/ld: cannot find -lssl
       /usr/bin/ld: cannot find -lcrypto

Voir également :

5 Construction et installation

Si vous installez à partir du dépôt [Git Zabbix(https://git.zabbix.com/projects/ZBX/repos/zabbix/browse), il est nécessaire d'exécuter d'abord :

$ make dbschema

make install

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.

6 Examiner et modifier les fichiers de configuration
  • éditez le fichier de configuration de l'agent Zabbix /usr/local/etc/zabbix_agentd.conf

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.

  • éditez le fichier de configuration du serveur Zabbix /usr/local/etc/zabbix_server.conf

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 devrait vous convenir avec leurs valeurs par défaut si vous avez une petite installation (jusqu'à dix hôtes surveillés). Vous devrez cependant modifier les paramètres par défaut si vous souhaitez optimiser les performances du serveur Zabbix (ou du proxy).

  • Si vous avez installé un proxy Zabbix, éditez le fichier de configuration du proxy /usr/local/etc/zabbix_proxy.conf

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.

7 Démarrage des démons

Exécuter zabbix_server sur le serveur Zabbix.

shell> zabbix_server

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.

Exécuter zabbix_agentd sur les machines supervisées.

shell> zabbix_agentd

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.

shell> zabbix_proxy

2 Installer l'interface web Zabbix

Copier les fichiers PHP

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 :

  • /usr/local/apache2/htdocs (répertoire par défaut lors de l'installation d'Apache à partir des sources)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Debian, Ubuntu, Fedora, RHEL)

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 :

mkdir <htdocs>/zabbix
       cd ui
       cp -a . <htdocs>/zabbix

Si vous prévoyez d'utiliser une autre langue que l'anglais, consultez Installation de langues frontales supplémentaires pour obtenir des instructions.

Installation de l'interface

Veuillez consulter la page Installation de l'interface Web pour plus d'informations sur l'assistant d'installation du frontend Zabbix.

3 Installation de la passerelle Java

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.

$ ./configure --enable-java --prefix=$PREFIX

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.

$ make

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.

$ 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.

4 Installation du service Web Zabbix

L'installation du service Web Zabbix n'est requise que si vous souhaitez utiliser les rapports planifiés.

Pour installer à partir des sources, commencez par télécharger et extrayez l'archive source.

Pour compiler le service Web Zabbix, exécutez le script ./configure avec l'option --enable-webservice.

Un environnement configuré Go version 1.13+ est requis pour créer le service Web Zabbix.

Exécutez zabbix_web_service sur la machine sur laquelle le service Web est installé :

shell> zabbix_web_service

Passez à la configuration pour plus de détails sur la configuration de la génération de rapports planifiés.