Observium : un système complet de gestion et de surveillance de réseau pour RHEL/CentOS
Observium est une application d'observation et de surveillance de réseau basée sur PHP/MySQL, qui prend en charge un large éventail de systèmes d'exploitation/plates-formes matérielles, notamment Linux, Windows, FreeBSD, Cisco, HP, Dell, NetApp et bien d'autres. Il cherche à présenter une interface Web robuste et simple pour surveiller la santé et les performances de votre réseau.
Observium collecte les données des appareils à l'aide de SNMP et affiche ces données sous forme graphique via une interface Web. Il utilise largement le package RRDtool. Il a un certain nombre d'objectifs de conception de base, notamment la collecte d'un maximum d'informations historiques sur les appareils, la découverte totalement automatique avec une légère ou aucune interruption manuelle et une interface très simple mais puissante.
Démo de l'Observium
Veuillez avoir une démo rapide en ligne de l'Observium déployé par le développeur à l'emplacement suivant.
- http://demo.observium.org/
Cet article vous guidera sur la façon d'installer Observium sur RHEL, CentOS et Scientific Linux, la version prise en charge est EL (Enterprise Linux) 6.x. Actuellement, Observium n'est pas pris en charge pour les versions EL 4 et 5 respectivement. Veuillez donc ne pas utiliser les instructions suivantes sur ces versions.
Étape 1 : Ajout des référentiels RPM Forge et EPEL
RPMForge et EPEL est un référentiel qui fournit de nombreux packages logiciels RPM complémentaires pour RHEL, CentOS et Scientific Linux. Installons et activons ces deux référentiels communautaires à l'aide des commandes suivantes.
Sur les systèmes i386
yum install wget
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
Sur les systèmes x86_64
yum install wget
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.rpm
wget http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
Étape 2 : Installer les packages logiciels nécessaires
Installons maintenant les packages logiciels requis pour Observium.
yum install httpd php php-mysql php-gd php-snmp vixie-cron php-mcrypt \
php-pear net-snmp net-snmp-utils graphviz subversion mysql-server mysql rrdtool \
fping ImageMagick jwhois nmap ipmitool php-pear.noarch MySQL-python
Si vous souhaitez surveiller les machines virtuelles, veuillez installer le package « libvirt ».
yum install libvirt
Étape 3 : Téléchargement d'Observium
Pour information, Observium propose deux éditions suivantes
- Édition communautaire/Open Source : cette édition est disponible gratuitement en téléchargement avec moins de fonctionnalités et quelques correctifs de sécurité.
- Édition par abonnement : cette édition est livrée avec des fonctionnalités supplémentaires, des fonctionnalités/correctifs rapides, une prise en charge matérielle et un mécanisme de publication facile à utiliser basé sur SVN.
Tout d’abord, accédez directement au /opt, nous allons ici installer Observium par défaut. Si vous souhaitez installer ailleurs, veuillez modifier les commandes et la configuration en conséquence. Nous vous suggérons fortement de d'abord déployer sous le répertoire /opt. Une fois que vous avez vérifié que tout fonctionne parfaitement, vous pouvez l'installer à l'emplacement souhaité.
Si vous disposez d'un abonnement Observium actif, vous pouvez utiliser les référentiels SVN pour télécharger la version la plus récente. Un compte d'abonnement valide uniquement valable pour une seule installation et deux installations de test ou de développement avec des correctifs de sécurité quotidiens, de nouvelles fonctionnalités et des corrections de bugs.
Pour télécharger la version stable et actuelle la plus récente d'Observium, vous devez avoir un package svn installé sur le système, afin d'extraire les fichiers du référentiel SVN.
yum install svn
Version de développement
svn co http://svn.observium.org/svn/observium/trunk observium
Version stable
svn co http://svn.observium.org/svn/observium/branches/stable observium
Nous n'avons pas d'abonnement valide, nous allons donc essayer Observium en utilisant l'édition Community/Open Source. Téléchargez la dernière version stable « observium-community-latest.tar.gz » et décompressez-la comme indiqué.
cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
Étape 4 : Création de la base de données MySQL Observium
Il s'agit d'une nouvelle installation de MySQL. Nous allons donc définir un nouveau mot de passe root à l'aide de la commande suivante.
service mysqld start
/usr/bin/mysqladmin -u root password 'yourmysqlpassword'
Connectez-vous maintenant au shell mysql et créez la nouvelle base de données Observium.
mysql -u root -p
mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'dbpassword';
Étape 5 : Configurer Observium
Configurer SELinux pour qu'il fonctionne avec Observium dépasse le cadre de cet article, nous avons donc désactivé SELinux. Si vous êtes familier avec les règles SELinux, vous pouvez le configurer, mais aucune garantie que l'Observium fonctionne avec SELinux actif. Alors mieux vaut le désactiver définitivement. Pour ce faire, ouvrez le fichier « /etc/sysconfig/selinux » et modifiez l'option de « permissive » à « disabled ».
vi /etc/sysconfig/selinux
SELINUX=disabled
Copiez le fichier de configuration par défaut « config.php.default » dans « config.php » et modifiez les paramètres comme indiqué.
/opt/observium
cp config.php.default config.php
Ouvrez maintenant le fichier 'config.php' et entrez les détails MySQL tels que le nom de la base de données, le nom d'utilisateur et le mot de passe.
vi config.php
// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'dbpassword';
$config['db_name'] = 'observium';
Ajoutez ensuite une entrée pour l'emplacement binaire fping dans config.php. Dans la distribution RHEL, l'emplacement est différent.
$config['fping'] = "/usr/sbin/fping";
Ensuite, exécutez la commande suivante pour configurer la base de données MySQL et insérez le schéma de fichier par défaut de la base de données.
php includes/update/update.php
Étape 6 : Configurer Apache pour Observium
Créez maintenant un répertoire « rrd » sous le répertoire « /opt/observium » pour stocker les RRD.
/opt/observium
mkdir rrd
Ensuite, accordez la propriété Apache au répertoire « rrd » pour écrire et stocker les RRD dans ce répertoire.
chown apache:apache rrd
Créez une directive Apache Virtual Host pour Obervium dans le fichier '/etc/httpd/conf/httpd.conf'.
vi /etc/httpd/conf/httpd.conf
Ajoutez la directive Virtual Host suivante au bas du fichier et activez la section Virtualhost comme indiqué dans la capture d'écran ci-dessous.
<VirtualHost *:80>
DocumentRoot /opt/observium/html/
ServerName observium.domain.com
CustomLog /opt/observium/logs/access_log combined
ErrorLog /opt/observium/logs/error_log
<Directory "/opt/observium/html/">
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>
Pour conserver les journaux d'observium, créez un répertoire « logs » pour Apache sous « /op/observium » et appliquez la propriété Apache pour écrire les journaux.
mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs
Après tous les paramètres, redémarrez le service Apache.
service httpd restart
Étape 7 : Créer un utilisateur administrateur Observium
Ajoutez un premier utilisateur, donnez le niveau de 10 pour l'administrateur. Assurez-vous de remplacer le nom d'utilisateur et le mot de passe par votre choix.
cd /opt/observium
./adduser.php tecmint tecmint123 10
User tecmint added successfully.
Ajoutez ensuite un nouvel appareil et exécutez les commandes suivantes pour remplir les données du nouvel appareil.
./add_device.php <hostname> <community> v2c
./discovery.php -h all
./poller.php -h all
Ensuite, définissez une tâche cron, créez un nouveau fichier « /etc/cron.d/observium » et ajoutez le contenu suivant.
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1
Rechargez le processus cron pour prendre de nouvelles entrées.
/etc/init.d/cron reload
La dernière étape consiste à ajouter les services httpd et mysqld à l'échelle du système, pour qu'ils démarrent automatiquement après le démarrage du système.
chkconfig mysqld on
chkconfig httpd on
Enfin, ouvrez votre navigateur préféré et pointez sur http://Votre-adresse-IP.
Visite de capture d'écran de l'Observium
Voici les captures d'écran de la mi-2013, tirées du site Web de l'Observium. Pour une vue à jour, veuillez consulter la démo en direct.
Conclusion
Observium ne vise pas à supprimer complètement les autres outils de surveillance tels que Nagios ou Cacti, mais plutôt à les ajouter avec une excellente compréhension de certains appareils. Pour cette raison, il est important de déployer Observium avec Naigos ou d'autres systèmes de surveillance pour fournir des alertes et Cacti pour produire des graphiques personnalisés de vos périphériques réseau.
Liens de référence :
- Page d'accueil de l'Observium
- Documentation de l'Observatoire