[Réseau, SNMP] Configuration de RRDTool

  • Site officiel RRDTool : RRD est l’acronyme de Round Robin Database. RRD est un système de stockage et d’affichage des données (par exemple bande passante réseau, charge serveur, ...).


Exemple de scripts (monitoring d’un point d’accès) :

  • Script pour créer une base RRD :
#/bin/sh
#
# Creation d'une base de mesure :
# => 1 mesure toute les minutes
# => moyenne sur 1 minute pendant 24 heures (24*60*1 = 1440)
# => moyenne sur 30 minutes pendant 1 semaine (1440*7/30 = 336)
#
if [ $# -ne 1 ]; then
	echo "Usage : ./create name_of_base"
	exit 127
fi
./rrdtool create $1.rrd --step 60 DS:input:COUNTER:120:0:U DS:output:COUNTER:120:0:U RRA:AVERAGE:0.5:1:1440 RRA:AVERAGE:0.5:30:336


  • Script pour mettre à jour une base RRD :
#/bin/sh
#
# A lancer toutes les minutes avec Cron
#
# Mise à jour pour sis0
tot_input=`echo "\`/home/server/snmpd/bin/snmpget -v 1 -c [community] [ip] ifInOctets.2\`" | awk 'BEGIN {in_put=0} {if ($NF) {in_put=$NF}} END {print in_put}'`
tot_output=`echo "\`/home/server/snmpd/bin/snmpget -v 1 -c [community] [ip] ifOutOctets.2\`" | awk 'BEGIN {in_put=0} {if ($NF) {in_put=$NF}} END {print in_put}'`
/home/server/rrdtool/bin/rrdtool update /home/server/rrdtool/bin/soekris-sis0.rrd N:$tot_input:$tot_output

#
# Mise à jour pour l'AP DLink-900AP+
tot_input=`echo "\`/home/server/snmpd/bin/snmpget -v 1 -c [community] [ip] ifInOctets.1\`" | awk 'BEGIN {in_put=0} {if ($NF) {in_put=$NF}} END {print in_put}'`
tot_output=`echo "\`/home/server/snmpd/bin/snmpget -v 1 -c [community] [ip] ifOutOctets.1\`" | awk 'BEGIN {in_put=0} {if ($NF) {in_put=$NF}} END {print in_put}'`
/home/server/rrdtool/bin/rrdtool update /home/server/rrdtool/bin/dlinkap.rrd N:$tot_input:$tot_output


  • Script pour grapher une base RRD :
#/bin/sh
case "$1" in
	week)
	#
	# Graphe une semaine
		/home/server/rrdtool/bin/rrdtool graph sis0-week.gif --start -604800 --title="sis0 weekly bandwidth usage" --rigid --upper-limit=65536 DEF:inoctets=/home/server/rrdtool/bin/soekris-sis0.rrd:input:AVERAGE DEF:outoctets=/home/server/rrdtool/bin/soekris-sis0.rrd:output:AVERAGE AREA:inoctets#00FF00:"In traffic" LINE1:outoctets#0000FF:"Out traffic"
		/home/server/rrdtool/bin/rrdtool graph dlink-week.gif --start -604800 --title="DLink weekly bandwidth usage" --rigid --upper-limit=1448576 DEF:inoctets=/home/server/rrdtool/bin/dlinkap.rrd:input:AVERAGE DEF:outoctets=/home/server/rrdtool/bin/dlinkap.rrd:output:AVERAGE AREA:inoctets#00FF00:"In traffic" LINE1:outoctets#0000FF:"Out traffic"
		;;
	*)
	#
	# Graphe une journée = comportement par défaut
		/home/server/rrdtool/bin/rrdtool graph sis0-day.gif --start -86400 --title="sis0 daily bandwidth usage" --rigid --upper-limit=65536 DEF:inoctets=/home/server/rrdtool/bin/soekris-sis0.rrd:input:AVERAGE DEF:outoctets=/home/server/rrdtool/bin/soekris-sis0.rrd:output:AVERAGE AREA:inoctets#00FF00:"In traffic" LINE1:outoctets#0000FF:"Out traffic"
		/home/server/rrdtool/bin/rrdtool graph dlink-day.gif --start -86400 --title="DLink daily bandwidth usage" --rigid --upper-limit=1448576 DEF:inoctets=/home/server/rrdtool/bin/dlinkap.rrd:input:AVERAGE DEF:outoctets=/home/server/rrdtool/bin/dlinkap.rrd:output:AVERAGE AREA:inoctets#00FF00:"In traffic" LINE1:outoctets#0000FF:"Out traffic"
		;;
esac
 
configuration_de_rrdtool.txt · Dernière modification: 2006/09/03 17:25
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki