 |
Monitoring d'un serveur sous linux
Monitoring de la connexion ADSL
Cette page décrit l'installation et la configuration d'un monitoring de la connexion ADSL.
Les logiciels nécessaire:
- ping, awk, gnuplot présents par défaut dans la plupart des distribs linux.
Installation:
Script check_ping.sh
#!/bin/sh
# envoi d'un ping chaque 10 secondes avec une durée maxi de 290 secondes
# ce qui laisse 10 secondes pour le traitement final
PING=$(ping -i 10 -q -w 290 www.free.fr | awk '/packet/ {print $7} /round/ {print $4}' | tr "[%/]" " ")
DATE=`date +%Y%m%d%H%M%S`
echo $DATE $PING >> /var/cache/via686/ping
une ligne dans crontab pour automatiser la tache:
#appel toute les 5 minutes toutes les heures, jour, mois
*/5 * * * * /$PATH_TO_SCRIPT/check_ping.sh
Exemple de sortie du script:
20030422135452 0 68.2 75.6 122.5
20030422135952 0 67.5 91.0 228.2
20030422140452 41 68.1 78.6 132.3
On retrouve la date, le nombre de paquets perdus en %, le temps de ping mini, moyen et maximal.
Script pour gnuplot
#Fichier gnuplotscript
set term png color
set timefmt "%Y%m%d%H%M%S"
set notime
set autoscale xy
set data style lp
set xlabel "Time"
set xdata time
set output "ping.png"
set multiplot;
set size 1,0.25;
set origin 0.0,0.25;
set ylabel "%"
plot "/var/cache/via686/ping" using 1:2 title 'Packets lost' w boxes lw 5;
set origin 0.0,0.0;
set ylabel "Temps (ms)"
plot "/var/cache/via686/ping" using 1:4 title 'avg' w li lw 5
set nomultiplot
exit
sous le shell, un simple gnuplot < gnuplotscript suffit a générer les images
Et voila le résultat:
Warning: filemtime() [function.filemtime]: Stat failed for graph/ping.png (errno=2 - No such file or directory) in /mnt/115/sdb/8/1/pokie2002/linux/check_ping.php on line 63
|
 |