Installer et configurer Cacti

Introduction à Cacti

Cacti est un logiciel de supervision réseau basé sur la puissance de stockage de données de RRDTool. Il fonctionne grâce à un serveur web équipé d'une base de données et du langage PHP. Il peut-être considéré comme le successeur de MRTG et également comme une interface d'utilisation de RRDTool. Concrètement, il fait des jolis graphiques sur tout ce que vous voulez, et sur toutes les machines désirées.

Pré-requis et mise au point sur l'article

Attention, veuillez bien lire ce qui suit avant de foncer tête baissée :

  • Cet article traite de la mise au point complète de cacti, de l'installation de snmpd jusqu'à la réalisation des graphiques basiques ;
  • Réalisé sur Debian 4 (Etch), sur Lenny c'est normalement la même chose ;
  • L'article n'est pas finalisé et ne traite pas (encore) des graphiques personnalisés et toutes les autres possibilités de Cacti : cette page est juste une mise en route.

Installation de snmpd

Déjà pour comprendre un peu : la machine sur laquelle va se trouver Cacti, va centraliser les information de la machine elle-même, mais peu aussi récupérer des informations sur d'autres machines. Comme expliqué, Cacti est basé sur le snmp. Il faut donc l'installer :

aptitude install snmpd

Mais par défaut, le snmp n'est pas joignable, même en local ! Pour ça il faut modifier le fichier :

nano /etc/snmp/snmpd.conf

Trouvez les lignes suivantes, commentez le premier com2sec et décommentez le deuxième de manière à obtenir ceci :

#       sec.name  source          community
#com2sec paranoid  default         public
com2sec readonly  default         public
#com2sec readwrite default         private

N'oubliez pas de redémarrer le service :

/etc/init.d/snmpd restart

Testons si cela fonctionne avec un appel à snmp (dans notre exemple on regarde la mémoire) :

snmpwalk -v 1 -c public 127.0.0.1 mem

Le résultat devrait être quelque chose du genre :

UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 979956
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 979876
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 1028172
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 15720
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 995596
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000
UCD-SNMP-MIB::memShared.0 = INTEGER: 0
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 18472
UCD-SNMP-MIB::memCached.0 = INTEGER: 902936
UCD-SNMP-MIB::memSwapError.0 = INTEGER: 0
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: 

Installation de Cacti

Pas de mystères :

aptitude install cacti

L'installation va vous demander de configurer la base de donnée, tout est quasi automatique, indiquez les mots de passes etc.

Ensuite, rendez vous sur : http://votreserveur/cacti

Là, c'est du "next next". A la première connexion, il vous demandera de changer le mot de passe admin.

Configuration de Cacti

Bon, c'est bien beau d'installer Cacti. Mais il faut comprendre le fonctionnement de base (pas très intuitif au départ).

Tout d'abord, dans le menu de gauche, dans la partie "Management" :

  • Devices : ce sont les PC/routeurs/whatever qui seront monitorés par Cacti. Donc logiquement, on trouve déjà localhost. C'est ici que vous devrez ajouter des hôtes supplémentaires pour les monitorer.
  • Data Sources : ce sont les sources de données sur lesquelles va se baser Cacti pour faire des graphiques. Par exemple, vous pouvez voir les sources crées par défaut lors de l'installation, qui sont les sources de votre localhost (Load Average etc).
  • Graph Tree : c'est l'arbre sur lequel va s'afficher vos graphiques. Personnellement, j'ai crée une branche par host, pour bien regrouper les graphique de chacun. On verra plus tard comment l'organiser.
  • Graph Management : c'est là qu'on crée, publie et organise nos graphiques. Ces graphs vont se nourrir des datas sources précédemment crées.

Ajouter un hôte à surveiller

Sur l'hôte en question, il faut que le SNMP fonctionne. Si c'est une Debian/Ubuntu, reportez vous à le section installation de snmpd. Attention cependant, la machine ne ce sera accessible qu'en local, d'où la nécessité de modifier l'habituel fichier de conf:

 nano /etc/snmp/snmpd.conf 

Pour le rendre le snmp accessible sur votre réseau local par exemple, modifiez comme ceci :

#       sec.name  source          community
#com2sec paranoid  default         public
com2sec readonly    192.168.0.0/24      public
#com2sec readwrite default         private

Dans notre cas, le snmp de cette machine n'est accessible quand dans le range du réseau local. On peut aussi spécifier une ip précise pour limiter encore plus.

Il est de bon aloi de tester si cela fonctionne. Faites le test sur la machine qui possède Cacti, pour interroger l'host en question (disons que c'est 192.168.0.2 et que notre serveur sous Cacti est 192.168.0.1) :

snmpwalk -v 1 -c public 192.168.0.2 mem

Qui devrai vous retourner un truc du genre :

UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 979956
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 937936
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 451580
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 7924
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 945860
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000
UCD-SNMP-MIB::memShared.0 = INTEGER: 0
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 22628
UCD-SNMP-MIB::memCached.0 = INTEGER: 52512
UCD-SNMP-MIB::memSwapError.0 = INTEGER: 0
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:

Si tel est le cas, votre hôte est joignable, reste plus qu'a l'ajouter dans Cacti. A noter que si vous le créez avec le template Linux Host, vous aurez des graphiques préfabriqués, ce qui est plutôt pratique !

Pour les gens qui ont un firewall sur la machine à surveiller, n'oubliez pas d'accepter le port 161…

Exemple concret : monitorer le traffic d'une interface

Pour ce faire, allez donc sur votre host (dans Devices). En bas, dans Associated Data Queries, ajoutez "SNMP - Interface Statistics". Cette zone permet d'ajouter des types de requêtes SNMP préfabriqués, ce qui tombe bien, puisque Interface Statistics correspond à notre besoin.

Une fois celà fait, allez dans le menu Data Sources. On va créer une source de données pour faire le graphique ensuite. Cliquez sur "Add", en haut à droite.

  • Selected Data Template : Interface - Traffic ;
  • Host : l'hôte sur lequel vous voulez monitorer cela ;

Cliquez sur "Create".

Alors là, ouvrez bien vos mirettes :

  • Custom Data

Index Type Data query data sources must be created through New Graphs.

Cliquez sur le lien "New Graphs" ! Une nouvelle page s'affiche, et le zone intéressante est celle ci :

Data Query [SNMP - Interface Statistics]  	
Index 	Status 	Description 	Name (IF-MIB) 	Alias (IF-MIB) 	Type 	Speed 	Hardware Address 	IP Address 	
1	Up	lo	lo		softwareLoopback(24)	10000000		127.0.0.1	
2	Up	eth0	eth0		ethernetCsmacd(6)	10000000	00:00:13:46:3B:E3:40	192.168.1.10 

Cochez les interfaces désirés, n'oubliez pas de sélectionner "Select a graph type" qui correspond à votre besoin (moi c'est en In/Out bytes). Hop, un petit clique sur "Create". Retournez sur le "Graph Management" : ô joie ! Votre graphique est crée !

debian/installer_et_configurer_cacti.txt · Dernière modification: 2008/05/05 18:08 (édition externe)
Haut de page
CC Attribution-Noncommercial-Share Alike 3.0 Unported chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0