Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
app:rrdtool:start [2017/07/05 14:29] – yoann | app:rrdtool:start [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== RRDtool ====== | ====== RRDtool ====== | ||
- | Étapes pour la création d'un processus utilisant **rrdtool**: | + | ===== Généralités ===== |
- | * Initialiser la base de données. création | + | Créé en 1999 par Tobias Oetiker, RRDtool comprend une une base de données de type buffer circulaire pour valeurs numériques accompagnée d' |
- | * Collecter | + | |
- | * Création du graphique. Récupérer les données de la base pour faire les calculs et créer | + | |
===== La base de données ===== | ===== La base de données ===== | ||
- | RRD pour round robin database. Le nombre d' | + | **RRD** pour **R**ound **R**obin **D**atabase (base de données tourniquet). Le fichier de la base RRD contient un nombre d' |
- | * **DS** | + | |
- | * **RRA** (**R**ound **R**obin **A**rchive) peut être assimilé | + | Les données enregistrées dans une RRD sont fondamentalement liées au temps. L' |
+ | |||
+ | Une RRD est caractérisée par sa date de début | ||
+ | |||
+ | La plage de temps servant de base pour la mesure est également bornée (déterminée et fixée). Si plus d' | ||
+ | |||
+ | ===== Terminologie ===== | ||
+ | |||
+ | * **DS** | ||
+ | * **DST** pour **Data Source Type**, une **DS** est également caractérisée par son type qui peut être: | ||
+ | * **COUNTER**, | ||
+ | * **DERIVE**, similaire à **COUNTER** mais permet de stocker des valeurs négatives et de décroître. Le delta est stocké. | ||
+ | | ||
+ | | ||
+ | * **RRA** pour **Round Robin Archive**. Une RRD peut contenir plusieurs archives RRA. Les valeurs insérées dans la RRD sont périodiquement agrégées pour former les CDP enregistrés dans les RRA. Elles peuvent | ||
+ | * **PDP** pour **Primary Data Point**. A chaque intervalle de temps égal à **step**, une nouvelle valeur provenant d'une **DS** est une **PDP**. La PDP est qualifiée de primaire car elle n'est pas directement stockée dans la RRA, elle est consolidée avant. La consolidation consiste à agréger plusieurs PDP à l'aide d'une fonction de consolidation afin de conserver une tendance pertinente. | ||
+ | * **CDP** pour **Consolided Data Point**, c'est l' | ||
+ | * **CF** pour **Consolidation Function** Lors de la définition d'une RRA, RRDtool utilise un certain nombre de PDP pour déterminer le CDP à enregistrer. La manière de traiter est définie par un fonction de consolidation: | ||
+ | |||
==== Data Source ==== | ==== Data Source ==== | ||
Ligne 24: | Ligne 42: | ||
Le champ **DST** pour **D**ata **S**ource **T**ype peut prendre les valeurs suivantes: | Le champ **DST** pour **D**ata **S**ource **T**ype peut prendre les valeurs suivantes: | ||
- | * GAUGE, mesure, le plus permissif | ||
- | * COUNTER, valeur augmentant en continu | ||
- | * DERIVE, stocke une valeur dérivée calculée avec la valeur courante et précédente | ||
- | * ABSOLUTE | ||
L' **heartbeat** s' | L' **heartbeat** s' | ||
- | **min** et **max** permettent de définir un intervalle de validité pour la valeur. Toute valeurs hors de cet intervalle sera considérée inconnue. | + | **min** et **max** permettent de définir un intervalle de validité pour la valeur. Toute valeurs hors de cet intervalle sera considérée inconnue |
Ci dessous, un exemple de déclaration utilisé pour stocker des relevés de température: | Ci dessous, un exemple de déclaration utilisé pour stocker des relevés de température: | ||
Ligne 39: | Ligne 53: | ||
</ | </ | ||
- | Dans l' | + | Dans l' |
==== RRA ==== | ==== RRA ==== | ||
- | Définition des Round Robin Archives. Une base RRD peut contenir une ou plusieurs RRA. Chaque RRA est une vue différente stockant indépendamment les données chacune avec un nombre prédéfinit d' | + | **RRA** pour **R**ound **R**obin **A**rchive. Une base RRD peut contenir une ou plusieurs RRA afin de couvrir des plages d' |
+ | |||
+ | La couverture temporelle de la RRA est ajustable via deux paramètres: | ||
+ | * step: nombre de PDP à agréger pour former le CDP | ||
+ | * rows: nombre de CDP conservés dans la RRA | ||
+ | |||
+ | Il est donc possible de concevoir des plages d' | ||
Lors de l' | Lors de l' | ||
- | Syntaxe: | + | ==== Syntaxe |
< | < | ||
Ligne 60: | Ligne 81: | ||
* LAST | * LAST | ||
- | Le champ **XFF** **XF**iles **F**actor, | + | Le champ **XFF** **XF**iles **F**actor, est le pourcentage de **PDP** |
La valeur **nb_PDPs** correspond au nombre de PDP utilisés pour un enregistrement. | La valeur **nb_PDPs** correspond au nombre de PDP utilisés pour un enregistrement. | ||
Ligne 66: | Ligne 87: | ||
La valeur nb_REC | La valeur nb_REC | ||
+ | |||
+ | ===== Consulter la RRD ===== | ||
+ | |||
+ | La commande rrdinfo permet de retourner des information sur la structure de la RRD | ||
+ | <code bash> | ||
+ | $ rrdinfo / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Pour recuperer la date de derniere mise a jour: | ||
+ | <code bash> | ||
+ | $ rrdtool last / | ||
+ | </ | ||
+ | |||
+ | La valeur retournée est un timestamp Unix, pour la mettre en forme de facon plus lisible: | ||
+ | |||
+ | <code bash> | ||
+ | $ date -d @$(rrdtool last / | ||
+ | </ | ||
+ | ===== Étapes pour la création d'une application ===== | ||
+ | |||
+ | * Initialiser la base de données. Création de la base de données et préparer pour accepter les données. Il va falloir préciser la quantité de données à sauvegarder, | ||
+ | * Collecter les données. Un processus devra périodiquement écrire les données dans la base. C'est probablement l’étape qui prendra le plus de temps de développement. | ||
+ | * Création du graphique via [[app: | ||
===== Exemples ===== | ===== Exemples ===== | ||
+ | * [[app: | ||
* Enregistrer le temps moyen de réponse d'un ping sur 1h [[app: | * Enregistrer le temps moyen de réponse d'un ping sur 1h [[app: | ||
Ligne 76: | Ligne 122: | ||
* https:// | * https:// | ||
* http:// | * http:// | ||
+ | * GLM N°143 de Novembre 2011 | ||
+ | * https:// | ||