Pavnay

 
  • Increase font size
  • Default font size
  • Decrease font size
FrançaisEnglish

[Supervision] Cacti - Part 1 : Installation

Imprimer
Supervision
Parmi les logiciels open source de supervision, Cacti fait figure de référence. Ce logiciel est  en fait composé de partie : une partie front office, c'est à dire une interface graphique sous forme de site internet mais aussi d'un utilitaire fonctionnant régulièrement  afin de relever les données d'autres machines / services.

Le but de cacti est de collecter des information sous forme numérique de l'état de santé de diverses machines et services et de les représenter sous forme de graphique.
Pour fonctionner, cacti a besoin que PHP et le serveur d'application httpd de la fondation Apache. Outre ces outils, servant au fonctionnement de cacti, celui-ci a aussi besoin d'un serveur de bases de données (MySQL) pour la sauvegarde de la configuration et de rrdtool pour la sauvegarde des données collectées.

L'installation de cacti comporte quelques étapes mais reste tout de même très simple :

  1. Installation de rrdtool
  2. Installation et configuration de PHP
  3. Installation de cacti
  4. Configuration de httpd
  5. Installation du collecteur de données

Installation de rrdtool :


Il est tout à fait possible d'installer rrdtool via le gestionnaire de packages de la distribution ou bien l'installer par compilation.
Ici, on procède à une installation par compilation car le package testé est la version 1.2.11 et celle-ci est légèrement buggée pour la représentation des données sous forme graphique et donc nous installons la version 1.2.29 :

apt-get install libfreetype6-dev libart-2.0-dev
cd /usr/local/packages
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.29.tar.gz
tar zxf rrdtool-1.2.29.tar.gz
cd rrdtool-1.2.29
./configure --prefix=/usr/local/rrdtool-1.2.29 && make && make install
cd /usr/local/
ln -s rrdtool-1.2.29 rrdtool



Installation et configuration de PHP :


Nous partons ici du principe qu'un serveur httpd et qu'un serveur MySQL sont déjà installés (respectivement dans /usr/local/apache2 et /usr/local/mysql).
Afin que cacti puisse fonctionner correctement, il faut installer PHP avec un certain nombre de modules :

apt-get install zlib1g-dev perl libdbd-mysql-perl libnet-snmp-perl libxml2-dev libxml2 libcurl3 libcurl4-gnutls-dev gawk libpng12-dev libmcrypt-dev snmp
cd /usr/local/packages
wget http://fr3.php.net/get/php-5.2.8.tar.gz/from/fr.php.net/mirror
tar xzf php-5.2.8.tar.gz
cd php-5.2.8
./configure --prefix=/usr/local/php-5.2.8 --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib --with-curl --enable-ftp --with-gd --with-mcrypt --with-mysql=/usr/local/mysql/ --with-snmp --enable-zip  --with-gnu-ld --enable-sockets
make
make install



Installation de cacti :


Cacti se présente sous la forme d'un dossier faisant office d'application web mais aussi scripts de collecte de données.

cd /usr/local/packages
wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
tar xzf cacti-0.8.7e.tar.gz 
mv cacti-0.8.7e /usr/local/.
cd /usr/local/
ln -s cacti-0.8.7e cacti


Ceci fait, il faut maintenant configurer la base de données en créant une base dédiée et en donnant les droits à un nouveau utilisateur MySQL :

CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'localhost' IDENTIFIED BY 'cacti';
FLUSH PRIVILEGES;



Maintenant, création des tables de la base de données :

mysql -ucacti -pcacti cacti < /usr/local/cacti/cacti.sql


Puis vient la configuration de cacti pour qu'il puisse se connecter à la base de données. Pour celà, il faut éditer le fichier /usr/local/cacti/include/config.php et adapter suivant son environnement :

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";



Configuration de httpd :


La configuration de l'interface web sous httpd se fait facilement en ajoutant au fichier httpd.conf ou httpd-vhost.conf :

Alias /cacti "/usr/local/cacti"
<Directory "/usr/local/cacti">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    DirectoryIndex index.php
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc Off
    php_flag short_open_tag On
    php_flag register_globals Off
    php_flag register_argc_argv On
    php_flag track_vars On
    # this setting is necessary for some locales
    php_value mbstring.func_overload 0
    php_value include_path .
    DirectoryIndex index.php
</Directory>


Après un redémarrage de httpd (/usr/local/apache2/bin/apachectl restart) ou un rechargement de la configuration (/usr/local/apache2/bin/apachectl graceful), il suffit de se connecter sur l'interface (http://localhost/cacti).
Une fois authentifié (par défaut les identifiants sont admin / admin), l'interface propose de changer le mot de passe (recommandé) puis cacti est pleinement opérationnel pour la configuration basique pour la collecte d'information.
Il se peut que lors de la présentation des différents chemins d'accès certains ne soient pas bon (par exemple le chemin vers rrdtool si comme ici il a été compilé dans un répertoire spécifique), auquel cas il suffit d'indiquer le bon path vers le binaire.

Installation du collecteur de données :


Maintenant que la partie visible de cacti est opérationnelle, il faut installer le programme de collecte de données.
Ce programme est très simple car il ne s'agit que d'un script PHP à installer dans la crontab (c'est-à-dire dans le fichier générique /etc/crontab ou bien dans une crontab utilisateur grâce à la commande crontab -e comme ici) :

*/5 *   * * *   /usr/local/php/bin/php /usr/local/cacti/poller.php >> /usr/local/cacti/log/poller.log


Et voilà, toutes les 5 minutes (ici), le programme sera déclencher et collectera toutes les informations voulues et les stockera au format rrd.

Commentaires
Ajouter un nouveau
+/-
Ecrire un commentaire
Nom:
Email:
 
Titre:
 
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
 
DUPONT  - question   |2012-01-23 13:05:26
j'ai suivi la procédure pour installer cacti, merci tres bon tuto!
ma question
est que tout fonctionne mais je souhaite que cacti me donne les informations de
nagios et centreon qui sont sur le meme serveur, comment je dois faire?
merci
bien
mercier laurent  - installation du collecteur   |2012-03-20 10:50:44
merci pour votre tuto, petite question: pour la derniere partie
"installation du collecteur de données": j'ai fait la manip indiqué
mais il m'affiche "aucun fichier ou repertoire de ce type" pouvez vous
me dire ou faire cette manip
merci encore
laurent
Febbweiss   |2012-03-28 17:19:22
Je ne comprends pas bien l'erreur.

Pour configurer la crontab, ou bien vous
éditez le fichier /etc/crontab en ajoutant la commande ou bien vous faîtes
dans un terminal crontab -e (ce qui vous ouvre une crontab) et vous y ajouter la
commande.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Actualités

Peinture sur figurine