Installer Zabbix sur les systèmes RedHat Centos 7

Cette fois, nous aurons un guide complet sur la façon d'installer zabbix 2.4.5 sur les serveurs Centos / Red Hat versions 7 ou ultérieures.
Qu'est-ce que Zabbix ?
Il s'agit d'un système de surveillance de réseau créé par Alexei Vladishev. Il est conçu pour surveiller et enregistrer l'état de divers services réseau, serveurs et matériel réseau.
Les usages MySQL, PostgreSQL, SQLite, Oracle ou IBM DB2 comme base de données. Son backend est écrit en C et le web frontend est écrit en PHP. Zabbix propose plusieurs options de surveillance :
  • Des contrôles simples qui peuvent vérifier la disponibilité et le niveau de réponse des services standard tels que SMTP ou HTTP sans avoir besoin d'installer de logiciel sur l'hôte surveillé.
  • Un agent Zabbix peut également être installé sur les machines UNIX et Windows pour surveiller les statistiques telles que la charge CPU, l'utilisation du réseau, l'espace disque, etc.
  • Comme alternative à l'installation de l'agent sur les hôtes, Zabbix inclut la prise en charge de la surveillance via les protocoles SNMP, TCP et ICMP, ainsi que sur IPMI, JMX, SSH, telnet et en utilisant des paramètres de configuration personnalisés. Zabbix prend en charge une variété de mécanismes de notification en temps réel, y compris XMPP.

Caractéristiques principales de Zabbix
  • Hautes performances et capacités de surveillance des appareils (Serveurs, Matériels tels que Imprimantes, Routeurs, entre autres).
  • Surveillance centralisée via l'administrateur Web (L'extrémité avant).
  • Exemple d'agents pouvant être installés sur différents systèmes d'exploitation : Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64 / OSF1, Windows 2000, Windows Server 2003, Windows XP, Windows Vista, Windows Server 2008, Windows 7, Windows 8 et récemment Windows 2012
  • SLA qui vous permet d'analyser la qualité des services fournis par votre informatique à votre organisation.

Comment fonctionne Zabbix ?
Zabbix vous propose une surveillance pour "LAN, Réseaux locaux" Oui "WAN, réseaux étendus". L'application est installée sur un serveur (Linux) puis elle est dédiée à "Collecter des informations". Il fournit une interface WEB dans laquelle toutes les informations qu'il collecte sont présentées graphiquement. Il a des agents pour Linux, Mac et Windows qui sont installés dans le "Les serveurs" ou alors "Postes de travail" que vous êtes intéressé à surveiller. De plus, cette solution vous permet de voir l'état des imprimantes, des routeurs, des commutateurs, des capteurs de température et d'humidité, entre autres.
Zabbix contre Nagios ou Zenoss ?
Les trois applications sont présentées comme des solutions Open Source, cependant la seule 100% gratuite est Zabbix. Tellement de Nagios et Zenoos fondent leur business model sur la vente de plugins ou de versions étendues du produit. En échange Zabbix vit des certifications aux professionnels de l'informatique, livres et soutien.
Dans le cas de Zabbix, tout ce dont vous avez besoin pour la surveillance est disponible gratuitement, avec le détail que la configuration est un peu plus technique, mais elle est facile à comprendre.
Installation de Zabbix sur Centos / Red Hat 7
Nous allons nous concentrer sur l'installation des systèmes Centos et RedHat.Dans un autre article, je parlerai de leur installation sous Ubuntu / Debian. Au moment de la rédaction du tutoriel Zabbix ne propose pas de package précompilé, il faut télécharger le source et le compiler à la main.

1. Installer les dépendances


Afin de compiler, nous devons installer toutes les dépendances et outils nécessaires. Pour la version 2.4.5, nous avons besoin de : build-essentials, outils de développement, GCC, curl, wget et quelques dépendances pour le support SNMP.
Nous entrons dans notre terminal en tant que root et lançons.
 miam installer gcc gcc-c ++ make openssl-devel curl wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel gnutls gnutls-devel libxml2 libxml2-devel 

2. Installez la base de données MariaDB et ses bibliothèques


Nous devons installer MariaDB et la bibliothèque de développement MySQL.
 miam installer mariadb-serveur mariadb-client mariadb-devel
nous commençons le service :
 systemctl démarrer mariadb.service
Lorsque nous avons terminé l'installation, nous devons sécuriser la base de données en utilisant mysql_secure_installation avec des privilèges administratifs.
 mysql_secure_installation
Un assistant se lance pour configurer la base de données, nous devons répondre comme suit :
 Entrez le mot de passe actuel pour root ## Nous appuyons sur Entrée Définir le mot de passe root ? (O/n) ## On dit non Supprimer les utilisateurs anonymes ? ## Nous disons oui Interdire la connexion root à distance ? ## Nous disons oui Supprimer la base de données de test et y accéder ? ## On dit oui Recharger les tables de privilèges maintenant ? ## On dit oui Tout est fait ! Si vous avez terminé toutes les étapes ci-dessus, votre installation MariaDB devrait maintenant être sécurisée. 
