Installation de Cacti et des plugins Network Weathermap et Discovery
Administration des Réseaux, Adminstration Server Linux, Debian, Supervision Add comments
Introduction
Cacti est un logiciel libre de supervision serveur 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.
Il permet de représenter graphiquement divers statuts de périphériques réseau utilisant SNMP ou encore grâce à des scripts (Bash, PHP, Perl, VBs…) pour avoir par exemple l’espace disque restant ou bien la mémoire utilisée, la charge processeur ou le ping d’un élément actif. Les données sont récoltées auprès des différents agents SNMP (ou auprès des scripts locaux) grâce à un script php.
L’intérêt 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. De manière générale, tout est modèle sous Cacti. Cela est avantageux lorsque de nombreuses données identiques doivent être observées, mais cela peut se révéler fastidieux à configurer lorsque les données sont hétérogènes.
Version des logiciels utilisés
Debian : Net Install Squeeze
Cacti : 0.8.7e-1.1
Plugin Architecture : 2.6
Installation du server LAMP
Une fois la distribution installée et la configuration réseau faites, on met à jour les dépôts et on met tous a jour, même si normalement tous doit être déjà à jour
aptitude update && aptitude full-upgrade
On installe maintenant le server apache2 avec php5 et mysql-server, plus d’autre outil nécessaire a cacti
aptitude install apache2 mysql-server php5 php5-cli snmp rrdtool phpmyadmin php-pear
Réponse aux questions durant l’installation :
Nouveau mot de passe du superutilisateur de MySQL : superpass
Confirmation du mot de passe du superutilisateur de MySQL : superpass
Serveur web à reconfigurer automatiquement: Apache2
Faut-il configurer la base de données de phpmyadmin avec dbconfig-common : oui
Mot de passe de l’administrateur de la base de données : superpass
Mot de passe de connexion MySQL pour phpmyadmin : laisser vide, il sera générer aléatoirement
Votre server web est fonctionnel, vous pouvez tester en allant sur http://ip-du-server/phpmyadmin
Installation de Cacti
aptitude install cacti cacti-spine
Réponse aux questions durant l’installation :
Faut-il configurer la base de données de cacti avec dbconfig-common : oui
Mot de passe de l’administrateur de la base de données : superpass
Mot de passe de connexion MySQL pour cacti : laisser vide, il sera générer aléatoirement
Type de serveur web: Apache2
Si tous c’est bien dérouler vous devriez avoir accès à l’interface de Cacti via cette adresse http://ip-du-server/cacti
Le login:password par défaut est admin:admin, il vous sera demandé de le changer immédiatement au premier login.
C’est terminer pour la partie installation de cacti
Installation du Plugin Architecture
Une grande force de Cacti est sa faculté d’utiliser des autres outils dans des plugins intégrés à son interface. L’avantage sera alors de pouvoir gérer plusieurs logiciels avec une seule plate-forme.
On le trouve sur le site http://cactiusers.org/downloads/
On commence par installer de quoi dézip et ensuite on télécharge l’archive
aptitude install unzip cd /tmp wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip unzip cacti-plugin-0.8.7e-PA-v2.6.zip
On copie les fichiers pré modifié dans cacti
cd /tmp/cacti-plugin-arch/files-0.8.7e cp -r * /usr/share/cacti/site/
On met à jour la base de données
mysql -u root -p cacti < pa.sql
On va maintenant configurer et corriger quelque bug dans la configuration
cd /usr/share/cacti/site/ vi include/global.php
À la ligne 56 remplacer
$config['url_path'] = '/';
Par
$config['url_path'] = '/cacti/';
À la ligne 202 remplacer
include($config["library_path"] . "/adodb/adodb.inc.php");
Par
include("/usr/share/php/adodb/adodb.inc.php");
Le Plugin Architecture est installé et configuré, vous pouvez l’activé dans les permissions des utilisateurs
utilites -> user management -> admin -> Realm Permissions
Cochez Plugin Management
Ajout de plugins
On se place dans le dossier plugins de Cacti
cd /usr/share/cacti/site/plugins
Network Weathermap
PHP Weathermap est un outil particulièrement utile qui génère des cartes graphiques pour mesurer les bandes passantes (en pourcentage ou en absolu) de vos liens réseaux.
Les cartes vont vous montrer s’il existe des goulots d’étranglements (bottlenecks) sur votre réseau et ainsi vous permettre de mettre à jour le bon lien réseau au lieu de les mettre à jour au hasard et à grand frais.
wget http://www.network-weathermap.com/files/php-weathermap-0.96a.zip unzip php-weathermap-0.96a.zip rm php-weathermap-0.96a.zip
Petite correction d’un bug connu
vi /usr/share/cacti/site/plugins/weathermap/setup.php
À la ligne 146 remplacer
if($_REQUEST["action"] == 'viewmapcycle')
Par
if (isset( $_REQUEST["action"] ) && $_REQUEST["action"] == 'viewmapcycle')
Discovery
Ce plugin ajoute la possibilité de découvrir automatiquement tous les périphériques d’un sous-réseau qui ne sont pas surveillées par Cacti et vous indique si SNMP est activé.
Disponible sur cactiusers.org
mkdir discovery cd discovery/ wget http://cactiusers.org/downloads/discovery.zip unzip discovery-0.8.5.zip rm discovery-0.8.5.zip
Activation des plugins
Pour activer les plugins il suffit de remplir un tableau dans le fichier de configuration global
cd /usr/share/cacti/site/ vi include/global.php
À la ligne 44 on remplace
$plugins = array(); //$plugins[] = 'thold';
Par
$plugins = array( 'weathermap', 'disco’ ) ;
Et enfin dans utilites -> user management -> admin -> Realm Permissions
Cochez:
Plugin -> Weathermap: Configure/Manage
Plugin -> Weathermap: View
View Host Auto-Discovery
Finalisation
On termine l’installation par créer le dossier rra si il n’a pas été créé automatiquement et on change le propriétaire des fichiers pour que tous fonctionne bien
mkdir /usr/share/cacti/site/rra chown www-data: -R usr/share/cacti/site
C’est fini, il ne vous reste plus cas ajouter vos devices et créer votre carte réseau.
Liens additionnels
-
Documentation
-
Plugins
-
Templates
janvier 30th, 2010 at 16 h 40 min
Bonsoir.
J’ai remarquer quelques erreurs dans ton tutoriel. En effet, tout fonctionne parfaitement jusqu’à la mise à jour de la base de données via le pa.sql !
Par après, il y a plusieurs erreurs SQL incompréhensible ! Et même en fixer le ‘bug’ en ligne 202, il y a une erreur.
Bonne soirée
Merci d’y jeter un œil.
Marcel
janvier 30th, 2010 at 21 h 08 min
tu sais faire un copier/coller des erreurs SQL ?
J’ai réinstallé Cacti sur une machine pour mon stage cette semaine et je n’ai pas eu de problème :s
mars 4th, 2010 at 8 h 57 min
J’essaye ton tuto de suite ^^
mars 4th, 2010 at 15 h 04 min
J’ai installé FAN 2.0
Je voulais savoir si Cacti et WeatherMap etaient compatibles avec Nagios 3.0.6 / Centreon 2.0.2 / CentOS 5.4
Merci
Cdt.
mars 15th, 2010 at 13 h 32 min
Hello Sylvain
je suis presque au bout de l’install de weathermap sur FAN 2.0, reste l’intégration dans l’interface centreon qui me pose problème, l’utilisation des check snmp existant fct, editeur ok, je vais faire un package avec instruction, sur la dernière partie tout aide sera la bienvenue
mars 31st, 2010 at 15 h 41 min
Yep Maj,
Idem j’ai un problème, l’installation de cacti nikel, je vais sur la page et tout. Mais à partir de l’installe du plugin architecture, je reviens sur cacti, je dois l’installer comme au debut puis apres à la dmd du login-pass il y a le login et une erreur ds le password à la ligne X et le symbole « <br" dans login.
merci de ton aide
Perex
avril 8th, 2010 at 14 h 09 min
Vraiment sympa ton tuto, sa a réglé mes problèmes.
Sinon discovery est bien détecté par architecture mais je n’y ai pas accès dans user management.
Ensuite Weathermap m’affiche toujours un « You Have No Maps »
Sinon très bon travail
avril 12th, 2010 at 14 h 13 min
Bonjour ,
J’ai un petit problème pour effectuer l’installation. Le soucis c’est que dés que je fait « apt-get install cacti » il m’installe la version 0.8.7b et non la 0.8.7e. Je ne peut donc pas alors installer le PIA car chaque PIA est compatible avec une seul version. J’ai pourtant bien effectuer auparavant un « apt-get update » et « apt-get full-upgrade ». Donc je suis un petit peu bloqué ^^ J’aimerais donc savoir quel sont les sources que tu utlise pour télécharger tes paquets. Merci de ton aide ^^
AzN
avril 12th, 2010 at 20 h 13 min
@perex
tu as du louper une étape durant l’install
@Throrin
Le tuto décrit l’installation des plugins, par leur configurations. il faut donc que tu regarde comment les configurer. Je posterais dans les semaines à venir la suite des opérations.
@AzN
Il est clairement marqué en début de tuto que j’utilise une debian squeeze
si tu es sur une lenny et que tu ne veux pas upgrader toute ta distrib regarde ce post pour pourvoir installer des paquets testing sur une version stable
http://www.majorxtrem.be/2010/03/19/utiliser-les-depots-stable-testing-et-unstable-en-meme-temps/
avril 28th, 2010 at 18 h 55 min
bonjour,
j’ai petit problème j’ai bien suivit le tuto, mais sur la page d’authentification j’ai « Fatal error: Call to undefined function clean_html_output() in /usr/share/cacti/site/auth_login.php on line 307″.
Une idée ?
Sinon le tuto est au top !
avril 29th, 2010 at 0 h 55 min
avant ou après l’installation de PA ?
Si c’est après, as-tu bien installé cacti via les dépot testing ?
juin 3rd, 2010 at 16 h 09 min
Moi aussi, j’ai le même problème que thorin : You have no maps.
A préciser : j’ai que trois choses à cocher dans realm; je n’ai pas View Host Auto-Discovery. Est-ce que c’est ça qui cloche tout? ou bien d’autre chose?
Sinon, thanks for posting such a beautiful tuto! Je trouve que c’est très sympa!
juin 4th, 2010 at 16 h 39 min
Salut, merci pour ton tuto c’est pas mal !
Moi depuis l’install de PA quand je me rend sur mon http://localhost/cacti
j’ai un gros
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Fatal error: Unknown: Failed opening required ‘/usr/share/cacti/site/index.php’ (include_path=’.') in Unknown on line 0
Des idées de là où j’ai bien pu faire une erreur ?!
Continu tu fais du bon boulot en tout cas, cdt
juin 4th, 2010 at 21 h 43 min
@macflash ce n’est pas la dernier version de CACTI il faut la prendre dans les dépôt testing
@neeemooo « You have no maps » c’est normal, le tuto explique comment l’installer weathermap, maintenant il faut le configurer et créer les maps
juin 16th, 2010 at 15 h 21 min
@MajorXtrem Effectivement ce n’était pas la bonne version de cacti. Tout est ok après l’installation des plugins mais lorsque je consulte mon cacti.log j’aperçois à chaque lancement du poller « PM – WEATHERMAP: Poller[0] WARNING: Required modules for PHP Weathermap 0.96a were not present. Not running. [WMPOLL08]
run check.php to check PHP requirements. »
Des idées ?
J’ai remarquer aussi qu’après avoir installer PA mes rrd ne sont pas remonté dans le dossier rra créer manuellement du coup j’ai eu mes graph vides mais un cp à rétabli le tout
juin 16th, 2010 at 22 h 30 min
tu as la soluce dans le message
=> run check.php to check PHP requirements
tu verras ce qu’il te manque
juillet 12th, 2010 at 17 h 20 min
salut, merci pour ton tuto (très bien fait)
pour la première correction de bug j’effectue bien les changements, mais après je n’aperçois pas dans « user management -> admin -> Realm Permissions » le « plugin management ». Je ne peux donc pas ajouter par la suite de plugins. J’ai eu un problème pour la mise à jour de la base de données. Peut-être est-ce lié …
merci de votre aide.
juillet 13th, 2010 at 11 h 02 min
As-tu bien utilisé la version testing du paquet cacti ?
août 6th, 2010 at 16 h 42 min
Merci beaucoup, super tuto!
Je suis sur une Debian Lenny et j’ai installé Cacti depuis les sources (donc dans /usr/local/share/cacti).
Pas de problèmes particuliers sinon le fait que je n’avais pas réalisé qu’il faut écraser le $CACTI/include/config.php avec la version config.php.dist (faire une sauvegarde du fichier original avant c’est mieux).
L’étape suivante n’est plus nécessaire avec la dernière version de weathermap 0.97a:
if($_REQUEST["action"] == ‘viewmapcycle’) est déjà corrigé.
Bonne continuation!
RasKal