 |
Tutoriel EON |
 |
Intro
EON eyes on networks (http://www.eyesofnetwork.com/)
est une distribution centos spécialisé sur le monitoring
Elle regroupes plusieurs outils est chapeautes notamment Nagios via l'interface Lillac
Nagios
Etape pour l'ajout d'une sonde d'une sonde SNMP
/srv/eyesofnetwork/nagios-3.4.1/share/images/logos
/srv/eyesofnetwork/nagios-3.4.1/plugins
Ajout d'une sonde Snmp
Repérer le noeud qu'il faut dans snmp par snmpb
snmpwalk
Véifier au snmpwalk (prendre les chiffe sauf le 1er)
snmpwalk -v1 -c public ensiprint03 | grep "3.6.1.2.1.43.8.2.1.10"
Qui me renvoie
iso.3.6.1.2.1.43.8.2.1.10.1.1 = INTEGER: 0
iso.3.6.1.2.1.43.8.2.1.10.1.2 = INTEGER: 0
iso.3.6.1.2.1.43.8.2.1.10.1.5 = INTEGER: 100
iso.3.6.1.2.1.43.8.2.1.10.1.6 = INTEGER: 0
iso.3.6.1.2.1.43.8.2.1.10.1.8 = INTEGER: 100
Ici les niveaux de mets back papier
snmpget
Cela me permet d'écrire la commande snmpget suivante
snmpget -v1 -c public ensiprint03 1.3.6.1.2.1.43.8.2.1.10.1.8
renvoie:
iso.3.6.1.2.1.43.8.2.1.10.1.8 = INTEGER: 100
Sois une commande final
snmpget -v1 -c public ensiprint03 1.3.6.1.2.1.43.8.2.1.10.1.8 | cut -d: -f4
qui renvoie 100
Mib
copier la mib des imprimante dans /usr/share/snmp/mibs
Bash
Créer un fichier bash
Le placer dans le rep /srv/eyesofnetwork/nagios-3.4.1/plugins
Hosts
Pour ajouter un Hosts aller sur nagios->configuration -menu gauche) puis network (menue haut))
Clicker sur "Add A New Child Host"
Rajouter une commande
|
variable
$USER1$ correspond au chemin absolu du répertoire nagios contenant les scripts.
$USER2$ représente la communauté snmp utilisée pour les tests.
$Arg1$ seuil warning (80)
$Arg2$ seuil alerte (90) par exemple: pour vmstat
Command exemple
$USER1$/papier.sh $HOSTADDRESS$
on retrouve notre script bash
|
Exporter la conf pour nagios
|
Puis cliquer sur le Restart
Attendre 10s le export complet ... en vert
Erreur possible: des parenthésés dans les champs configuré précédemment
|
Cacti
Cacti Intro
reference cacti
Le soft est basée sur rdtools qui est un systéme de base de données rotatif et générateur de png
L'onglet console sert à configurer l'outils
Les grandes étapes pour créer un graph a partir d'un script personnalisée sont
Étape création script personnalisé
|
Data Input Methods
Input Type
Script/Command (permet de personaliser les paramétre des scripts)
Input String:
Ici on place le script qui sera appelé (wget,toto.pl,tata.sh)
entre <> les param d'entrée
Input Fields:
Permet de décrire le paramètre
output Fields:
Permet de décrire les paramétre de retour du script
|
|
Data Templates
Data Source
name
Champ de description dans le qu'elle on peut concacténé des infos du hosts
exemple: |host_Description| - javaCpu
Data input Method
on selectionne le script que l'on veut appellé (configuration precedente)
ne pas toucher au restte
Data Source Item
Itnernal data source name
Titre description
Min ,max value:
Amplitude du graphe
Output Field
Champ a utiliser pour tracer le graph en relation avec l'etape 1
Custom Data
Placer ici la valeur si elle st la même pour tous les hosts
Sinon laisser vide et cocher la case
Cela permet d'avoir la value à remplir dans Dtat Sources
|
|
Data Sources
Permet de remplir les paramètre du template (input) en relation avec le hosts)
Data Templates Selection
Choisir le template créer précédement
Choisir sont host
Supplemental Data Template Data
Data Source Path
Fichier contenant les données
Custom Data
Les input data que l'on n'a pas remplie dans Data template
|
Configuration de arborescences des Graphes
|
Cliquez a gauche sur Graph Trees ensuite sur le root pour le renommés
On peut ensuite par le add définir une arborescence pour ranger nos graphes
|
Device Snmp
|
|
1
Pour un hot avec snmp (exemple routeur cisco)
Cliquez a gauche sur Device puis add
Choisir votre template (moi cisco router)
Attention a bien placer les bonnes communauté
(voir le point deux pour ma conf)
|
2
Si la conf est correct vous devez voir en haut à gauche les info snmp de base s'afficher
Ne pas s'inquiété du not being graphed
Cliquer sur save
|
Sélectionner page par page toutes les interface et cliquer sur create (en bas)
Puis "edit this host" et faire save
attendre .... 1minute
Sur l'onglet graphs previews vue ensigate va apparaitre
Les graphs prenne 5 min a ce tracer
Pendant ce temps on peut arranger l'arbre sur Graph tree
Rajouter un nœud de type host et sélectionner ensigate
Maintenant sur graph vue tree on voit ensigate
Device (sans snmp)
Passer le template sur None
Changer le mode de détection de disponibillité (downed device detection) à ping + icmp ping)
LoadAvg par perl script uptime
Sonde
Récupérer le script et le copier vers le hosts à surveiller
/srv/eyesofnetwork/cacti-0.8.8a/scripts/loadavg_multi.pl
Placer une clef ssh sans passphrase entre le serveur de monitoring et le hosts a monitorer
Attention la clef ssh doit etre fais pour le user cacti
Les script doivent revoyé sois une seul valeur
10
soit plusieur formaté comme ceci
cpu1:10 cpu2:20 cpu3:10
Le nom cpu1 sera utiliser pour extraire la value par cacti
Script connecteur
Rajouter un script bash dans /srv/eyesofnetwork/cacti-0.8.8a/scripts/dist-loadavg.bash
#!/bin/bash
set -e # exit a la premiére erreur (code retour diff de zero)
function help(){
echo "Passer en argument le nom du serveur Ade à tester"
echo "Une clef ssh doit etre créer et le script loadavg_multi.pl copier sur le serveur"
echo "exemple: ./dist-loadavg.sh hostname"
exit 3
}
if [ -z "$1" ] #test que $1 est non vide
then help
fi
if [ $# -ne 1 ];then #test si il y 'a bien que 1 arg
help
fi
ssh sinfo@$1 "perl ~/monitoring/loadavg_multi.pl"
exit 0
placer les bons droits sur le script
chown cacti:eyesofnetwork et chmod +x
Configuration Data Input
DOC CACTI
|
Choisir Script/Command pour interroger un script
Placer sont script avec le path complé
<hostname> permet de dir qu'il y'a un parametre nomé hostname
Faire une premier save et revenir sur le menue
Les champs d'entrée sont déduit de ce que l'on a mits entre <>
Des exempel de valeur prédéfini sont donnée en exemple comme hostname
Pour les sorties on place les noms de sortie du script (avant les :)
Counter pour un compteur qui s'incrementte sans fin comme un time stamp (ou le tps cpu utilisé depuis le debuts) il est diviser par la période d'echantillonage
Gauge pour un truc en par arpport a zero comme la taille de la ram
|
Configuration Data Template
|
Remplir la premières partie
Choisir dans Data input Method sans script dans la listes deroullante
Faire un save
Cela libere la deuxiéme partie faire ensuite un new et rajouté les trois element de sortie
|
Configuration mangement Data Soruce
|
Faire un add
Choisir notre source Dist-LoadAvg
|
La partie création est sauvegarde des données et terminé restes à les grapher
Templates Graphe
|
|
remplir la premiere partie
|host_description| permet de copier la description du hosts
faire un save pour debloqué la suite de la conf
|
clicquer sur add (en haut droite) pour ajoutter un tempalte item
|
Graph Management
Selectionner le host Cliquer sur add en haut a droit
Selectionner sont load avg template
puis les graphs template
save le tous
Graph tree
Passer par graph tree pour ajouter le graph
pour java
wget -q -O - http://localhost:9000/Monitoring/
Dir/bug log
localisation de cacti
/srv/eyesofnetwork/cacti-0.8.8a
Conf database
include/config.php
Passer en debug
http://docs.cacti.net/manual:087:4_help.2_debugging
http://forums.cacti.net/viewforum.php?f=2
Step1
cat /srv/eyesofnetwork/cacti-0.8.8a/log/cacti.log
02/26/2013 01:45:02 PM - SPINE: Poller[0] Host[9] ERROR: Empty result [ensicom]: '/srv/eyesofnetwork/cacti-0.8.8a/scripts/dist-loadavg.bash ensicom'
Ici la commande ne fonctionne pas en la passant je constate une coquille le script est en .sh pas bash
En deuxièmes erreur j'ai fais la clef pour le user root et non cacti
A partir de la j'ai un graph sur 3 qui marche lorsque je demande l'export csv j'ai des nand dans calc
Step2
/srv/eyesofnetwork/cacti-0.8.8a/poller.php
Tester l'appel au host id=9 (voir dans device)
)
/usr/bin/spine --verbosity=5 -H 9
SCRIPT: /srv/eyesofnetwork/cacti-0.8.8a/scripts/dist-loadavg.sh ensicom, output: 1min:0.49 5min:0.31 10min:0.28
02/26/2013 04:03:53 PM - SPINE: Poller[0] DEVDBG: SQL:'INSERT INTO poller_output (local_data_id, rrd_name, time, output) VALUES (319,'','2013-02-26 16:03:53','1min:0.49 5min:0.31 10min:0.28') ON DUPLICATE KEY UPDATE output=VALUES(output)'
02/26/2013 04:03:53 PM - SPINE: Poller[0] DEVDBG: SQL:'UPDATE poller_item SET rrd_next_step=IF((rrd_next_step-300)>=0, (rrd_next_step-300), (rrd_step-300)) WHERE host_id=9'
on voit bien les 3 valeur dans le insert O.o
Le fichier de la base se trouve dans /srv/eyesofnetwork/cacti-0.8.8a/rra
pour voir le contenue utiliser rdtools fetch
rrdtool fetch ensicom_applis_web_1min_319.rrd AVERAGE
La derniere mesure est toujours a nand
EN regardant de plus pret j'avais placée output field du graphe 1min avec la valeur du graph 10 min ce qui a pourris les deux graph
aprés correction bien faire un save sur els 2 et attendre
Code erreur
cacti ERROR: the RRD does not contain an RRA matching the chosen CF
ne pas mettre last dans les graph mais average
Backup
Info
Les backups ce font avec backup manager
http://doc.ubuntu-fr.org/backup-manager
Vue des databases
mysqlshow -uroot -proot66
+--------------------+
| Databases |
+--------------------+
| information_schema |
| cacti |
| eonweb |
| ged |
| glpi |
| lilac |
| mysql |
| ndoutils |
| ocsweb |
| test |
+--------------------+
Les rep backupper sont
/etc , /home , /srv
backupper
Lancer un backup
sudo backup-manager
conf
/etc/backup-manager.conf
on trouvera nomtament la conf de la bd mysql
default rep
/var/archives
Restauration
Prérequi
Avant toute restauration sur une autre machine
Relever le nom de la comunauté snmp (nagios->conbfiguration->nagiosressources-> user2)
EyesOfNetwork , Ensimag , depend de l'install
mysql
cd /var/archives
bunzip2 *.bz2
Exemple de restauration
date=20130205
export date
host=xxxxx
export host
mysql -uroot -proot66 -hlocalhost -P3306 cacti < $host.imag.fr-cacti.$date.sql
mysql -uroot -proot66 -hlocalhost -P3306 eonweb < $host.imag.fr-eonweb.$date.sql
mysql -uroot -proot66 -hlocalhost -P3306 ged < $host.imag.fr-ged.$date.sql
mysql -uroot -proot66 -hlocalhost -P3306 lilac < $host.imag.fr-lilac.$date.sql
mysql -uroot -proot66 -hlocalhost -P3306 mysql < $host.imag.fr-mysql.$date.sql
mysql -uroot -proot66 -hlocalhost -P3306 ndoutils < $host.imag.fr-ndoutils.$date.sql
N'est pas couvert pas la sauvegarde
mysql -uroot -proot66 -hlocalhost -P3306 glpi < $host.imag.fr-glpi.$date.sql
mysql -uroot -proot66 -hlocalhost -P3306 ocsweb < $host.imag.fr-ocsweb.$date.sql
Répertoire
cd /var/archives
unzip *.gz
date=20130205
export date
host=xxxxx
export host
tar -xvf xxxxx.20130205.master.tar srv/eyesofnetwork/nagios-3.4.1/plugins -C /srv/eyesofnetwork/nagios-3.4.1/plugins
cp -u srv/eyesofnetwork/nagios-3.4.1/plugins/* /srv/eyesofnetwork/nagios-3.4.1/plugins/
Puis exporter vers nagios les conf lilac
et bien replacer la bonne communauté snmp