Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| rrdtool [Le 09/08/2011, 16:20] – créée ChoiZ | rrdtool [Le 11/09/2022, 12:00] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 4: | Ligne 4: | ||
| - | ====== RRDTool | + | ====== RRDTool |
| RRDTool est un outil qui permet de faire des bases de données (Round-Robin Database). Il permet aussi de faire des graphes. | RRDTool est un outil qui permet de faire des bases de données (Round-Robin Database). Il permet aussi de faire des graphes. | ||
| Ligne 11: | Ligne 11: | ||
| ===== Exemple ===== | ===== Exemple ===== | ||
| - | Dans ces bases de données on enregistre des informations | + | Dans ces bases de données on enregistre des informations |
| Nous allons pouvoir faire plusieurs choses avec les données : | Nous allons pouvoir faire plusieurs choses avec les données : | ||
| - | - Affichage des données en fonction du temps (par exemple un graph pour le jour en cours, pour la semaine, pour le mois et l' | + | - Affichage des données en fonction du temps (par exemple un graphe |
| - | - Si la radio a plusieurs canaux différents par exemple une radio avec de la musique uniquement et l' | + | - Si la radio a plusieurs canaux différents par exemple une radio avec de la musique uniquement et l' |
| ===== Installation ===== | ===== Installation ===== | ||
| - | Il suffit d' | + | Il suffit d' |
| Maintenant nous allons attaquer les choses sérieuses ! | Maintenant nous allons attaquer les choses sérieuses ! | ||
| Ligne 29: | Ligne 29: | ||
| Cet exemple permet de créer une base de donnée RRD Tool pour deux radios. | Cet exemple permet de créer une base de donnée RRD Tool pour deux radios. | ||
| - | Pour ce qui est de l' | + | Pour ce qui est de l' |
| Note pour connaitre le timestamp plusieurs solutions : | Note pour connaitre le timestamp plusieurs solutions : | ||
| Ligne 68: | Ligne 68: | ||
| * ABSOLUTE -> | * ABSOLUTE -> | ||
| - | Pour plus d' | + | Pour plus d' |
| Ligne 90: | Ligne 90: | ||
| * 0.5 -> | * 0.5 -> | ||
| * 6 -> nombre de valeur pour faire la moyenne (ici 6 donc une moyenne sur 6 enregistrements) | * 6 -> nombre de valeur pour faire la moyenne (ici 6 donc une moyenne sur 6 enregistrements) | ||
| - | * 24 -> nombre d' | + | * 12 -> nombre d' |
| Ligne 117: | Ligne 117: | ||
| - | A savoir je peux pas enregistrer ma premiere | + | A savoir |
| Ligne 126: | Ligne 126: | ||
| DEF: | DEF: | ||
| | | ||
| - | Avec cette commande on affiche les données de notre base RRD dans un fichier png. | + | Avec cette commande on affiche les données de notre base RRD dans un fichier png. |
| * -s -> date (toujours en timestamp) de départ du graph pas forcement celle des données. | * -s -> date (toujours en timestamp) de départ du graph pas forcement celle des données. | ||
| Ligne 148: | Ligne 148: | ||
| * AVERAGE -> pour dire qu'on veut une moyenne | * AVERAGE -> pour dire qu'on veut une moyenne | ||
| - | * LINE3:rock#FF000:" | + | * LINE3:rock#FF0000:" |
| Ligne 161: | Ligne 161: | ||
| Voilà pour l' | Voilà pour l' | ||
| + | ===== Exemple clé en main ===== | ||
| + | |||
| + | Pour ceux qui souhaiteraient tenir à jour une base des données d' | ||
| + | Il permet de créer une Round Robin Database pour : | ||
| + | * le périphérique eth0 | ||
| + | * la charge système | ||
| + | * la température du processeur | ||
| + | * la mémoire vive | ||
| + | Il permet aussi d' | ||
| + | |||
| + | < | ||
| + | #! /bin/bash | ||
| + | clear | ||
| + | cat << FIN | ||
| + | ========= RRDTools Tool ========= | ||
| + | Choisissez parmi ces modes : | ||
| + | a) Créer la base de données | ||
| + | z) Alimenter la base de données | ||
| + | e) Afficher le graphe | ||
| + | r) Quitter | ||
| + | ================================= | ||
| + | FIN | ||
| + | date_immediate=$(date +%s) | ||
| + | Machine=$(echo " | ||
| + | ICI=$(cd $(dirname " | ||
| + | doss_image=" | ||
| + | doss_rrd=" | ||
| + | mkdir -p $doss_image | ||
| + | mkdir -p $doss_rrd | ||
| + | |||
| + | read touche | ||
| + | case " | ||
| + | a) # | ||
| + | # | ||
| + | #DS pour les octets transmis avec heartbeat (si passé ce délai, | ||
| + | # | ||
| + | #RRA 0.5 proportion de PDP *Unknown* pas de 5 (*60s) pour 2016 fois : 2016*5*60=604800s==1 semaine | ||
| + | clear | ||
| + | echo " | ||
| + | echo "a) Trafic sur l' | ||
| + | echo "z) Température du processeur" | ||
| + | echo "e) Utilisation CPU" | ||
| + | echo "r) Utilisation mémoire" | ||
| + | echo "t) Tous" | ||
| + | read touche | ||
| + | case " | ||
| + | a) | ||
| + | nom=trafic_eth0 | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | ;; | ||
| + | z) | ||
| + | nom=temperature | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | ;; | ||
| + | e) | ||
| + | nom=cpu | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | DS: | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | ;; | ||
| + | r) | ||
| + | nom=memoire | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | ;; | ||
| + | t) | ||
| + | nom=trafic_eth0 | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | nom=temperature | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | nom=cpu | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | DS: | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | nom=memoire | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | rrdtool create $nom_RRD -s 60 -b $date_immediate \ | ||
| + | DS: | ||
| + | DS: | ||
| + | RRA: | ||
| + | RRA: | ||
| + | echo " | ||
| + | ;; | ||
| + | esac | ||
| + | ;; | ||
| + | |||
| + | z) | ||
| + | # | ||
| + | clear | ||
| + | echo " | ||
| + | echo "a) Trafic sur l' | ||
| + | echo "z) Température du processeur" | ||
| + | echo "e) Utilisation CPU" | ||
| + | echo "r) Utilisation mémoire" | ||
| + | echo "t) Tous" | ||
| + | echo "y) Effacer tout" | ||
| + | read touche | ||
| + | case " | ||
| + | a) | ||
| + | nom=trafic_eth0 | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | crontab << FIN | ||
| + | $(crontab -l) | ||
| + | * * * * * | ||
| + | FIN | ||
| + | ;; | ||
| + | z) | ||
| + | nom=temperature | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | crontab << FIN | ||
| + | $(crontab -l) | ||
| + | * * * * * | ||
| + | FIN | ||
| + | ;; | ||
| + | e) | ||
| + | nom=cpu | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | crontab << FIN | ||
| + | $(crontab -l) | ||
| + | * * * * * | ||
| + | FIN | ||
| + | ;; | ||
| + | r) | ||
| + | nom=memoire | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | crontab << FIN | ||
| + | $(crontab -l) | ||
| + | * * * * * | ||
| + | FIN | ||
| + | ;; | ||
| + | t) | ||
| + | crontab << FIN | ||
| + | $(crontab -l) | ||
| + | * * * * * | ||
| + | FIN | ||
| + | ;; | ||
| + | y) | ||
| + | crontab << FIN | ||
| + | $(crontab -l | grep -v rrdupdate) | ||
| + | FIN | ||
| + | ;; | ||
| + | esac | ||
| + | echo " | ||
| + | crontab -l | ||
| + | ;; | ||
| + | |||
| + | e) | ||
| + | |||
| + | # | ||
| + | max_reception=8000000 | ||
| + | max_emission=800000 | ||
| + | nom=trafic_eth0 | ||
| + | unite=" | ||
| + | vertical=" | ||
| + | nom_RRD=" | ||
| + | derniere_date=$(date +%A%_d\ %B\ %Y,\ %Hh%M -d @$(rrdtool last $nom_RRD)) | ||
| + | titre=" | ||
| + | image=" | ||
| + | echo " | ||
| + | rrdtool graph $image -v " | ||
| + | DEF: | ||
| + | DEF: | ||
| + | HRULE: | ||
| + | HRULE: | ||
| + | COMMENT:" | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | COMMENT:" | ||
| + | # eog $image 2>/ | ||
| + | |||
| + | nom=temperature | ||
| + | unite=" | ||
| + | vertical=" | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | derniere_date=$(date +%A%_d\ %B\ %Y,\ %Hh%M -d @$(rrdtool last $nom_RRD)) | ||
| + | titre=" | ||
| + | image=" | ||
| + | echo " | ||
| + | rrdtool graph $image -v " | ||
| + | DEF: | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | HRULE: | ||
| + | HRULE: | ||
| + | COMMENT:" | ||
| + | # eog $image 2>/ | ||
| + | |||
| + | nom=cpu | ||
| + | unite="" | ||
| + | vertical=" | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | derniere_date=$(date +%A%_d\ %B\ %Y,\ %Hh%M -d @$(rrdtool last $nom_RRD)) | ||
| + | titre=" | ||
| + | image=" | ||
| + | CPU=$(grep "model name" / | ||
| + | echo " | ||
| + | rrdtool graph $image -v " | ||
| + | DEF: | ||
| + | DEF: | ||
| + | DEF: | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | HRULE: | ||
| + | HRULE: | ||
| + | COMMENT:" | ||
| + | # eog $image 2>/ | ||
| + | |||
| + | nom=memoire | ||
| + | unite=" | ||
| + | vertical=" | ||
| + | nom_RRD=$doss_rrd$nom.rrd | ||
| + | derniere_date=$(date +%A%_d\ %B\ %Y,\ %Hh%M -d @$(rrdtool last $nom_RRD)) | ||
| + | titre=" | ||
| + | image=" | ||
| + | echo " | ||
| + | rrdtool graph $image -v " | ||
| + | DEF: | ||
| + | DEF: | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | AREA: | ||
| + | GPRINT: | ||
| + | GPRINT: | ||
| + | COMMENT:" | ||
| + | COMMENT:" | ||
| + | eog $image 2>/ | ||
| + | ;; | ||
| + | r) | ||
| + | exit | ||
| + | ;; | ||
| + | esac | ||
| + | echo " | ||
| + | read touche | ||
| + | killall eog | ||
| + | bash $0 | ||
| + | </ | ||
| + | |||
| + | Il est possible qu'une adaptation/ | ||
| + | Cela peut être une base pour administrer sa machine à distance; on peut le compléter avec un serveur léger de page web affichant les images comme sur la " | ||
| + | |||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| - | * **(en)** [[http:// | + | * **(en)** [[https:// |
| + | * dernier script librement inspiré d'un article issu de GNU-Linux Magazine/ | ||
| ---- | ---- | ||
| - | // Contributeurs : [[utilisateurs: | + | // Contributeurs : [[utilisateurs: |
