Installation d’un serveur Zabbix sur CentOS 6

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