Le serveur de supervision libre – PART 4
Nous arrivons bientôt à la fin de l’installation de notre serveur de supervision. Avec Nagios et Centreon il est parfaitement opérationnel. Je trouve cependant qu’il manque encore à Centreon des fonctions de graphes évoluées. C’est pour cela que je propose d’ajouter sur notre bébé un serveur Cacti.
PART 1 – Installation du système d’exploitation GNU/Linux
PART 2 – Installation de Nagios
PART 3 – Installation de Centreon
PART 4 – Installation de Cacti
Quelques exemples de graphes:

Installation de Cacti
La dernière version de Cacti (0.8.7b) est disponible dans les repos apt d’Unbuntu, donc pas la peine de s’embêter pour l’installation (choisir Apache2 comme serveur Web utilisé puis laissé l’installer créer la base de donnée pour vous):
# sudo apt-get install cacti-cactid
Les paramètres de la base de donnée dédiée à Cacti sont stockés dans le fichier /etc/cacti/debian.php.
$database_username=’cacti’;
$database_password=’monmotdepasse’;
$basepath=”;
$database_default=’cacti’;
$database_hostname=”;
$database_port=”;
$dbtype=’mysql’;
Il faut ensuite se rendre sur l’interface Web:
http://<adresseIPserveur>/cacti/
REMARQUE: ne pas oublier le / à la fin…
Puis suivre les étapes suivantes:



Une bannière d’authentification devrait apparaître. Le login/password par défaut est admin/admin.

Vous voilà sur l’interface d’administration de cacti.

Il faut maintenant configurer le logiciel pour savoir comment le polling va être fait (quand et comment cacti va chercher les informations pour faire ses graphes). On va dans le menu Configuration Setting/Poller puis on sélectionne Spine comme type de polling:

Et voilà, au bout de 15 minutes, vous devriez voir les premiers courbes dans l’onglet Graphs. Je vous laisse lire le manuel pour entrer de nouveaux graphes dans votre configuration.
Intégration de cacti dans Nagios
Le but est d’ajouter automatiquement un lien vers Cacti depuis l’interface Web de Nagios. Il suffit donc juste de cliquer sur un bouton (
) pour être redirigé automatiquement vers la page correspondante au host en question dans Cacti.
Nous allons pour cela utiliser un scipt PHP nommé CactiPlug (téléchargeable ici).

Installation de cactiPlug.php
L’installation donnée ci-dessous a été validé avec Nagios 3.06 et Cacti 0.8.7b.
Il faut suivre les étapes suivantes:
# tar zxvf cactiplug-0.2.tgz
# mv cactiplug /usr/local/nagios/share
# chown -R nagios:nagios /usr/local/nagios/share/cactiplug
Ensuite il faut configurer Nagios pour qu’il prenne en compte le plugin. Le plus simple est d’ajouter la ligne suivante dans le template generic_host du fichier template.cfg (voir ici vous êtes perdu dans les fichiers de conf de Nagios).
define host{
name generic-host
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
notification_period 24×7
register 0
action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS
}
Si vous utilisez Centreon, cette action peut être faite via le menu Configuration / Hosts / Host Extended infos:
- Action URL: /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS

Configuration du plugin
La dernière étape consiste à éditer le fichier /usr/local/nagios/share/cactiplug/cactiplug.php afin d’y saisir les informations relatives à votre base de données Cacti (host, nom de la base, login et password).
Ensuite, il ne reste plus qu’a relancer Nagios:
# sudo /etc/init.d/nagios restart
Conclusion
Et voilà pour la fin de cette série de billets sur l’installation d’un serveur de supervision libre. Nous aurons l’occasion de l’amèliorer dans les prochaines semaines. Pour cela, n’oubliez par de vous abonnez au blog pour ne rien louper ![]()
Des questions sur ce billet ? Poser les directement sur le forum du blog de Nicolargo.






