TOTAL
Depuis Dec 2006
1'942'871 Visiteurs
4'218'042 Pages

Stats Nov 2010
82'909 Visiteurs
146'476 Pages
196 pays
Statistiques completes



Aidez-nous à traduire
nos tutoriaux!

REJOINGNEZ
l'équipe OpenManiak.
CACTI - Le tutorial facile - Installer et configurer les plugins Cacti

Cacti Plugins
Dernière modif: Jan 27 2008


Outil
Installation
Ergonomie
Forum



Détails Cacti, c'est quoi?
Captures d'écran
Prérequis
Installation
Plugins
Clients SNMP



⚠️⚠️⚠️
Please check our website about
attractions in Western Switzerland !! (Please use english translation).

⚠️⚠️⚠️
Merci de consulter notre site sur les
activités à faire en Suisse romande !!



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.
Sur le site web cactiusers.org, vous pouvez trouver et télécharger un grand nombre de plugin pour Cacti. Ici, nous allons présenter le tutorial de trois plugins particulièrement intéressants: NTOP, syslog-ng et PHP Weathermap.


La première chose à faire est d'installer le plugin obligatoire qui est requis avant l'installation des autres plugins, il est appelé le plugin "architecture".

- Pour Cacti 0.8.6i & j, il peut être téléchargé (1.1) sur le site web de cactiusers.org.
- Pour Cacti 0.8.6h, il peut être téléchargé (1.0) sur notre site web.

Si vous avez installé Cacti avec APT, vous pouvez savoir quelle version de Cacti vous avez avec la commande "apt-cache policy cacti".

Décompressez le fichier que vous venez de télécharger.

#tar -xvf /home/user/Desktop/cacti-plugin-arch.tar.gz
Déplacer les fichiers contenu dans le plugin architecture que vous venez de télécharger dans le dossier contenant le site web de Cacti.

#cp /home/user/Desktop/cacti-plugin-arch/* /usr/share/cacti/site/ -R
#cd /usr/share/cacti/site/
Puis, lancer la commande ci-dessous:
Faites très attention à lancer le patch correspondant à votre version de Cacti.

Pour cacti-0.8.6h:

#patch -p1 -N < cacti-plugin-0.8.6h.diff
Pour cacti-0.8.6i:

#patch -p1 -N < cacti-plugin-0.8.6i.diff
Pour cacti-0.8.6j:

#patch -p1 -N < cacti-plugin-0.8.6j.diff


LES PLUGINS CACTI:

1. NTOP (v 0.1) 2. PHP WEATHERMAP (v 0.82) 3. SYSLOG-NG (v 0.4)


1. PLUGIN NTOP

NTop est un outil qui fournit des statistiques à propos de l'utilisation réseau.

cacti ntop plugin all protocols throughput    cacti ntop plugin all protocols throughput

#apt-get install ntop
Télécharger le plugin and décompresser le dans le dossier ntop.

#tar -xvf /home/user/Desktop/ntop-0.1.tar.gz
Copier le dossier ntop dans le dossier /usr/share/cacti/site/plugins/

#cp /home/user/Desktop/ntop /usr/share/cacti/site/plugins/ -R
Éditer le fichier /usr/share/cacti/site/include/config.php et ajouter juste après la ligne commençant par "$plugins = array();":

$plugins[] = ‘ntop’;
Démarrer ntop

ntop -u user -w 3000
Dans l'interface web de Cacti, n'oubliez pas d'activer le plugin NTOP:

Connectez-vous à votre interface Cacti -> cliquer sur l'onglet console -> cliquer sur "User Management" dans le section "Utilities" -> cliquer sur un utilisateur -> activer la case "View NTop".
cacti ntop plugin user management view ntop



2. PLUGIN PHP WEATHERMAP

Pour plus d'informations sur PHP Weathermap, rendez-vous sur le tutorial PHP Weathermap.

Télécharger le plugin et décompresser le dans le dossier weathermap. Entrer la commande suivante depuis l'endroit où vous avez télécharger PHP Weathermap:

#tar -xvf /home/user/Desktop/php-weathermap-0.82.zip
Copier le dossier weathermap dans le dossier /usr/share/cacti/site/plugins/

#cp /home/user/Desktop/weathermap/ /usr/share/cacti/site/plugins -R
Éditer le fichier /usr/share/cacti/site/include/config.php et ajouter juste après la ligne commençant par "$plugins = array();":

$plugins[] = ‘weathermap’;
Dans l'interface web de Cacti, n'oubliez pas d'activer le plugin weathermap:

Connectez-vous à votre interface Cacti -> cliquer sur l'onglet console -> cliquer sur "User Management" dans le section "Utilities" -> cliquer sur un utilisateur -> activer la case "View Weathermaps".
cacti php weathermap plugin user management configure weathermap

Voyez le tutorial weathermap pour plus d'aide sur la configuration de l'outil.



3. PLUGIN SYSLOG-NG

Un impressionnant plugin permettant de lire les messages syslog-ng dans l'interface web de Cacti.

cacti plugin php syslog-ng

Il est possible de déclencher des alertes ou supprimer des logs de l'interface.

cacti plugin php syslog-ng alerts    cacti plugin php syslog-ng removal

Pour plus d'informations à propos de syslog-ng, lisez le tutorial php syslog-ng.

Télécharger le plugin and dans le dossier haloe. Entrer la commande suivante depuis l'endroit où vous avez télécharger haloe:

#tar -xvf /home/user/Desktop/haloe-0.4.tar.gz
Copier le dossier haloe dans le dossier /usr/share/cacti/site/plugins/

