Introduction

Ce billet fait suite à une formation que j'ai récemment donné sur le produit CACTI. Outil de métrologie, souvent associé à Nagios ou Centréon, CACTI produit des graphes. En fait CACTI est avant tout une interface accessible en mode Web permettant de générer des scripts RRDTool. Ecrit en PHP CACTI s'appuie sur une plate-forme LAMP.

Installation de l'OS

Procéder à une installation type "Minimal" de CentOS.

Une fois l'installation basique effectuée, désactiver SELINUX

sed -i 's/enforcing/disabled/g' /etc/selinux/config

Procéder ensuite à la mise à jour de la distribution

yum -y update

Installer les packages requis pour CACTI

yum -y install httpd php mysql-server php-mysql php-gd php-snmp net-snmp-utils rrdtool wget

La distribution CentOS n'inclue pas CACTI dans ses dépôts, il faut utiliser les dépôts EPEL. Toutefois il y a plus simple, il suffit de récupérer le rpm de CACTI par la commande wget

wget -c ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/cacti-0.8.8-1.el6.rf.noarch.rpm

Installer classiquement par la commande rpm

rpm -hiv cacti-0.8.8-1.el6.rf.noarch.rpm

N'activer que les services utiles

for i in $(chkconfig --list | cut -f1);do chkconfig --del $i;done
chkconfig network on
chkconfig sshd on
chkconfig rsyslog on
chkconfig mysqld on
chkconfig httpd on
chkconfig snmpd on
chkconfig crond on

A ce stade redemarrer la machine pour valider toutes les mises à jour notamment le noyau Linux. Puis configurer le mot de passe du root de MySQL

mysqladmin -u root password bonjour

Créer la base mysql pour cacti

mysql -u root -p

mysql> create database cacti;
mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti';
mysql> exit

Installer la base de données de CACTI sous mysql. La commande suivante permet de retrouver le fichier sql contenu dans le rpm

rpm -ql cacti | grep cacti.sql
/var/www/cacti/cacti.sql

Création de la base cacti ( entrer le mot de passe du user cacti défini plus haut → ici “cacti”)

mysql -u cacti -p cacti < /var/www/cacti/cacti.sql

Configurer l'accès à mysql depuis les scripts php de cacti. Editer le fichier /var/www/cacti/include/config.php et modifier $database_username et $database_password en fonction du user mysql créé.

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

Par défaut l'interface web de CACTI n'est accèssible qu'en local. Modifier le fichier /etc/httpd/conf.d/cacti.conf afin d'autoriser tout poste du réseau ( ici 192.168.56.0/24 )

Alias /cacti/ /var/www/cacti/
<Directory /var/www/cacti/>
    DirectoryIndex index.php
    Options -Indexes
    AllowOverride all
    order deny,allow
    deny from all
    allow from 127.0.0.1 192.168.56.0/24
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc on
    php_flag track_vars on
</Directory>

Redemarrer le serveur web pour activer la correction

service httpd restart

Se connecter via un navigateur web sur http://192.168.56.2/cacti/install/ ( adapter l'IP en fonction de votre installation )

capture_du_2015-09-13_09_28_18.png

Valider simplement cet écran.

capture_du_2015-09-13_09_29_04.png

Conserver le choix par défaut soit "Nouvelle Installation"

capture_du_2015-09-13_09_29_39.png

Cette page récapitule que tout est OK pour l'installation.

capture_du_2015-09-13_09_30_08.png

La connexion première se fait en admin/admin. Le mot de passe admin devant être modifié aussitôt via l'écran suivant.

capture_du_2015-09-13_09_31_08.png

L'interface CACTI s'affiche alors.

capture_du_2015-09-16_18_08_27.png

CACTI utilise un script PHP nommé poller.php devant être lancé via le cron. Bien vérifier l'activation du service cron

service crond status

Bien vérifier l'activation correcte de la tâche cron de CACTI en editant le fichier /etc/cron.d/cacti qui doit contenir une ligne similaire à celle ci-dessous

*/5 * * * *	cacti	php /var/www/cacti/poller.php &>/dev/null

Patienter au moins 5 minutes, les premiers graphiques générés par défaut doivent apparaître sous l'onget "Graph".

Conclusion

Installer CACTI n'est pas très difficile. Il faut faire attention à bien configurer Apache afin de permettre un accès via le réseau à l'interface.