Cacti
# Cacti

Cacti est un logiciel libre de mesure de performances réseau et serveur basé sur la puissance de stockage de données de RRDTool. Il est souvent utilisé avec des logiciels de supervision (par exemple Nagios), mais il ne fait pas de supervision en tant que tel. Il ne fait pas de corrélation d'incidents ni d'alerte en cas d'incident (bien que des plugins existent, ce n'est pas son but premier). Par ailleurs, il permet de faire l'étude d'indicateurs sur une période donnée (moyenne sur le mois par exemple, ou maximum de la semaine, etc ...) contrairement à la supervision qui permet de connaître l'état de l'indicateur en temps réel. Il fonctionne grâce à un serveur web équipé d'une base de données MySQL et du langage PHP. Il peut être considéré comme le successeur de MRTG et également comme une interface d'utilisation de RRDTool.

Il permet de représenter graphiquement divers états de périphériques et équipements réseau utilisant SNMP pour connaître la charge processeur, le débit des interfaces réseau, utilisation de la Qualité de service sur une ligne, la qualité d'une liaison (CRC/s) ou encore la latence réseau.

Cacti utilise aussi un système de scripts (Bash, PHP, Perl, VBs...) pour effectuer des mesures plus complexes, par exemple l'espace disque restant, la charge processeur pour un processus donné ou le temps de réponse applicatif.

Historiquement c'est un script PHP (cmd.php) qui réalise cette collecte de mesures (polling). Depuis la version 0.8.6, il est possible d'utiliser un exécutable écrit en C, cacti-spine (initialement cactid), qui améliore énormément la vitesse de mesure grâce à l'utilisation directe de la bibliothèque net-snmp et l'utilisation des threads POSIX.

À intervalles réguliers (par défaut toutes les 5 min), le poller (spine ou cmd.php) réalise les requêtes SNMP, ordonnance les scripts et enregistre les résultats.

L'attrait de ce logiciel réside principalement dans son principe de modèles (Templates) qui permet de créer de manière générique les graphiques afin de pouvoir les réutiliser. Ce système peut sembler déroutant pour les nouveaux utilisateurs, mais montre vite ses avantages lorsqu'il s'agit de superviser un grand nombre d'indicateurs et/ou d'équipements. Les possibilités d'import et d'export de ces templates permettent de les partager avec toute la communauté des utilisateurs.

Contrairement à MRTG qui régénère l'ensemble des graphiques toutes les 5 minutes, Cacti génère les images dynamiquement à l'affichage à partir des fichiers de données RRDTool. Cela permet par exemple de pouvoir zoomer sur une période ou changer dynamiquement la période du graphique.

Il est également possible d'effectuer des opérations simples (et des combinaisons d'opérations) avec les différentes données, avant leur affichage, grâce à une interface graphique qui permet l'utilisation simplifiée de la commande CDEF de RRDTool. On peut ainsi convertir les octets en bits ou visualiser facilement un graphique en pourcentage.