#cp /home/user/Desktop/haloe /usr/share/cacti/site/plugins/ -R
Éditer le fichier /usr/share/cacti/site/include/config.php et ajouter juste après la ligne commençant par "$plugins = array();":

$plugins[] = ‘haloe’;
Si vous ne l'avez pas déjà, vous devez installer syslog-ng et envoyer les logs qu'ils collectent vers la base de données MySQL.

Installer syslog-ng:

#apt-get install syslog-ng
L'installation de syslog-ng désinstalle automatiquement le serveur syslog par défaut.
Nous devons configurer le fichier /etc/syslog-ng/syslog-ng.conf

Modification de syslog-ng

Pour recevoir des logs à partir de machine distante au travers du réseau, décommenter (c'est-à-dire supprimer les #) les lignes contenant udp();

# use the following line if you want to receive remote UDP logging messages
# (this is equivalent to the "-r" syslogd flag)
udp();
Déviation les logs vers la base de données MySQL.

Ajouter les lignes suivantes toujours dans le fichier /etc/syslog-ng/syslog-ng.conf:

log {
source(s_all);
destination(d_mysql);
};

# pipe messages to /var/log/mysql.pipe to be processed by mysql
destination d_mysql {
pipe("/var/log/mysql.pipe"
template("INSERT INTO syslog_incoming
(facility, priority, date, time, host, message, seq, status)
VALUES ( '$FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$HOST', '$MSG', '$SEQ', '$STATUS' );\n") template-escape(yes));

};
Paramètrage de la base de données.

Nous avons besoin de créer la base de données MySQL et ensuite d'importer les tables à l'aide d'un fichier SQL.

#mysqladmin -u root -p create haloe
#mysql -u root -p haloe < /home/user/Desktop/haloe/syslog.sql
Nous donnons tous les droits à un nouveau utilisateur MySQL appelé haloeuser sur la base de données haloe:

#mysql -u root -p haloe
>GRANT ALL ON haloe.* TO haloeuser@localhost IDENTIFIED BY 'haloepassword';
>flush privileges;
Configurer les paramètres de connexion MySQL dans le fichier /usr/share/cacti/site/plugins/haloe/config.php:

$haloedb_type = "mysql";
$haloedb_default = "haloe";
$haloedb_hostname = "localhost";
$haloedb_username = "haloeuser";
$haloedb_password = "haloepassword";
Dans le même fichier, pour pouvoir avoir des lignes colorées dans le plugin syslog, il est nécessaire de procéder à quelques petits changements en remplaçant les lignes commençant par "$haloe_colors" par les lignes ci-dessous:

$haloe_colors["emerg"] = "FF0000";
$haloe_colors["crit"] = "FF0000";
$haloe_colors["alert"] = "FF0000";
$haloe_colors["err"] = "FFAB00";
$haloe_colors["warning"] = "FFFF00";
$haloe_colors["notice"] = "FFAB00";
// $haloe_colors["info"] = "FFAB00";
// $haloe_colors["debug"] = "D0D0D0";
Le fichier temporaire d'insertion MySQL.

Il est maintenant nécessaire de créer le fichier d'insertion temporaire MySQl:

#mkfifo /var/log/mysql.pipe
Nous devons pousser les logs vers la base de données avec un script bash:

Créer un nouveau fichier syslog2mysql.sh dans le dossier /usr/share/cacti/site/plugins/haloe en insérant les lignes suivantes.
N'oubliez pas de changer l'utilisateur et mot de passe MySQL.

#!/bin/bash

if [ ! -e /var/log/mysql.pipe ]
then
mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do mysql -u haloeuser --password=haloepassword haloe < /var/log/mysql.pipe >/dev/null
done
Le script signifie que si le fichier mysql.pipe n'existe pas, on le crée.
Ensuite, tant que le fichier mysql.pipe existe, ouvrir une connexion MySQL et envoyer les données dans le tampon vers la base de données.

Lancer le script syslog2mysql.

#/usr/share/cacti/site/plugins/haloe/syslog2mysql.sh
Stopper le script à l'aide des touches "Ctrl+C".

Dernière étape:

Pour lancer le script sans l'utilisateur root, nous avons besoin de changer le propriétaire d'un fichier:

#chown user /etc/cacti/debian.php
Il est important que l'utilisateur www-data, qui corresponds en fait à l'utilisateur qui lance le serveur web apache, a les permissions sur le fichier /etc/cacti/debian.php. Normalement ceci est déjà le cas par défaut:

#ls -l | grep debian.php
-rw-r----- 1 user www-data 557 2006-11-18 14:00 debian.php
Finalement, il est nécessaire de configurer 2 cron jobs:

crontab -e -u user

# Quand le serveur redémarre, il lance automatiquement le script syslog2mysql.sh.
@reboot /usr/share/cacti/site/plugins/haloe/syslog2mysql.sh
# Une commande est requise pour transférer les données stockées
# dans la table syslog_incoming vers la table syslog. (toute les minute)
# Pour une raison inconnue, le transfert de données entre table
# ne se fait pas automatiquement.
*/1 * * * * php5 -q /usr/share/cacti/site/plugins/haloe/syslog_process.php
La commande crontab va mettre à jour le fichier /var/spool/cron/crontabs/user.

Dans l'interface web de Cacti, n'oubliez pas d'activer le plugin syslog-ng:

Connectez-vous à votre interface Cacti -> cliquer sur l'onglet console -> cliquer sur "User Management" dans le section "Utilities" -> cliquer sur un utilisateur -> activer la case "View Syslog".
cacti plugin php syslog-ng user management view syslog configure syslog alerts

Haut de la page