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 )
Valider simplement cet écran.
Conserver le choix par défaut soit "Nouvelle Installation"
Cette page récapitule que tout est OK pour l'installation.
La connexion première se fait en admin/admin. Le mot de passe admin devant être modifié aussitôt via l'écran suivant.
L'interface CACTI s'affiche alors.
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.