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: | ||
| + | |||
| + | </ | ||