{{tag>rrdtool graph graphique}} ====== Générer des graphes avec rrdtool ====== Pour générer les graphes on pourra utiliser les commandes équivalentes **rrdgraph** ou **rrdtool graph**. La commande est riche en paramètres, la liste exhaustive est présente dans la documentation. Le wiki détaille quelques particularités ou difficultés rencontrées lors des premières utilisations. La commande **DEF** pour DEFinition permet de faire la correspondance entre les enregistrements de la base RRD et les variables qui pourront être tracées dans le graphe. DEF:tsize=database.rrd:tsz:LAST Ici la variable utilisable dans le graphe est tsize, elle est liée aux enregistrements tsz Il est possible d'effectuer des calculs à partir des données extraites des bases RRD et de produire de nouveaux tableaux de valeurs traçables via la commande **CDEF**. Les expressions utilisent la syntaxe RPN (Reverse Polish Notation). **CDEF** produit en mémoire temporaire un nouveau tableau de valeurs traçables sur le graphe via **LINE** ou **AREA**. Il doit y avoir une variable DEF/CDEF dans toute expression CDEF. Pour effectuer un calcul avec des constantes ou une varibles VDEF, l'astuce consiste à utiliser une DEF/CDEF préexistante pour initialiser la variable CDEF puis écraser le contenu via l'opération **POP** CDEF:new=dataset,POP,1,2,+ La commande **VDEF** produit une valeur isolée contrairement à **CDEF** qui produit un tableau de valeurs. Elle pourra être formatée et affichée hors du graphe mais pas tracée comme une courbe. La commande PRINT permet de retourner des valeurs sur la console. La commande GPRINT permet d’écrire sur le graphe. Dans ce cas il faut utiliser une chaine de formatage: GPRINT:last_used:"Espace Utilisé\: %3.2lf %s" Dans l'exemple ci-dessus, la commande GPRINT permet d’écrire sous le graphe. La valeur de la variable last_used sera utilisée. La mise en forme est décrite par la chaine ''"Espace Utilisé\: %3.2lf %s"''. Bien noter que: * Le caractère spécial : est échappé via l'antislash. * La valeur de **last_used** est mise en forme via ''%3.2lf'' par 3 chiffres et 2 chiffres après la virgule %s permet d'utiliser les unités appropriées. ===== Références ===== * man rrdgraph * https://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html * https://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html