Y RRDtools
commandes utiles

Fonctionnalités générale de RRDtools
rrdtool tune trafic.rrd DEL :*supprimer les valeurs dans le fichier
rrdtool dump trafic.rrdafficher les valeurs dans la base de donnée
rrdcachedun démon qui reçoit les mises à jour des fichiers RRD existants, les accumule et, s'il en a reçu suffisamment ou si un temps défini s'est écoulé, écrit les mises à jour dans le fichier RRD. Une commande flush peut être utilisée pour forcer l'écriture de valeurs sur le disque, afin que les fonctions graphiques et similaires puissent fonctionner avec des données à jour.rrdcached [-a alloc_size] [-b base_dir [-B]] [-F] [-f timeout] [-G group]] [-g] [-j journal_dir] [-L] [-l address] [-m mode] [-O] [-o log_file] [-P permissions] [-p pid_file] [-R] [-s group] [-t write_threads] [-U user]] [-V log_level] [-w timeout] [-z delay]
librrdlibrrd contient la plupart des fonctionnalités de RRDtool. Les utilitaires de ligne de commande et les liaisons de langage ne sont souvent que des enveloppes autour du code contenu dans librrd.
rrdbuildla compilation depuis les fichiers sources suit la même dynamque qu'une compilation unixapt-get source rrdtools
./configure --help
./configure --prefix=$INSTALL_DIR && make && make install
rrdcgirrdcgi est une sorte d'interpréteur de script très limité. Son but est de fonctionner comme un programme cgi et d'analyser un modèle de page Web contenant des balises
rrdcreateLa fonction de création de RRDtool vous permet de configurer de nouveaux fichiers de base de données Round Robin (RRD). Le fichier est créé à sa taille finale, complète et rempli de données *UNKNOWN*, à moins qu'un ou plusieurs fichiers RRD source aient été spécifiés et qu'ils contiennent des données appropriées pour "pré-remplir" le nouveau fichier RRD.rrdtool create filename [--start|-b start time] [--step|-s step] [--template|-t template-file] [--source|-r source-file] [--no-overwrite|-O] [--daemon|-d address] [DS:ds-name[=mapped-ds-name[[source-index]]]:DST:dst arguments] [RRA:CF:cf arguments]
rrddumpLa fonction dump écrit le contenu d'un RRD au format XML lisible par l'homme (?) dans un fichier ou sur stdout. Ce format peut être lu par rrdrestore. Ensemble, ils vous permettent de transférer vos fichiers d'une architecture informatique à une autre ainsi que de manipuler le contenu d'un fichier RRD d'une manière un peu plus pratique.rrdtool dump filename.rrd [filename.xml] [--header|-h {none,xsd,dtd}] [--no-header|-n] [--daemon|-d address] [> filename.xml]rrdtool dump trafic.rrd
rrdfetchLa fonction d'extraction est normalement utilisée en interne par la fonction graphique pour obtenir des données à partir des RRD. fetch analysera le RRD et tentera de récupérer les données dans la résolution demandée. Les données récupérées sont imprimées sur stdout. Les données *UNKNOWN* sont souvent représentées par la chaîne "NaN" en fonction de la fonction printf de votre système d'exploitation.rrdtool fetch filename CF [--resolution|-r resolution] [--start|-s start] [--end|-e end] [--align-start|-a] [--daemon|-d address]rrdtool fetch --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd AVERAGE
rrdfirstrenvoie l'horodatage UNIX du premier échantillon de données entré dans le RRA spécifié du fichier RRD.rrdtool first filename [--rraindex number] [--daemon|-d address]rrdtool first --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd
rrdflushcachedse connecte à rrdcached, le démon de mise en cache RRD, et émet une commande "flush" pour les fichiers donnés. Le démon placera les fichiers en tête de la file d'attente de mise à jour afin qu'ils soient écrits "bientôt". L'état ne sera renvoyé qu'une fois que les mises à jour en attente des fichiers auront été écrites sur le disque.rrdtool flushcached [--daemon|-d address] filename [filename ...]rrdtool flushcached --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd
rrdgraphutilisée pour présenter les données d'un RRD à un spectateur humain. Son objectif principal est de créer une belle représentation graphique, mais il peut également générer un rapport numérique.rrdtool graph|graphv filename [option ...] [data definition ...] [data calculation ...] [variable definition ...] [graph element ...] [print element ...]
rrdgraph_dataextraient les valeurs de données des fichiers RRD, en les modifiant éventuellement (pensez, par exemple, à une conversion d'octets en bits). Si vous le souhaitez, vous pouvez également définir des variables contenant des informations utiles telles que maximum, minimum, etc. Deux des instructions utilisent un langage appelé RPN qui est décrit dans sa propre page de manuel.DEF:=::[:step=][:start=
rrdgraph_graphCes instructions vous permettent de générer votre image ou rapport. Si vous n'utilisez aucun élément de graphique, aucun graphique n'est généré. De même, aucun rapport n'est généré si vous n'utilisez pas les options d'impression.
rrdgraph_libdbidéfinit une source de données sql <rrdfile> = sql//<libdbi driver>/<driver-option-name>=<driver-option-value>/...[/rrdminstepsize=<stepsize>][/rrdfillmissing=<fill missing n seconds>]//<table>/<unixtimestamp column>/<data value column>[/derive]/<where clause 1>/.../<where clause n>
rrdgraph_rpnReverse Polish Notation.vous poussez vos données sur une pile. Chaque fois que vous exécutez une opération, elle prend autant d'éléments de la pile que nécessaire. Le push est fait implicitement, donc chaque fois que vous spécifiez un nombre ou une variable, il est automatiquement poussé sur la pile.
rrdinfoLa fonction info imprime les informations d'en-tête d'un RRD dans un format convivial pour l'analyse.rrdtool info filename [--daemon|-d address [--noflush|-F]]
rrdlastrenvoie l'horodatage UNIX de la mise à jour la plus récente du RRD.rrdtool last filename [--daemon|-d address]rrdtool last --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd
rrdlastupdaterenvoie l'horodatage UNIX et la valeur stockée pour chaque donnée dans la mise à jour la plus récente d'un RRD. rrdtool lastupdate --daemon unix:/var/run/rrdcached.sock /var/lib/rrd/foo.rrd
rrdlistLa fonction list se connecte à rrdcached, le démon de mise en cache RRD, et émet une commande "list" pour le chemin donné. Cela fournit une interface de type "ls" pour parcourir et répertorier l'arborescence de la base de données rrd.rrdtool list [--daemon|-d address] path
rrdradosCe module ajoute la prise en charge de la création, de la mise à jour et de la récupération de fichiers RRD directement à partir d'un cluster Ceph à l'aide de librados. Il ajoute un préfixe ceph// au nom de fichier RRD qui est utilisé pour demander à rrdtool d'opérer sur un fichier stocké dans Ceph.<rrdfile> = ceph//<name> rrdtool dump existing.rrd | rrdtool restore - ceph//new.rrd
rrdresizeLa fonction de redimensionnement permet de modifier le nombre de lignes dans un RRA.rrdtool resize filename rra-num GROW|SHRINK rows
rrdrestoreLa fonction de restauration lit la représentation XML d'un RRD et la convertit au format RRD natif.rrdtool restore filename.xml filename.rrd [--range-check|-r] [--force-overwrite|-f]
rrdtuneL'option tune vous permet de modifier certaines des valeurs de configuration de base stockées dans la zone d'en-tête d'une base de données Round Robin (RRD).rrdtool tune filename [--heartbeat|-h ds-name:heartbeat] [--minimum|-i ds-name:min] [--maximum|-a ds-name:max] [--data-source-type|-d ds-name:DST] [--data-source-rename|-r old-name:new-name] [--deltapos|-p scale-value] [--deltaneg|-n scale-value] [--failure-threshold|-f failure-threshold] [--window-length|-w window-length] [--alpha|-x adaption-parameter] [--beta|-y adaption-parameter] [--gamma|-z adaption-parameter] [--gamma-deviation|-v adaption-parameter] [--smoothing-window|-s fraction-of-season] [--smoothing-window-deviation|-S fraction-of-season] [--aberrant-reset|-b ds-name] [--step|-t newstep] [--daemon|-D address] [DEL:ds-name] [DS:ds-spec] [DELRRA:index] [RRA:rra-spec] [RRA#index:[+-=]rrdtool tune data.rrd -h in:100000 -h out:100000 -h through:100000
rrdupdateLa fonction de mise à jour alimente de nouvelles valeurs de données dans un RRD. Les données sont alignées dans le temps (interpolées) selon les propriétés du RRD dans lequel les données sont écrites.rrdtool {update | updatev} filename [--template|-t ds-name[:ds-name]...] [--skip-past-updates|-s] [--daemon|-d address] [--] N:value[:value]... timestamp:value[:value]... at-timestamp@value[:value]...rrdtool update demo1.rrd N:3.44:3.15:U:23
rrdxportécrire une représentation au format XML des données stockées dans un ou plusieurs RRD. Il peut également extraire des rapports numériques. Si aucune instruction XPORT n'est trouvée, il n'y aura pas de sortie.rrdtool xport [-s|--start seconds] [-e|--end seconds] [-m|--maxrows rows] [--step value] [--json] [-t|--showtime] [--enumds] [--daemon|-d address] [DEF:vname=rrd:ds-name:CF] [CDEF:vname=rpn-expression] [XPORT:vname[:legend]]rrdtool xport \
DEF:out=if1-inouts.rrd:outoctets:AVERAGE \
XPORT:out:"out bytes"





creation du fichier de base de donnée
creation rrdtool create file.rrd
archetypeDS:ds-name:DST:heartbeat:min:maxs
DSsources de données
nameds-name est le nom que vous utiliserez pour référencer cette source de données particulière à partir d'un RRD. Un ds-name doit être composé de 1 à 19 caractères dans les caractères [a-zA-Z0-9_].
DSTdéfinit le type de source de données.
GAUGEpour des choses comme les températures ou le nombre de personnes dans une pièce ou la valeur d'une action RedHat.
COUNTERest pour les compteurs à incrémentation continue comme le compteur ifInOctets dans un routeur. La source de données COUNTER suppose que le compteur ne diminue jamais, sauf lorsqu'un compteur déborde. La fonction de mise à jour tient compte du débordement. Le compteur est stocké sous la forme d'un taux par seconde
DCOUNTERidentique à COUNTER, mais pour les quantités exprimées en nombre à virgule flottante double précision
DERIVEstockera la dérivée de la ligne allant de la dernière à la valeur actuelle de la source de données. Cela peut être utile pour les jauges, par exemple, pour mesurer le taux de personnes entrant ou sortant d'une pièce. En interne, la dérivation fonctionne exactement comme COUNTER mais sans contrôles de débordement
DDERIVEidentique à DERIVE, mais pour les quantités exprimées en nombre à virgule flottante double précision.
ABSOLUTEpour les compteurs qui sont réinitialisés lors de la lecture. Ceci est utilisé pour les compteurs rapides qui ont tendance à déborder. Ainsi, au lieu de les lire normalement, vous les réinitialisez après chaque lecture pour vous assurer d'avoir un maximum de temps disponible avant le prochain débordement
COMPUTEsert à stocker le résultat d'une formule appliquée à d'autres sources de données dans le RRD. Cette source de données ne reçoit pas de valeur lors de la mise à jour, mais plutôt ses points de données primaires (PDP) sont calculés à partir des PDP des sources de données selon l'expression rpn qui définit la formule.
heartbeat définit le nombre maximum de secondes qui peuvent s'écouler entre deux mises à jour de cette source de données avant que la valeur de la source de données ne soit supposée être *UNKNOWN*.
min maxmin et max définissent les valeurs de plage attendues pour les données fournies par une source de données. Si min et/ou max sont spécifiés, toute valeur en dehors de la plage définie sera considérée comme *UNKNOWN*. Si vous ne connaissez pas ou ne vous souciez pas du min et du max, réglez-les sur U pour inconnu. Notez que min et max se réfèrent toujours aux valeurs traitées du DS. Pour un DS de type compteur de trafic, il s'agirait du débit de données maximum et minimum attendu de l'appareil.
rpn
rpn-expression définit la formule utilisée pour calculer les PDP d'une source de données COMPUTE à partir d'autres sources de données dans le même . Cela revient à définir un argument CDEF pour la commande graph. Veuillez vous référer à cette page de manuel pour une liste et une description des opérations RPN prises en charge.
RRA:{AVERAGE | MIN | MAX | LAST}:xff:steps:rows
Le RRA ou (round robin archive) est une archives circulaires permettant de stocker les données. Une archive se compose d'un certain nombre de valeurs de données ou de statistiques pour chacune des sources de données définies (DS) et est définie avec une ligne RRA.
Point de donnée principaleLorsque des données sont entrées dans un RRD, elles sont d'abord insérées dans des créneaux horaires de la longueur définie avec l'option -s, devenant ainsi un point de données principal.
CFLes données sont également traitées avec la fonction de consolidation (CF) de l'archive. Il existe plusieurs fonctions de consolidation qui consolident les points de données primaires via une fonction d'agrégation : AVERAGE, MIN, MAX, LAST.
les ???
AVERAGE la moyenne des points de données est stockée.
MIN le plus petit des points de données est stocké.
MAXle plus grand des points de données est stocké.
LASTles derniers points de données sont utilisés.
Notez que l'agrégation des données entraîne inévitablement une perte de précision et d'informations. L'astuce consiste à choisir la fonction d'agrégation de sorte que les propriétés intéressantes de vos données soient conservées tout au long du processus d'agrégation.
xffLe facteur xfiles définit quelle partie d'un intervalle de consolidation peut être constituée de données *UNKNOWN* alors que la valeur consolidée est toujours considérée comme connue. Il est donné sous la forme du rapport entre les PDP *UNKNOWN* autorisés et le nombre de PDP dans l'intervalle. Ainsi, il varie de 0 à 1 (exclusif).
stepsdéfinit combien de ces points de données primaires sont utilisés pour créer un point de données consolidé qui va ensuite dans l'archive. Voir aussi "STEP, HEARTBEAT et Rows As Durations".
rowsdéfinit le nombre de générations de valeurs de données conservées dans une RRA. Évidemment, celui-ci doit être supérieur à zéro. Voir aussi "STEP, HEARTBEAT et Rows As Durations".
exemple sudo rrdtool create "/etc/livestats/create/trafic_${Interface}.rrd" \
--step 30 \
DS:up:COUNTER:600:0:U \
DS:down:COUNTER:600:-9999999999:U \
RRA:AVERAGE:0.5:1:86400 \
RRA:MAX:0.5:1:86400