Twitter:
Rss:
41 commentaires
Salut,
je voulais savoir si l’utilisation de Cacti ne faisait pas double emploi avec CentStorage ?
Cacti c’est un check toutes les 5 minutes (cron) ?
sinon merci pour l’astuce sur “Action URL”
@WAtt: Pour moi Cacti est complémentaire à CentStorage car il permet de “grapher” des données qui ne sont pas forcement surveiller par Nagios/Centreon. Par exemple, sur un routeur d’accès, il peut être utile de surveiller l’état des interfaces (UP/DOWN), voir la CPU/MEMOIRE utilisées avec Centreon et grapher les débits réseaux avec Cacti.
Je n’utilise pas le cron pour lancer le pooling de cacti mais le process cactid/spine qui se présente sous la forme d’un daemon lancé en tache de fond (un peu à la manière de CentStorage) qui lance le poller “Spine”. Il est ainsi possible de baisser le pooling à 10 secondes.
Salut
J’ai suivi le billet d’install et tout fonctionne avec succes.
Je n’ai pas eu besoins de confirgurer le cron pour lancer poller.php
sachant que je n’utilise pas spine. J’ai laisser le setting par defaut pour le poller tyle.
Pourquoi ? Et bien quand je passe sur spine et que je vais dans le menu general, un message d’errur m’indique que le binaire spine n’est pas trouvé. Un locate ne me permet pas de trouver ce bianire.
Donc pas de cron , et les graphes sont ok.
Pas moyen de trouver spine ?
Devrais je ne pas tenir compte de ce message d’erreur ?
Tout ceci pour compléter par mon retour d’expérience.
Cedric
J’adresse toutes mes félicitations à l’auteur pour la qualité de ce post.
En suivant scrupuleusement les instructions, j’ai réussi à avoir une installation fonctionnelle sans aucun souci.
Merci Nico
Vulcain,
Tu n’as pas de souci pour Spine ? Tu utilise ce binaire pour poller les donnees ?
Merci
Cedric
il y a quelque chose qui m’échappe, cacti est un frontend pour rrdtool qui utilise snmp pour récupérer des informations et créer ces graphes c’est bien ça, mais il récupéré les informations de quels hosts ? est ce qu’il utilise ceux déclarer dans nagios?
@cherkaoui: Cacti utile une base d’hosts à surveiller différente de celle de Nagios. Mais il est toujours possible, moyennant un petit développement, d’extraire les hosts de la base Nagios NDO et de les injecter dans la base Cacti… (si il y a un volontaire, je suis preneur).
Donc il faut ajouté les hosts manuellement.
Dans le cas d’une 20éne de hosts, c’est pas trop grave de les ajouter a nouveau.
Dans mon cas ce qui m’intéresse c’est de savoir le débit des interfaces des équipements réseau (switchs, routeurs, …) ,
j’ai vu dans le site officiel de cacti des captures montrant des débits, est-ce qu’il suffit d’ajouter des hosts pour avoir les graphes de toutes les interfaces?
@cherkaoui: Cacti récupère les informations de débit via SNMP. Lors de la création d’un host, il va automatiquement regarder tout les paramètres mis à disposition par le host. A toi de choisir ceux que tu veux “pooler”.
Effectivement, j’ai installé Cacti et j’ai testé l’ajout d’un switch, grâce a snmp, il arrive a détecté ces interfaces, après il suffit de créer des graphes pour voir le débit de chaque interface, je le trouve encore plus facile a utilisé que Centreon, je ne sais même pas comment ce dernier peut faire ça…
Vraiment super le tuto, j’en aurai certainement besoin dans quelque temps.. et j’espère que tu restera joignable au cas ou ^^ Une question me trote concernant les plugins. Est ce que c’est à nous de les développer ?quels sont les langages qu’on peut utiliser ?
Cordialement
@Foxtrom: de nombreux plugins sont fournis par défaut:
http://www.nagios.org/download/license.php?target=nagiosplugins-stable
tu peux également en trouver plein développés par la communauté:
http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Check_Plugins%2Findex.html;d=1
ou alors développer tes propres plugins:
http://blog.nicolargo.com/2007/03/creation-dun-plugins-pour-nagios.html
Bienvenu dans ce monde merveilleux
Bonjour,
perso, j’ai un problème avec les graphes, parce qu’ils n’apparaissent pas…
Cacti ne me crée pas les fichiers *.rrd, est-ce que je suis le seul à avoir ce problème?
Pour info:
*je suis sous Debian
*je suis arrivé directement à cette étape, sans installer Centréon
*mon rrdtool est en version 1.2, et il fonctionne puisque j’ai des graphes dans PNP
*quand je fais un ” php /usr/share/cacti/site/poller.php “, j’ai cette erreur:
Parse error: syntax error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘ } ‘ in /usr/share/php/adodb/adodb.inc.php on line 430
Personne n’a rencontré ce problème?
Merci d’avance.
Bonjour,
j’ai fais mis les paramètres de la base de donnée dédiée à Cacti dansr /etc/cacti/debian.php.
$database_username=’cacti’;
$database_password=’monmotdepasse’;
$basepath=”;
$database_default=’cacti’;
$database_hostname=”;
$database_port=”;
$dbtype=’mysql’;
et j’ai cette reponse :
Warning: mysql_connect() [function.mysql-pconnect]: Access denied for user ‘cacti’@localhost’ (using password: YES) in /usr/share/php/adodb/drivers/adodb-mysql.inc.php on line 382
Je ne saispas quoi faire.
Merci
@balthazar82:
Essaies ça, j’ai eu ce problème aussi…
adduser cacti
mysqladmin –user=root -p
create database cacti
mysql -u root -e “grant all privileges on cacti.* to cacti@localhost identified by ‘cacti’; flush privileges;”
zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u cacti –password=cacti cacti
Reload Apache
Merci,
c’est que j’ai fait et c’est bon.
@+
Salut à tous,
Bon ben finalement, j’ai suivi un autre tuto pour arriver à mes fins…
Pour les utilisateurs de Debian, lorsqu’on télécharge cacti, le paquet rrdtool fourni avec est en ver. 1.3, incompatible avec Cacti!!!
Donc j’ai récupéré le paquet rrdtool-1.2.15….deb sur packages.debian.org.
Quant au paquet cacti, je l’ai récupéré sur cacti.net dans sa version 0.8.7d.
@Nicolargo: je crois qu’il manque quelques éléments dans le tuto (notamment concernant la base de données cacti, droits sur fichiers rra et log…)
bonjour,
j’ai un probléme lors de l’accés a cacti via nagios qui est que je doit m’authentifier pour voir les graphs alors que je voudrait les observe en n’ayant aucune authentification a realisrer.
Merci.
Bonjour
Je rencontre un problème pour intégrer le lien de nagios vers Cacti avec le plugin cactiplug.
J’ai tout scrupuleusement bien suivi le tuto, mais il me dit “404 Not found”, pourtant le chemin est bon o_O.
Le dossier nagios3 se trouve dans /usr/share/nagios3, est-ce bien dans ce dossier qu’il faut mettre le dossier cactiplug ?
Configuration :
Nagios : 3.0.6
Cacti : 0.8.7c
OS : Debian 5.0 Lenny
Merci
(pour spz)
J’ai réussi a adapter facilement ton tuto sur une Debian 5 avec nagios 3 :
-/ il faut mettre cactiplug dans “/usr/share/nagios3/htdocs/”
-: il faut mettre comme action_url “/nagios3/cactiplug/cactiplug.php?ip=$HOSTADDRESS”
@franck,
dans cacti :: console -> settings -> authentification :
Guest User = guest
apres c’est ok (detruire tes cookies si nécessaire)
Bonjour
Merci nilux de ta réponse
Sauf que maintenant il me dit “Host not found, sorry…” O_o
Cacti est installé dans /usr/local, est-ce que cela a une importance ?
Merci.
bonjour,
voila je n’est pas installe centreon mais juste cacti et nagios ainsi que cactiplug.
Lorsque je veux visualiser les graphs de l’hotes, j’aimerait que ces graph apparaissent dans la frame et non pas dans un nouvel onglet.
Comment puije faire? Comment doije modifier le fichier cactiplug.php??
Merci de bien vouloir m’aider.
@Slyer : peux-tu me dire quel tuto tu as suivi pour Debian car j’ai le même souci avec Cacti sous Debian 4 qui ne me génère pas de graph ! Merci par avance ;
Ouff je suis arrivé jusque là.. sans trop de souci.. UN GRAND MERCI
j’ai une question stupide : Ils disent “d’ajouter la ligne suivante dans le template generic_host du fichier template.cfg” est ce que c’est la même chose que le faire sous Centreon, dans le menu configuration ?en ajoutant : * Action URL: /nagios/cactiplug /cactiplug.php?ip=$HOSTADDRESS
Et une question un peu moins con…
ou modifier dans le fichier /usr/local/nagios/share/cactiplug/cactiplug.php les informations relatives à votre base de données Cacti (host, nom de la base, login et password).
j’ai saisie plein de trucs.. et j’avoue que le nom de la base… je suis un peu perdu.. si vous pourriez m’éclairer. Un grand Merci
Salut ! merci pour ce tutaux !! j’aimerai simplemnt savoir qu’elle logiciel a tu utilisé pour flécher tes image de la sorte !? merci
@Jay: Skitch sous Mac OS X (http://skitch.com/)
okay !! merci d’avoir répondue aussi vite !! existe t’il le meme utilitaire sous Windows ?
question concernant le serveur Nagios-centreon : Peut-on crypter le trafic Windows nsclient ——nagios-centreon Check_nt a traves un tunnels SSH ?
Salut. ton tuto est génial!!!
je cherche un peux plus d’info sur le fonctionnement des 3 briques ( cacti, nagios, centreon ). J’utilisais juste cacti et là j’ai du mal a capter comment il s’intègre.
a tu un site a me conseillé.
@Jay: pour faire des super tuto tu peux essayé captivate. C’est payant mais ça vaut vraiment le coup de tester la version d’évaluation
Hello, juste pour signaler que j’ai eu l’erreur “TCPDF error: Alpha channel not supported: http://blog.nicolargo.com/wp-content/uploads/2009/01/get-image-1.png” en cliquant sur l’icône pdf en début de cet article…
Bravo en tous cas pour cette suite de tuto vraiment bien réalisée et complète !
Bonjour
J’aimerai bien récupérer les info de ma base de donné Cacti.
Comment puis je y accéder sur console et comment puis je les récupérer?
Merci d’avance
Nicolas
ma petite pierre à l’édifice, pour résoudre le soucis du lien ‘cacti’ dans nagios qui foire.
Il faut pensé à modifier le fichier ‘cactiplug.php’ dans ‘/usr/local/nagios/share/cactiplug’.
# Default options (TO BE CONFIGURE)
$cactiurl=”http://IP_SERVEUR/cacti”;
$database_default = “cacti”;
$database_hostname = “”;
$database_username = “cacti”;
$database_password = “LeMotDePasse”;
# End of the options (DO NOT MODIFY THE INFORMATIONS BELLOW)
suivi d’un ‘/etc/init.d/nagios restart’.
Sa a résolu mon soucis et tout marche.
Bonsoir,
Petite erreur au moment de récupérer le PDF
TCPDF error: Alpha channel not supported: http://blog.nicolargo.com/wp-content/uploads/2009/01/get-image-1.png
Pouvez-vous corriger ?
D’avance un grand merci
Bonjour NicoLargo,
Tout d’abors, un grand, mais vraiment grand merci pour toutes ces infos sur Nagios, Centreon et Cacti.
Une question :
Pour récuperer la CPU ainsi que la RAM d’un serveur Windows, un client du type NSClient++ doit être installé sur le serveur Windows à superviser pour que Nagios puisse récuperer les données. Par contre Cacti n’a pas besoin de client sur le serveur Windows à superviser pour récuperer la CPU et le RAM.
Pourrais tu me dire comment Cacti récupère les infos de CPU et de RAM ?
Merci
@cryo: Cacti utilise le protocole SNMP pour récupérer ces informations sur le serveur Windows à superviser. Il faut donc qu’un serveur SNMP soit installé et configuré sur cette machine.
Bonjour NicoLargo,
Encore merci pour ces versions réactualisées de vos tuto que je trouve les mieux fait, pour ceux que j’ai épluché (nagios/ubuntu). Je voulais simplement vous prévenir que la “PART-4″ de ce tuto ci n’est pas téléchargeable en pdf. Les 3 premières parties aucuns soucis, mais la dernière (la 4) me renvoit a une page stipulant (je cite) :
TCPDF error: Alpha channel not supported: http://blog.nicolargo.com/wp-content/uploads/2009/01/get-image-1.png
W7 Pro
IE8 : 8.0.7600.16385
Bonne continuation
@Francois: merci pour le compliment. Pouvez vous re-essayé la conversion PDF, je viens de convertir l’image dans un autre format.
Bonjour Nicolargo,
il semblerait que le problème :
TCPDF error: Alpha channel not supported: http://blog.nicolargo.com/wp-content/uploads/2009/01/get-image.png
est encore présent.
Merci, bonne continuation et surtout excellent boulot
Pour moi:
http://127.0.0.1/cacti/ ne marche pas, il me dit :
Not Found
The requested URL /cacti/ was not found on this server.
Apache/2.2.12 (Ubuntu) Server at 127.0.0.1 Port 80
Bonjour nico
J’avais un probleme de login, comment refaire l’install complete avec
apt-get install cacti-cactid pour qu’il me recree la base de donee cacti
merci d’avance
Bonjour Nico
Merci pour votre TUTO
mon probléme c’est que j’ai pas les graphs de mes Hosts et quand j’ai fait le debug j’ai ce message d’erreur:
RRDTool Says:
ERROR: opening ‘/var/lib/cacti/rra/webcom_traffic_in_9.rrd’: No such file or directory
je ne sais pas pkoi!!! peut etre je ne sais pas comment ajouter un host !!
Veuillez m’aider SVP