Superviser son ordinateur avec Cacti

De ArchwikiFR

Cacti est un logiciel de supervision basé sur RRDtool permettant de surveiller l’activité de son architecture informatique à partir de graphiques quotidiens, hebdomadaires, mensuels et annuels. Le tout visualisable dans une interface web.

Installation

Pré-requis

Cacti repose sur php, MySQL et apache. S’ils ne sont pas encore installés chez vous, prière de commencer par suivre le tutoriel suivant : lamp

Installation à proprement parler

Cacti est dans le dépôt core. L'installation se fait donc via pacman :

# pacman -S cacti

L'étape suivante, la création de la base de données :

cd /srv/http/cacti
mysqladmin -u root -p create cacti
mysql -u root -p cacti < cacti.sql
mysql -u root -p cacti
Note : Si vous n’avez pas défini de mot de passe root pour mysql enlevez les -p dans le code précédent

Si tout s'est passé correctement, vous devez maintenant être dans MySQL avec l'invite de commande :

mysql>

Tapez le code suivant en remplaçant $$mdp$$ par un mot de passe de votre choix (que vous n’utiliserez probablement jamais) :

GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY '$$mdp$$';
FLUSH privileges;
quit

Ouvrez ensuite le fichier /srv/http/cacti/include/config.php avec votre éditeur préféré et remplacez la ligne contenant $database_password avec le même mot de passe que celui que vous venez de définir pour la base de données :

$database_password = "$$mdp$$"

On crée ensuite un nouvel utilisateur pour gérer cacti et on lui confie le dossier :

useradd cactiuser -d /srv/http/cacti -s /bin/false
chown -R cactiuser /srv/http/cacti/rra /srv/http/cacti/log

Il faut maintenant créer un script qui sera exécuté périodiquement pour collecter les données pour cacti. On va utiliser pour cela cron en ajoutant un nouveau dossier :

# mkdir /etc/cron.cinqMinutes
# cd /etc/cron.cingMinutes
# touch cacti_poller.sh

Éditez le fichier cacti_poller.sh :

#!/bin/sh
php /srv/http/cacti/poller.php > /dev/null 2>&1

Le code ci-dessus va lancer le script php poller.php. Il faut maintenant le rendre exécutable et enlever l’éventuelle copie de sauvegarde laissée par votre éditeur :

# chmod +x cacti_poller.sh
# rm cacti_poller.sh~

Maintenant qu’on a le script, il faut dire à cron de le lancer toutes les 5 minutes :

# crontab -e

Ajoutez la ligne suivante à la fin du fichier pour exécuter le contenu de notre nouveau dossier toutes les 5 minues :

*/5 * * * * /usr/sbin/run-cron /etc/cron.cinqMinutes

Sauvegardez et fermez le fichier.

Éditez maintenant le fichier /etc/php/php.ini et décommentez, si nécessaire, la ligne suivante :

;extension=msql.so

Enregistrez et fermez le fichier pour éditer ensuite le fichier /etc/httpd/conf/httpd.conf et rajouter tout à la fin les lignes suivantes :

<Directory /srv/http/cacti/*>
   php_admin_value open_basedir none
</Directory>

Ce petit bout de code va permettre à votre cacti d’inclure des éléments se trouvant dans /usr/bin/ ce qui n’est pas permis par php.ini, par défaut.

Redémarrez apache :

/etc/rc.d/httpd restart

Configuration

Connectez-vous à l’interface web ( http://127.0.0.1/cacti ), il vous demande alors votre nom d’utilisateur et votre mot de passe. Mettez admin pour les 2. Il vous demande alors de changer le mot de passe. Entrez le mot de passe de votre choix.

Vous arrivez alors dans l’interface à proprement parlé. Cliquez sur l’onglet console, descendez dans le menu à gauche jusqu’à trouver le menu configuration et cliquez sur settings juste en dessous. Dans la page de droite, trouvez la liste déroulante correspondant à RDDTool utility version et sélectionnez RDDTool 1.3.x puis sauvegardez.

C’est fini

Voilà, votre cacti est configuré, il ne vous reste plus qu’à en profiter. Cliquez sur l’onglet graphs pour voir les graphiques représentant votre système.

Liens

Cette page est fortement inspirée de la version Ubuntu : [1]