Avec ce serait tout.

3. Installez le serveur Apache et PHP


La prochaine étape consistera à installer le serveur web avec PHP. (En centos, le paquet Apache est httpd).
 miam installer httpd php php-mysql php-gd pgp-cli php-xml php-bcmath php-mbstring mod_ssl openssl
Nous devons configurer l'interpréteur PHP et ajuster certaines valeurs pour qu'il puisse être utilisé avec le serveur Zabbix. Nous ouvrons php.ini dans mon cas, j'utiliserai l'éditeur vim et nous modifierons certaines valeurs. J'afficherai la valeur par défaut à gauche et celle modifiée à droite.
 vim /etc/php.ini
 post_max_size = 8M → post_max_size = 16M max_execution_time = 30 → max_execution_time = 300 max_input_time = 60 → max_input_time = 300 date.timezone = Continent / Ville → date.timezone = Amérique / Caracas #N'oubliez pas de supprimer le;; always_populate_raw_post_data = Activé → always_populate_raw_post_data = -1 
Dans mon cas j'ai placé l'heure du Venezuela, vous pouvez voir la liste des fuseaux horaires compatibles avec PHP dans ----> http://php.net/manual/en/timezones.php
Nous fermons le fichier en enregistrant les modifications et redémarrons le service Apache.
 systemctl redémarrer httpd.service
Ce sera juste un redémarrage.

4. Téléchargez et compilez le serveur Zabbix


Après avoir préparé le système, nous pouvons télécharger les versions de Zabbiz depuis son site officiel.Au moment de la rédaction du tutoriel, la version stable est la 2.4.5, nous pouvons la télécharger avec wget.
 wget http: //sourceforge.net/projects/zabbix/files/ZABBIX \ Latest \ \ Stable / 2.4.5 / zabbix-2.4.5.tar.gz
Vous pouvez voir d'autres versions à partir de son référentiel officiel ---> http: //sourceforge.n… s / zabbix / files /
Après avoir téléchargé la tablette, nous procédons à la décompression
 tar xfz zabbix-2.4.5.tar.gz # cd zabbix-2.4.5.tar.gz / # ls 
Nous pouvons voir toutes les options lors de la compilation du binaire avec ./configure -h dans le cas de ce laboratoire, je vais utiliser une installation typique en utilisant les paramètres suivants.
 ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
On attend un peu puis on lance make pour créer l'exécutable. (Cette étape peut prendre plus de temps que lors de la configuration) pour finir, nous utilisons make install.
 # faire # faire installer 
Faire installer.

5. Paramètres après l'installation


Après l'installation, nous devons créer un utilisateur sans privilèges administratifs pour exécuter les processus Zabbix en tant que démon. Nous pouvons utiliser useradd.
 groupadd zabbix useradd -g zabbix -d / usr / local / share / zabbix -s / bin / false zabbix useradd : avertissement : le répertoire personnel existe déjà. Ne copiez aucun fichier du répertoire skel dans celui-ci.

6) Configurer la base de données MariaDB pour Zabbix


Nous allons créer une base de données pour Zabbix accessible depuis l'utilisateur zabbix.
 mysql -u root -p MariaDB> créer la base de données zabbix; MariaDB> accorde tous les privilèges sur zabbix.* À 'zabbix' @ 'localhost' identifié par 'votre mot de passe'; MariaDB> vidage des privilèges; MariaDB> sortie 
N'oubliez pas de remplacer le mot de passe par le vôtre pour la base de données. Au cas où nous voudrions utiliser une base de données externe à notre serveur, nous l'utilisons.
 MariaDB> accorde tous les privilèges sur zabbix * To 'zabbix' @ '%' identifié par 'your_password';
Nous devons retourner dans le répertoire d'installation de Zabbix s'il n'y est pas.Répertorier les tables MySQL et les importer dans la nouvelle base de données que nous avons créée à l'aide.
 [root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <database / mysql / schema.sql Entrez le mot de passe : [root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <database / mysql / images.sql Entrez le mot de passe : [root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <database / mysql / data.sql Entrez le mot de passe : [root @ Joncak1 zabbix-2.4.5] #

7. Configurer le serveur Apache pour Zabbix


Nous avons déjà importé les dossiers, nous devons maintenant faire la même chose pour les fichiers sur le serveur Web. Nous devons supprimer tout le Contenu qui se trouve dans /var/www/html/
 rm /var/www/html/index.html cp -rf frontends / php / * / var / www / html /
Nous devons ajouter l'utilisateur zabbix que nous avons créé au groupe apache, activer en plus SSL Apache pouvoir courir Zabbix sur https
 usermod -aG apache zabbix a2enmod ssl a2ensite default-ssl
Nous devons redémarrer le serveur Web pour que les modifications puissent être appliquées.
 systemctl redémarrer httpd.service
Ils seront appliqués.

8. Configurer le serveur Zabbix


Maintenant il faut modifier le fichier de configuration Zabbix, pensez à utiliser l'éditeur de texte que vous préférez, dans mon cas j'utiliserai vim.
 vim /usr/local/etc/zabbix_server.conf # ListenPort = 10051 → ListenPort = 10051 LogFile = / tmp / zabbix_server.log → LogFile = / var / log / zabbix_server.log # DBHost = localhost → DBHost = localhost #Au cas où le La base de données est à distance, placez l'adresse IP ici. DBName = zabbix → #Placez le nom de la base de données. DBUser = root → DBUser = zabbix # DBPassword = → DBPassword = 'svradm2010' DBSocket = / tmp / mysql.sock → DBSocket = / var / run / mysqld / mysqld.sock # DBPort = 3306 → DBPort = 3306
Nous devons créer le fichier dans lequel Zabbix déposera les journaux et ajoutera des autorisations pour que Zabbix puisse y écrire.
 touchez /var/log/zabbix_server.log chmod 775 /var/log/zabbix_server.log chgrp zabbix /var/log/zabbix_server.log 
Enfin, après avoir terminé toutes les configurations, nous pouvons démarrer le serveur Zabbix et son agent afin qu'il puisse collecter des informations localement.
 /usr/local/sbin/zabbix_server/usr/local/sbin/zabbix_agentd/usr/local/sbin/zabbix_agent 
Nous pouvons vérifier qu'il fonctionne en utilisant netstat.
 [root @ Joncak1 local] # netstat -tulpn Connexions Internet actives (serveurs uniquement) Proto Recv-Q Send-Q Adresse locale Adresse étrangère État PID / Nom du programme tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13512 / mysqld tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 977 / Xvnc tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 591 / rpcbind tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 977 / Xvnc tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 962 / sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1005 / master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 23811 / zabbix_agentd tcp6 0 0 ::: 111 ::: * LISTEN 591 / rpcbind tcp6 0 0 ::: 80 ::: * LISTEN 23778 / httpd tcp6 0 0 ::: 6001 ::: * LISTEN 977 / Xvnc tcp6 0 0 ::: 22 ::: * LISTEN 962 / sshd tcp6 0 0 :: 1: 25 ::: * LISTEN 1005 / master tcp6 0 0 ::: 443 ::: * LISTEN 23778 / httpd tcp6 0 0 ::: 10050 ::: * ÉCOUTEZ 23811 / zabbix_agentd udp 0 0 0.0.0.0:68 0.0.0.0:* 815 / dhclient udp 0 0 0.0.0.0:23110 0.0.0.0:* 815 / dhclient udp 0 0 0.0.0.0:111 0.0.0.0:* 591 / rpcbind udp 0 0 0.0.0.0:123 0.0.0.0:* 592 / chronyd udp 0 0 0.0.0.0:41601 0.0. 0.0: * 583 / avahi-daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 583 / avahi-daemon: r udp 0 0 0.0.0.0:752 0.0.0.0:* 591 / rpcbind udp 0 0 127.0 .0.1: 323 0.0.0.0:* 592 / chronyd udp6 0 0 ::: 111 ::: * 591 / rpcbind udp6 0 0 ::: 123 ::: * 592 / chronyd udp6 0 0 ::: 18 132 :: : * 815 / dhclient udp6 0 0 ::: 752 ::: * 591 / rpcbind udp6 0 0 :: 1: 323 ::: * 592 / chronyd 
Passons maintenant à l'installation.

9. Installer l'interface Web Zabbix


Enfin, nous devons installer et configurer l'interface web Zabbix. Nous devons utiliser un navigateur et entrer l'adresse du serveur que nous avons configuré.
http://adresse_IP/setup.php
ou entrez par SSL
https : // adresse_IP/setup.php

AGRANDIR

On coche ensuite puis on vérifie plusieurs étapes si c'est correct on peut continuer.

Je joins la liste de toutes les exigences au cas où quelque chose manquerait.

Nous avons mis les informations d'identification de la base de données que nous avions créée.

Nous avons ajouté les détails du serveur Zabbix Backend.

Il nous donnera un résumé des options que nous avons placées, important avant d'appuyer sur suivant, nous devons modifier les valeurs du fichier afin qu'elles puissent être modifiées par le groupe apache.
 chown -R apache/var/www/html/conf/
Et nous retournons au navigateur et appuyons sur suivant.
S'il est correct, nous verrons cet écran.

Nous retournons à la console et modifions l'autorisation du fichier :
 chown -R apache/var/www/html/conf/
Félicitations, vous avez installé le serveur Zabbix et vous pouvez vous connecter avec le nom d'utilisateur par défaut.
 utilisateur : mot de passe administrateur : zabbix

ConclusionNous avons installé le serveur Zabbix, l'installation peut être un peu fastidieuse mais elle peut être automatisée au moyen d'un script, pour l'instant vous pouvez surveiller le localhost dans un autre post je vais parler de comment installer les agents sur des ordinateurs externes, le configurer pour envoyer des alertes par gmail et comment installer l'agent sur les ordinateurs avec Windows comme système d'exploitation.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave