Vim Online ;)

Car les fichiers textes éparpillés de partout, ça devient usant ô_Ô

Outils pour utilisateurs

Outils du site


pub_zone:archives:2006

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

pub_zone:archives:2006 [02:36 28/04/2014] – créée nimbuspub_zone:archives:2006 [04:03 28/04/2014] (Version actuelle) nimbus
Ligne 1: Ligne 1:
 ====== Archives 2006 ====== ====== Archives 2006 ======
-FIXME : ToDo+===== Statistiques RRDtool ===== 
 +__**But**__ : Obtenir ces graphiques (FIXME : 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 : 
 +  * Statistique sur 24h 
 +  * Statistique sur 7 jours 
 +  * Statistique sur 30 jours 
 +  * Statistique sur 1 an 
 + 
 +Pour connaître le principe de base du fonctionnement de RRDtool, je vous conseille de lire [[http://old.ed.zehome.com/?page=rrdtool|l'article édité par Laurent COUSTET]]. 
 + 
 +Tout d'abord il faut définir la base RRDtool : 
 +  * La base RRDtool se nommera /root/rrdtool/localhost_load.rrd 
 +  * On veut récupérer les valeurs de la charge CPU toutes les 5min (ce me semble correcte pour avoir un bon rapport précision / quantité de donnée) 
 +  * Dans cette base, on va n'avoir besoin que d'une DS((Data Source)) qui correspondra à la charge CPU et que l'on nommera **load** 
 +  * La DS sera de type GAUGE pour relever les valeurs tel quel, sans traitement particulier 
 +  * Le délai maxi entre 2 mise à jours va être de 600sec (ce qui correspond à 2 fois la durée de polling choisi, donc 2*5min) 
 +  * La valeur mini des données DS ne descendra pas en dessous de 0 (un Load Average <0 est impossible) 
 +  * La valeur maxi quand à elle est inconnue. Une valeur inconnue avec RRDtool se note **U**. 
 + 
 +==== Définitions des RRA ==== 
 +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 RRA((Round Robin Archive)), soit une par graphique. 
 +  * Pour obtenir les 24h, on va donc avoir besoin de 24h / (5min * 1) -> (24*60) / 5 = 288 (288 points de mesure sur 24h donc) 
 +  * Pour 7 jours avec une donnée toutes les 30min -> (7j * 24h * 60m) / (30min*1) = 336 
 +  * Pour 30 jours avec une donnée toutes les 2h (120min) -> (30j * 24h * 60m) / (120min*1) = 360 
 +  * Pour 1 an avec une donnée toutes les 12h (720min) -> (365j * 24h * 60m) / (720min*1) = 730 
 + 
 +Avec toutes ces informations, on va pouvoir créer la base : 
 +<code> 
 +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 
 +</code> 
 + 
 +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à)... 
 + 
 + 
 +==== Récupération des valeurs ==== 
 +Pour cela j'utilise un script perso : 
 +<file bash rrdtool_collect_cpuLA.sh> 
 +#!/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 
 +</file> 
 + 
 + 
 +==== Génération des graphs ==== 
 +Pour cela j'utilise un autre script perso : 
 +<file bash rrdtool_graph_cpuLA.sh> 
 +#!/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 
 +</file> 
 + 
 +==== Le mot de la fin ==== 
 +Enfin, il ne reste qu'a planifier les tâches dans la crontab en rajoutant les lignes (par exemple) : 
 +<code bash> 
 +# CPU polling 5 Min / Graph 30 Min 
 +*/5 * * * *  /root/scripts/rrdtool_collect_cpuLA.sh >/dev/null 2>&
 +*/30 * * * * /root/scripts/rrdtool_graph_cpuLA.sh >/dev/null 2>&
 +</code> 
 + 
 +Et voilà! Sur ce, j'irais bien boire une petite binch((Une bière quoi ;) )) 
 + 
 +===== Gentoo : Lirc 0.8pre1 ===== 
 +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/
 +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"
pub_zone/archives/2006.1398652612.txt.gz · Dernière modification : 02:36 28/04/2014 de nimbus