Cacti, le complement idéal de Nagios !

Date: 19/03/2007 | Catégories: Reseau | Tags: ,,,,,,

Nous allons dans ce post parler de l'installation de Cacti, qui me semble offrir des fonctions complémentaires à Nagios déjà évoqué dans ce blog.

C'est quoi donc ?

Cacti est une interface Web écrite en PHP permettant de gérer des graphes RRD. Ces graphes RRD peuvent avoir comme source le résultat de n'importe quelle requêtes SNMP ou d'un simple script. Cela permet donc une large possibilitée d'utilisation. La gestion se fait par des menus relativement simple à utiliser (il faut tout de même un temps de prise en main mais la documentation est très bien faite).

Configuration nécessaire

Un operating system (Unix de préference)
Un serveur Web fraichement installé (Apache par exemple).
Une base de données MySQL.
Les sources de Cacti ou un package pour votre operating system.

Installation de cacti (exemple donnée pour une Fedora Core 6)

Update: cliquez ici pour voir un nouvel article sur une procédure d'upgrade en version 0.8.7 

Il faut commencer par installer les utilitaires SNMP:

# yum install net-snmp net-snmp-utils

Puis Cacti en lui même (on utilise le package du repos extra):

# yum install cacti

Avant toute chose, nous allons ajouter la configuration nécessaire pour que le serveur Web (Apache) prenne en compte cacti:

# cd /etc/httpd/conf.d/
# vi cacti.conf
Alias /cacti/ /usr/share/cacti/
<Directory /cacti/>
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# apachectl restart

Après vous être placé dans le répertoire d'installation, il faut créer la base de donnée MySQL (on part sur l'hypothése ou la base de donnée est sur le même serveur):

# mysqladmin --user=root create cacti
# mysql cacti < cacti.sql
# mysql --user=root mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword';
mysql> flush privileges;

... et la configurer en éditant le fichier include/config.php:

# vi include/db.php
<?
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "password";
$database_port = "3306";
?>

Nous pouvons alors lancer un navigateur Web sur l'URL: http://votreadresseip/cacti/
Au premier lancement, une page de configuration va apparaître. Vous devez choisir RRD (dernière version).

Il est parfois nécessaire de changer les droits du répertoire de travail de Cacti:

# cd /usr/share/cacti/
# chown -R cacti rra/ log/

La dernière étape va automatiser le lancement de cacti toutes les 5 minutes:

# crontab -e -u cacti
*/5 * * * * /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Et voila, vous avez maintenant un bel outils pour générer toutes les courbes RRD possibles ;)

  • http://www.whatismyip.fr jerome

    Merci pour cette aide précieuse.
    Juste une petite remarque la commande pour editer la crontab du user cacti est crontab -e -u cacti. Avec -l, c’est juste pour lister.

  • http://blog.nicolargo.com NicoLargo

    Mrci pour la remarque, je corrige le tuto

  • Henere

    Bonjour, je suis actuellement en stage. Mon projet est la mise en place de nagios sous Linux redhat 8.0. Je dois donc installer et configurer apache, ainsi que php, mysql et libgd. Pourrais tu m’expliquer la relation entre Mysql, libgd…et mon projet qui concerne l’outil nagios? j’ai compris qu’il fallait un serveur apache, car nagios génère des pages http..mais je ne comprend pas pour MySQL et libgd.
    Merci encore pour ton aide.
    cordialement

  • http://blog.nicolargo.com NicoLargo

    @Henere: attention, PHP/MySQL et libdg sont seulement nécessaire si tu souhaites installer Cacti. Pour Nagios, seul un serveur Web supportant les CGI (comme apache) est nécessaire. Je te conseille de bien lire l’ensemble des documents mis à disposition sur ce blog ou ailleurs ;)):

    Documents et tutos sur Nagios and Co…

  • Henere

    d’accord! merci pour ces informations.
    J’ai finalement décider d’utiliser le serveur apache pour nagios, et d’ajouter Oreon, logiciel que je viens de découvrir dans les documentation.
    souhaite moi bonne chance! ;)

  • Niala

    Salut NicoLargo !
    je suis a la recherche d’un produit ou plugins qui associé a cacti me permettrai de creer des rapport sur la qualité de mon reseaux (taux de charges, volumetrie, etc ….)
    J’ai bien essayé le plugin reportit mais sans succes …. il me semble assez complexe a parametrer au niveau reporting …
    Si tu as des pistes je suis preneur
    Merci pour les doc cacti & nagios !

  • Jean-Luc

    zut

    je voiis ceci trop tard, cela m’aurait évité de tatonner trop!!!

    je retrouve bien les étapes que j’ai du tracer pour y parvenir (sous debian)

    merrci

  • http://blog.nicolargo.com NicoLargo

    Si vous voulez intégrer Cacti à Nagios, vous pouvez lire ce billet sur le sujet:

    http://blog.nicolargo.com/2008/06/lier-cacti-et-nagios.html

    A

  • Franck

    salut

    comment effectuer la commande crontab -e -u cacti. Celle-ci ne fonctionne pas.
    lorsque j’installe mysql-server j’ai une erreur d’installation car il n arrive pas a stopper mysqld. Comment je peux faire pour regler le probleme?
    Merci.

  • Franckk

    Bonjour,

    Ayant plusieur machine virtuel, j ai reussit a installe cacti,mais mon probleme et le suivant:

    Mes host dans la section device sont en unknown ainsi que celui-ci:

    RRDTool Says:

    ERROR: opening ‘/usr/share/cacti/site/rra/localhost_proc_7.rrd’: No such file or directory

    comment puije regler ces different probleme.

  • http://www.friendly-froggy.net Friendly Froggy

    Bonjour!

    Super découverte du jour ton blog! Je vais le suivre de près!

    Dis moi, j’ai installé cacti il n’y a pas longtemps et je n’arrive pas à obtenir un graph de la bande passante… J’ai pourtant ajouté un Device en Generic SNMP v2, mais je n’arrive pas à l’afficher dans mon onglet graph…

    Faut dire que cela fait à peine quelques heures que je l’ai installé, donc je découvre…

    En tous cas merci pour tes articles, c’est une vrai mine ton blog!

  • Delard

    bonjour,
    je viens d’installer cacti sur mon serveur nagios-centreon. cacti fonctionne correctement en localhost.
    Maintenant comment je fais pour que cacti communique avec nagios et avoir des graphiques cacti de tous mes serveurs dans nagios.
    merci

  • Mohamed

    Bonjour,
    j’ai un serveur nagios à mettre en place. j’ai réussi à superviser mes équipements (en actif et en passif) mais je veux avoir des graphiques (ce qui manque dans l’interface de nagios) Vous me conseillez quel outil pour celà ? sachant que j’ai modifié l’arborescence de mes fichiers de configuration selon la structure de l’entreprise où j’effectue mon stage. Donc impossible de revenir en arrière sur l’arborescence de base.
    j’ai essayé d’installer PNP4NAGIOS mais sans succès (j’ai une erreur qui dit que mon fichier est vide..)

    P.S : j’utilise la dernière version de nagios 3.3.1

    Merci à vous et bne journée =)

  • Mohamed

    Up !!!

    des conseilles svp :(

  • douhaji

    comment cacti complete nagios !!! je comprend pas merci :)