Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
app:rrdtool:exemples:trafic-interface [2018/04/01 12:15] – créée yoann | app:rrdtool:exemples:trafic-interface [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
On se propose ici d' | On se propose ici d' | ||
+ | |||
+ | ===== Définition de la RRD ===== | ||
+ | |||
+ | On souhaite créer une base qui sera alimentée au moins toutes les 60 secondes et commencera immédiatement. On identifie 2 DS (Data Source) qui correspondent aux quantités d' | ||
+ | |||
+ | Le script ci dessous permet de créer la base: | ||
+ | |||
+ | <code bash make_rrd.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | START=$(date +%s) | ||
+ | |||
+ | rrdtool create trafic_wlan0.rrd --step 60 --start $START \ | ||
+ | DS: | ||
+ | DS: | ||
+ | RRA: | ||
+ | RRA: | ||
+ | |||
+ | </ | ||
+ | |||
+ | * La première ligne déclare le nom de la base et spécifie le step de 60 secondes et la date de départ à l' | ||
+ | * Les DS, en premier argument le nom suivit du type **COUNTER** de leur hertbeat de 120 secondes, puis la valeur minimale 0 et la maximum n'est pas définie U = Unknown. | ||
+ | * Enfin définition de 2 RRA: | ||
+ | * la première utilisant la CF LAST et un seul DPD (pas de consolidation) enregistrant 1440 CDP toutes les 60 secondes ce qui donne un visibilité sur 1440 * 60 = 86400 secondes équivalent à une journée. | ||
+ | * La secondes utilisant 5 PDP pour former le CDP, ce qui donne 1 CDP toutes les 5 * 60 =300 secondes et enregistrant 2016 CDP. La visibilité est donc de 300 * 2016 = 604800 secondes équivalent a une semaine. | ||
+ | |||
+ | |||
+ | ===== Alimenter la base ===== | ||
+ | |||
+ | Maintenant que la base est créée, il faut l' | ||
+ | |||
+ | <code bash> | ||
+ | $ rrdupdate base.rrd timestamp: | ||
+ | </ | ||
+ | |||
+ | Le script suivant met en forme les données et de les transmet à la base via rrdupdate: | ||
+ | <code bash update_rrd.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | RRD=/ | ||
+ | |||
+ | DATAS=$(grep wlan0 / | ||
+ | |||
+ | rrdupdate $RRD $DATAS | ||
+ | </ | ||
+ | |||
+ | Utiliser crontab pour l’exécuter régulièrement (toutes les minutes): | ||
+ | |||
+ | <code bash> | ||
+ | $ crontab -l | ||
+ | ... | ||
+ | * * * * * / | ||
+ | </ | ||
+ | |||
+ | ===== Tracer le graphique ===== | ||
+ | |||
+ | La base est régulièrement alimentée, on peut à présent tracer un graphique simple: | ||
+ | |||
+ | <code bash make_graph.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | RRD=/ | ||
+ | |||
+ | rrdtool graph trafic_wlan0.png -s -1h -t " | ||
+ | DEF: | ||
+ | DEF: | ||
+ | LINE: | ||
+ | LINE: | ||
+ | |||
+ | </ |