But : Obtenir ces graphiques ( : Lien HS).
Note : Fonctionne avec RRDtool >= 1.2x
Ce script permet de récupérer la charge (Load average) moyenne du serveur toute les 5 minutes, et d'inscrire ces valeurs dans une base RRDtool. De ces données, je génère 4 graphiques :
Pour connaître le principe de base du fonctionnement de RRDtool, je vous conseille de lire l'article édité par Laurent COUSTET.
Tout d'abord il faut définir la base RRDtool :
Sachant que le polling sera de 5 min, et que l'on veut garder les 5 min de précision, on garde le coefficient de 1.
On aura 4 RRA2), soit une par graphique.
Avec toutes ces informations, on va pouvoir créer la base :
rrdtool create /root/rrdtool/localhost_load.rrd \ DS:load:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:6:336 \ RRA:AVERAGE:0.5:24:360 \ RRA:AVERAGE:0.5:144:730
Une fois la base crée, il faut la remplir (maintenant que l'on a fait le plus dur, on ne va pas s'arrêter là)…
Pour cela j'utilise un script perso :
#!/bin/bash # Mise à jour le 18/02/2006 # Par Ludovic DROUARD sous licence GPL évidemment :) # https://drouard.eu/ ################################################ # Config RRDSOURCE="/root/rrdtool/localhost_load.rrd" ################################################ # Récupération des valeurs LOAD=`cat /proc/loadavg | awk '{print $2}'` # Inscription de ces valeurs dans la base /usr/bin/rrdtool update $RRDSOURCE N:$LOAD
Pour cela j'utilise un autre script perso :
#!/bin/bash # Date MAJ : 11/02/2006 # Par Ludovic DROUARD sous licence GPL évidemment :) # https://drouard.eu/ ################################################ # Config RRDSOURCE="/root/rrdtool/localhost_load.rrd" GRAPH="/var/www/localhost/htdocs/rrdtool/load" GRAPHTITLE="Charge CPU (Load Average) sur serveur mono-processeur" DATE_MAJ=`date '+%-d %B %Y - %H\:%M'` # Note : Pour le "flamming", je me suis # inspiré du travail de Laurent COUSTET (http://ed.zehome.com) ################################################ # Pour info : # 86400 ( 24h * 60 m * 60s ) # 604800 ( 7j * 24h * 60m * 60s ) # 2592000 ( 30j * 24h * 60m * 60s ) # 31536000 ( 365j * 24h * 60m * 60s ) for i in -86400 -604800 -2592000 -31536000 do if $i == -86400 then GRAPH2="${GRAPH}-jour.png" fi if $i == -604800 then GRAPH2="${GRAPH}-semaine.png" fi if $i == -2592000 then GRAPH2="${GRAPH}-mois.png" fi if $i == -31536000 then GRAPH2="${GRAPH}-annee.png" fi /usr/bin/rrdtool graph "${GRAPH2}" \ --start ${i} \ --vertical-label "Charge CPU" \ --title "${GRAPHTITLE}" \ --width 500 \ --height 150 \ --lower-limit 0 \ --units-exponent 0 \ --slope-mode \ --imgformat PNG \ --font-render-mode normal \ --color CANVAS#000000 \ --color BACK#101010 \ --color FONT#ffffdf \ --color MGRID#337fbf \ --color GRID#615900 \ --color ARROW#ff0099 \ --color SHADEA#000000 \ --color SHADEB#000000 \ DEF:load=${RRDSOURCE}:load:AVERAGE \ VDEF:load_max=load,MAXIMUM \ VDEF:load_avg=load,AVERAGE \ VDEF:load_last=load,LAST \ CDEF:load_flaming1=load,40,*,100,/ \ CDEF:load_flaming2=load,5,*,100,/ \ LINE1:1#c81818 \ COMMENT:"\n" \ COMMENT:"Charge CPU \:\t\tMaximum\tMoyenne\tActuelle\n" \ AREA:load_flaming1#ffff5f:"Load Average " \ AREA:load_flaming2#fffc51::STACK \ AREA:load_flaming2#fff651::STACK \ AREA:load_flaming2#fff046::STACK \ AREA:load_flaming2#ffe95f::STACK \ AREA:load_flaming2#ffd237::STACK \ AREA:load_flaming2#ffc832::STACK \ AREA:load_flaming2#ffbe2d::STACK \ AREA:load_flaming2#ffaa23::STACK \ AREA:load_flaming2#ff9619::STACK \ AREA:load_flaming2#ff841e::STACK \ AREA:load_flaming2#ff841e::STACK \ AREA:load_flaming2#ff6600::STACK \ GPRINT:load_max:"\t%1.1lf" \ GPRINT:load_avg:"\t%1.1lf" \ GPRINT:load_last:"\t%1.1lf\n" \ COMMENT:"\n" \ COMMENT:"${DATE_MAJ}\r" done
Enfin, il ne reste qu'a planifier les tâches dans la crontab en rajoutant les lignes (par exemple) :
# CPU polling 5 Min / Graph 30 Min */5 * * * * /root/scripts/rrdtool_collect_cpuLA.sh >/dev/null 2>&1 */30 * * * * /root/scripts/rrdtool_graph_cpuLA.sh >/dev/null 2>&1
Et voilà! Sur ce, j'irais bien boire une petite binch3)
Et voilà, Lirc en sortie en version 0.8pre1 (Stable) sous Gentoo Linux.
Cette version assure la compatibilité avec les kernels 2.6.14 et >. Par contre, les devices ont changé, maintenant, le device /dev/lirc0 a été visiblement remplacé par /dev/lirc/0 Pour prendre en compte cette nouvelle configuration sous la Gentoo Linux, modifiez le fichier /etc/conf.d/lircd :
vi /etc/conf.d/lircd
Et remplacez la ligne
LIRCD_OPTS="-d /dev/lirc0"
par :
LIRCD_OPTS="-d /dev/lirc/0"