
Je me suis acheté une petite Raspberry Pi l’autre jour et j’ai décidé de faire un peu de monitoring (=supervision) dessus. Pour cela j’ai installé un serveur Zabbix sur mon Linux CentOS afin de « checker » ma Raspberry. Alors voici le petit tutoriel de mise en place.
Installation des pré-requis
Avant de vous lancer dans l’installation du serveur Zabbix voici les quelques étapes à effectuer :
Installer les éléments suivants
yum install system-config-firewall-tui system-config-network-tui yum install chkconfig vim mysql-server httpd php
Désactiver SELinux
vim /etc/sysconfig/selinux
Il faut modifier la ligne SELINUX=enforcing en SELINUX=disabled puis sauvegarder (utiliser « Echap » puis « :wq »).
Connectivité et Pare-Feu
Il faut configurer votre serveur avec une adresse IP fixe et ouvrir quelques ports.
#Commande pour configurer votre interface réseau system-config-network-tui #Commande pour configurer votre pare-feu system-config-firewall-tui
Pour le Pare-Feu il faut autoriser les ports suivants :
- Port 80 (TCP) : utilisé par le serveur HTTP Apache
- Port 3306 (TCP) : utilisé par le serveur MySQL (uniquement si vous avez besoin d’accéder à vos bases de données à distance)
- Ports 10050-10051 (TCP) : ces deux ports sont utilisés par Zabbix
Il faut faire les commandes :
service network restart service iptables restart
Pour la prise en compte de la nouvelle configuration de la carte réseau et des nouvelles règles du Pare-Feu.
Installation de Zabbix
Les développeurs de Zabbix nous facilite la tâche car ils ont créé un dépôt dédié à leur système de monitoring :
#On ajoute le dépôt Zabbix rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm #On installe les composants de Zabbix yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Il ne reste plus qu’à configurer Zabbix et ses composants :D.
Configuration de Zabbix et de ses composants
C’est là qu’on commande à s’amuser ;-).
Configuration de MySQL
#On démarre le service MySQL service mysqld start #On configure le <mot de passe root> du serveur MySQL mysql_secure_installation #On se connecte au serveur MYSQL mysql -uroot -p<mot de passe root> #On créé la base de données ZabbixDB et l'utilisateur zabbix create database ZabbixDB character set utf8; grant all privileges on ZabbixDB.* to zabbix@localhost identified by '<mot de passe zabbix>'; exit #On importe le schéma et les données initiales cd /usr/share/doc/zabbix-server-mysql-2.2.2/create/ mysql -uroot -p<mot de passe root> ZabbixDB < schema.sql mysql -uroot -p<mot de passe root> ZabbixDB < images.sql mysql -uroot -p<mot de passe root> ZabbixDB < data.sql #On configure MySQL pour qu'il se lance au démarrage du serveur chkconfig mysqld on
Configurer le serveur HTTP Apache
#On va modifier le fichier php.ini
vim /etc/php.in
Il faut trouver la ligne « date.timezone« et ajouter votre fuseau horaire (nous c’est « Europe/Paris »). Il faut effectuer la même action dans le fichier « /etc/httpd/conf.d/zabbix.conf » et modifier la ligne « php_value date.timezone ».
#On démarre le serveur HTTP Apache service httpd start #On confiure HTTP Apache pour qu'il se lance au démarrage du serveur chkconfig httpd on
Configurer Zabbix
On y arrive enfin :).
#On modifie le fichier de configuration de Zabbix
vim /etc/zabbix/zabbix_server.conf
Il faut modifier certaines lignes de la façon suivante :
- DBHost=<adresse IP de votre serveur>
- DBName=ZabbixDB
- DBUser=zabbix
- DBPassword=<mot de passe zabbix>
#On démarre le serveur Zabbix service zabbix-server start #On confiure Zabbix pour qu'il se lance au démarrage du serveur chkconfig zabbix-server on
A cette étape je vous conseille de redémarrer votre serveur afin que toute la configuration soit prise en compte et que vous puissiez vérifier que tous vos services se lancent correctement.
Finaliser l’installation
Tout est prêt, pour initialiser votre serveur Zabbix vous n’avez plus qu’à vous rendre à l’adresse suivante : http://<adresse IP de votre serveur>/zabbix