Forum Linux.débutant RRDTOOL base de données

Posté par . Licence CC by-sa
Tags : aucun
1
5
mai
2015

Bonjour
je recherche un connaisseur de RRDTOOL.

Avec mon raspberry et un DS2423 je récupère les impulsions de mon compteur eau froide ,1 Impulsion = 100 litres d'eau , je voudrais créer une Base de donnée RDDTOOL et ensuite faire des Graph a bar , je suis partie sur la fonction COUNTER , avec ces valeurs ,est ce la bonne solution ? car mon graph bug completement .

RRD heartbeat=600
RR Dmin=0
RRD max=12500000
RRA:AVERAGE:0:360:576
RRA:AVERAGE:0:30:576
RRA:AVERAGE:0:7:576
RRA:AVERAGE:0:1:576
RRA:MIN:0:360:576
RRA:MIN:0:30:576
RRA:MIN:0:7:576
RRA:MAX:0:360:576
RRA:MAX:0:30:576
RRA:MAX:0:7:576
Merci d'avance pour votre aide

  • # heartbeat ?

    Posté par (page perso) . Évalué à 2.

    Je pense que tu va avoir un problème avec le 'heartbeat'.

    Rrdtool est fait pour accumuler des données temporelles régulières. La valeur 'heartbeat' donne la période de temps maximum acceptable entre 2 entrées temporelles. Si on dépasse ce temps, la valeur sera NaN (Not a Number).

    Tu peux vérifier le contenu de ta base avec la commande : rrdtool dump fic.rrd.

    • [^] # Re: heartbeat ?

      Posté par . Évalué à 1.

      Bonjour Eric ,je viens de verifier effectivement j'ai toujours cette valeur NaN
      Comment faut'il bien configurer ce heartbeat ?

      Est ce que la fonction COUNTER est bien adapté ?
      car il y a COUNTER,GAUGE,DERIVE,ABSOLUTE ou COMPUTE ?
      Un autre truc bizard quand j'ai regardé ma BD avec rrdtool dump fic.rrd elle commence le 13 03 2015 alors que je l'ai créer le 01 05 2015

      <!-- 2015-03-13 01:00:00 CET / 1426204800 --> NaNNaNNaN

      • [^] # Re: heartbeat ?

        Posté par (page perso) . Évalué à 2.

        rrdtool est plutôt conçu pour des données régulières ( 1 acquisition toutes les minutes par exemple) et heartbeat permet de montrer s'il a eu des trous dans l'acquisition.

        Dans ton, cas, les données vont être irrégulières : pas grand chose la nuit par exemple, donc il te faut choisir comme heartbeat une grande valeur, du type une journée.

        Pour le type de données,
        - COUNTER, est pour une donnée qui augmente, par exemple le kilométrage d'une voiture
        - GAUGE est adaptée à une mesure fluctuante , par exemple une température
        - DERIVE, va montrer les variations entre 2 mesures

        je pense qu'ABSOLUTE serait la bonne solution.

        • [^] # Re: heartbeat ?

          Posté par . Évalué à 1.

          Bonjour Eric , je vais essayé heartbeat a 86400 (24 heures ) et ABSOLUTE

        • [^] # Re: heartbeat ?

          Posté par . Évalué à 1.

          Je suis toujours au meme point , pour mes derniers essais je suis repassé a Gauge avec ces valeurs
          rrd_heartbeat=3600, rrd_min=0, rrd_max=1,
          la valeur mini acceptée est de: 0 et la valeur maxi de:1 Je ne sais pas si ça fonctionne comme çà je dit a ta base de considérer comme bonne toute valeur comprissent entre 0 et 1 car 1 = 100L

        • [^] # Re: heartbeat ?

          Posté par . Évalué à 1.

          Bonsoir , je reviens vers vous pour vous demander une fois de plus de l'aide , j'ai beau chercher dans tous les sens il y a un truc qui cloche au niveau de ma BD compteur d'eau ,

          voila ce que j'ai mis pour faire ma Base de donnée compteur eau

          rrd_dst="ABSOLUTE"
          rrd_heartbeat=600,
          rrd_min='U',
          rrd_max='U',

          j'ai interrogé ma base avec cette commande en console rrdtool dump data_DS2423 | less
          Et voila la réponse ,
          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">
          <!-- Round Robin Database Dump -->

          0003
          300 <!-- Seconds -->
          1431367207 <!-- 2015-05-11 20:00:07 CEST -->

          <ds>
          <name> CE1 </name>
          <type> ABSOLUTE </type>
          <minimal_heartbeat>600</minimal_heartbeat>
          <min>0.0000000000e+00</min>
          <max>1.0000000000e+00</max>
          <!-- PDP Status -->
          <last_ds>59800</last_ds>
          <value>NaN</value>
          <unknown_sec> 7 </unknown_sec>
          </ds>
          <!-- Round Robin Archives -->
          <rra>
          <cf>AVERAGE</cf>
          <pdp_per_row>1</pdp_per_row> <!-- 300 seconds -->
          <params>
          <xff>0.0000000000e+00</xff>
          </params>
          <cdp_prep>
          <ds>
          <primary_value>NaN</primary_value>
          <secondary_value>NaN</secondary_value>
          <value>NaN</value>
          <unknown_datapoints>0</unknown_datapoints>
          </ds>
          </cdp_prep>
          <database>
          <!-- 2015-05-11 18:05:00 CEST / 1431360300 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:10:00 CEST / 1431360600 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:15:00 CEST / 1431360900 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:20:00 CEST / 1431361200 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:25:00 CEST / 1431361500 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:30:00 CEST / 1431361800 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:35:00 CEST / 1431362100 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:40:00 CEST / 1431362400 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:45:00 CEST / 1431362700 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:50:00 CEST / 1431363000 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 18:55:00 CEST / 1431363300 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:00:00 CEST / 1431363600 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:05:00 CEST / 1431363900 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:10:00 CEST / 1431364200 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:15:00 CEST / 1431364500 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:20:00 CEST / 1431364800 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:25:00 CEST / 1431365100 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:30:00 CEST / 1431365400 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:35:00 CEST / 1431365700 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:40:00 CEST / 1431366000 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:45:00 CEST / 1431366300 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:50:00 CEST / 1431366600 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 19:55:00 CEST / 1431366900 --> <row><v>NaN</v></row>
          <!-- 2015-05-11 20:00:00 CEST / 1431367200 --> <row><v>NaN</v></row>
          </database>


          AVERAGE
          6 <!-- 1800 seconds -->

          <params>
          <xff>0.0000000000e+00</xff>
          </params>
          <cdp_prep>
          <ds>
          <primary_value>NaN</primary_value>
          <secondary_value>NaN</secondary_value>
          <value>0.0000000000e+00</value>
          <unknown_datapoints>0</unknown_datapoints>
          </ds>
          </cdp_prep>
          <database>
          <!-- 2013-05-11 08:30:00 CEST / 1368253800 --> <row><v>NaN</v></row>
          je ne comprend pas 59800 ce matin avant de partir au travail j'avais 59600 2 impulsions du compteur sont passé pour mettre 59800 pourquoi j'ai toujours NaN a chaque interrogation ?

          • [^] # Re: heartbeat ?

            Posté par (page perso) . Évalué à 0.

            Pour que rrdtool prenne en compte tes données, il faut que le temps entre 2 impulsions soit inférieur à heartbeat, soit 600 secondes, sinon tu auras NaN (NotaNumber).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.