RRDTool
Basis- und Hintergrundwissen



         Simon Meggle
    WIRECARD Technologies AG




   Nagios-Workshop 2010, Nürnberg
Agenda



●   Grundlagen: Bestands- und Stromdaten
    ●   Unterscheidung von Kennzahlen
    ●   Berechnung von Stromdaten
●   Datenfluss in RRDTool
    ●   Datentypen
    ●   Schritt 1: Transformierung zu Stromdaten
    ●   Schritt 2: Normalisierung zu PDPs
    ●   Schritt 3: Konsolidierung zu CDPs
●   RRDTool lebt in der Vergangenheit!




                         RRDTool Basis­ und Hintergrundwissen   2
Grundlagen: Bestands- und Stromdaten



Unterscheidung von Kennzahlen nach
   ●   Bestandsdaten
        –   Kontostand
        –   Anzahl Bundesbürger
        –   Kilometerzähler im Auto




                          RRDTool Basis­ und Hintergrundwissen   3
Grundlagen: Bestands- und Stromdaten



Unterscheidung von Kennzahlen nach
   ●   Bestandsdaten
        –  Kontostand
        – Anzahl Bundesbürger
        – Kilometerzähler im Auto
   ●   Stromdaten (=Veränderungen von Bestandsdaten über einen Zeitraum)
        –   Geldbewegung pro Zeit
             ● Einkommen (+)

             ● Ausgaben (-)


        –   Demografische Entwicklung pro Zeit; Zahl der
             ● Geburten (+)

             ● Sterbefälle (-)

             ● Zuwanderungen (+)

             ● Abwanderungen (-)


        –   Gefahrene km pro Zeit (+)


                          RRDTool Basis­ und Hintergrundwissen        4
Grundlagen: Bestands- und Stromdaten



Wozu Stromgrößen erfassen?
Negativ-Beispiel für die Erfassung von Bestandsgrößen:

                    Nachteile:
                    ● Graph skaliert schlecht

                    ● „alles sieht gleich aus“




                          RRDTool Basis­ und Hintergrundwissen   5
Grundlagen: Bestands- und Stromdaten



Wozu Stromgrößen erfassen?
Negativ-Beispiel für die Erfassung von Bestandsgrößen:

                    Nachteile:
                    ● Graph skaliert schlecht

                    ● „alles sieht gleich aus“

                    ● Interpretation nur anhand der Deltas möglich




                          RRDTool Basis­ und Hintergrundwissen       6
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x):




                                      ∆y


                 ∆x
                                                    t
                        RRDTool Basis­ und Hintergrundwissen   7
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x):



                                                           Es seien:
                                                            ●
                                                              ∆y=50 Bytes in
                                                            ● ∆x=10 Sekunden


                                                           übertragen worden.




                                         ∆y = 50


                 ∆x = 10
                                                       t
                           RRDTool Basis­ und Hintergrundwissen                 8
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x):



                                                           Es seien:
                                                            ●
                                                              ∆y=50 Bytes in
                                                            ● ∆x=10 Sekunden


                                                           übertragen worden.

         50 Bytes                                          Unbekannt:
                                                           Was geschah wirklich in ∆x?

                                                           … 2s nichts,
                                                           ...in 5s 50 Bytes (=10 B/s) ,
                                         ∆y = 50           … 3s nichts ?

                 ∆x = 10
                                                       t
                           RRDTool Basis­ und Hintergrundwissen                            9
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x):



                                                            Es seien:
                                                             ●
                                                               ∆y=50 Bytes in
                                                             ● ∆x=10 Sekunden


                                                            übertragen worden.
                 50 Bytes


                                                            Unbekannt:
                                                            Was geschah wirklich in ∆x?

                                                            … 5s nichts,
                                                            ...in 1s 50 Bytes (=50 B/s) ,
                                          ∆y = 50           … 4s nichts ?

                 ∆x = 10
                                                        t
                            RRDTool Basis­ und Hintergrundwissen                            10
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x):



                                                               Es seien:
                                                                ●
                                                                  ∆y=50 Bytes in
                                                                ● ∆x=10 Sekunden


                                                               übertragen worden.
       50 Bytes




                                                               Unbekannt:
                                                               Was geschah wirklich in ∆x?

                                                               … 1s nichts,
                                                               ...in 2,5s 50 Bytes (=20 B/s) ,
                                             ∆y = 50           … 6,5s nichts ?

                     ∆x = 10
                                                           t
                               RRDTool Basis­ und Hintergrundwissen                          11
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x):



                                                        EGAL!

                                                        Fakt ist:
                                                        50 Bytes in 10s übertragen!

                                                        Einzig berechenbare Bandbreite:
                                                        50 Bytes/10s = 5 Bytes/s

                                                        Die Bandbreite 5 Bytes/s über 10s
           50 Bytes                                     drückt die übertragene
                                         ∆y = 50        Datenmenge aus.

                                                        „Transformation“
                 ∆x = 10
                                                       t
                           RRDTool Basis­ und Hintergrundwissen                       12
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen

                DS:ds-name:DST:heartbeat:min:max
   ●
     DS (Datasources): Jede RRD besitzt ein oder mehrere DS; diese liefern
        die Datengrundlage für Primary Data Points (PDPs)
   ● ds-name: frei wählbarer Name der DS (1-19 Zeichen)

   ● DST (DataSourceType):

       ● COUNTER

       ● DERIVE

       ● ABSOLUTE

       ● GAUGE

       ● (COMPUTE: Verrechnung anderer DS, nicht in diesem Vortrag behandelt)

   ● heartbeat: maximaler Abstand zweier Updates mit Messwerten in Sek.


       (= „PDP-timeout“, wird hinter t=now „hinterhergezogen“)
   ● min/max: Werte außerhalb dieser Extrema werden als UNKNOWN


       gespeichert (= „Sanity-Check“, um z.b. „­800°C“ zu vermeiden)




                             RRDTool Basis­ und Hintergrundwissen               13
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen

                DS:ds-name:DST:heartbeat:min:max
   ●
     DS (Datasources): Jede RRD besitzt ein oder mehrere DS; diese liefern
        die Datengrundlage für Primary Data Points (PDPs)
   ● ds-name: frei wählbarer Name der DS (1-19 Zeichen)

   ● DST (DataSourceType):

       ● COUNTER

       ● DERIVE

       ● ABSOLUTE

       ● GAUGE

       ● (COMPUTE: Verrechnung anderer DS, nicht in diesem Vortrag behandelt)

   ● heartbeat: maximaler Abstand zweier Updates mit Messwerten in Sek.


       (= „PDP-timeout“, wird hinter t=now „hinterhergezogen“)
   ● min/max: Werte außerhalb dieser Extrema werden als UNKNOWN


       gespeichert (= „Sanity-Check“, um z.b. „­800°C“ zu vermeiden)


 ○/⬤: PNP: über Custom Templates pro Check justierbar (PNP 0.4 / 0.6)!
                             RRDTool Basis­ und Hintergrundwissen               14
Datenfluss in RRDTool


                 Wert,
              timestamp
                                             Data Type
                                             Data Type
                                             COUNTER
                                              DERIVE
           Transformation                    Data Type
                                             ABSOLUT
                (DS)
                                              GAUGE



          Normalisierung
              (PDP)




           Konsolidierung
RRA
               (CDP)



      RRDTool Basis­ und Hintergrundwissen               15
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                 COUNTER                  DERIVE              ABSOLUTE             GAUGE
               zunehmender           wie COUNTER;           wie COUNTER;
                                                                                     Wert
               Counter-Wert          zu-/abnehmend          zählt immer ab 0
 Input



 gespeichert                                                                       Wert wird
                   ∆ wert / ∆ t           ∆ wert / ∆ t           wert / ∆ t
 wird                                                                            durchgereicht
 Overflow-
 Check                
               Bytecounter,                                                    Temperatur,
                                     Bidirektionale         COUNTER mit
 Beispiele     Wasseruhr,                                                      Füllstand, Km/h,
                                     Pumpe                  vielen Overflows
               Kilometerzähler                                                 KWh




                    Stromdaten                            Bestandsdaten
                                  RRDTool Basis­ und Hintergrundwissen                            16
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE              ABSOLUTE             GAUGE
                     zunehmender           wie COUNTER;           wie COUNTER;
                                                                                           Wert
                     Counter-Wert          zu-/abnehmend          zählt immer ab 0
 Input



 gespeichert                                                                             Wert wird
                         ∆ wert / ∆ t           ∆ wert / ∆ t           wert / ∆ t
 wird                                                                                  durchgereicht
 Overflow-
 Check                      
                     Bytecounter,                                                    Temperatur,
                                           Bidirektionale         COUNTER mit
 Beispiele           Wasseruhr,                                                      Füllstand, Km/h,
                                           Pumpe                  vielen Overflows
                     Kilometerzähler                                                 KWh
 Beispiel-Werte (bei check_interval=60s)
               60             1                      1                     1                60
               120            1                      1                     2                120
               180            1                      1                     3                180
               300            2                      2                     5                300
               60            --                     -4                     1                60


                          Stromdaten                            Bestandsdaten
                                        RRDTool Basis­ und Hintergrundwissen                            17
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE              ABSOLUTE             GAUGE
                     zunehmender           wie COUNTER;           wie COUNTER;
                                                                                           Wert
                     Counter-Wert          zu-/abnehmend          zählt immer ab 0
 Input



 gespeichert                                                                             Wert wird
                         ∆ wert / ∆ t           ∆ wert / ∆ t           wert / ∆ t
 wird                                                                                  durchgereicht
 Overflow-
 Check                      
                     Bytecounter,                                                    Temperatur,
                                           Bidirektionale         COUNTER mit
 Beispiele           Wasseruhr,                                                      Füllstand, Km/h,
                                           Pumpe                  vielen Overflows
                     Kilometerzähler                                                 KWh
 Beispiel-Werte (bei check_interval=60s)
               60             1                   1                  1
                                            wert(aktuell) !> wert(letzter)                  60
               120            1                      1                     2                120
               180            1                      1                     3                180
               300            2                      2                     5                300
               60            --                     -4                     1                60

                          Stromdaten                            Bestandsdaten
                                        RRDTool Basis­ und Hintergrundwissen                            18
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE              ABSOLUTE             GAUGE
                     zunehmender           wie COUNTER;           wie COUNTER;
                                                                                           Wert
                     Counter-Wert          zu-/abnehmend          zählt immer ab 0
 Input



 gespeichert                                                                             Wert wird
                         ∆ wert / ∆ t           ∆ wert / ∆ t           wert / ∆ t
 wird                                                                                  durchgereicht
 Overflow-
 Check                      
                     Bytecounter,                                                    Temperatur,
                                           Bidirektionale         COUNTER mit
 Beispiele           Wasseruhr,                                                      Füllstand, Km/h,
                                           Pumpe                  vielen Overflows
                     Kilometerzähler                                                 KWh
 Beispiel-Werte (bei check_interval=60s)
               60             1                      1                     1                60
                                                                    ∆wert = -240 !
               120            1                      1                     2                120
               180            1                      1                     3                180
               300            2                      2                     5                300
               60            --                     -4                     1                60

                          Stromdaten                            Bestandsdaten
                                        RRDTool Basis­ und Hintergrundwissen                            19
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE              ABSOLUTE               GAUGE
                     zunehmender           wie COUNTER;           wie COUNTER;
                                                                                             Wert
                     Counter-Wert          zu-/abnehmend          zählt immer ab 0
 Input



 gespeichert                                                                               Wert wird
                         ∆ wert / ∆ t           ∆ wert / ∆ t           wert / ∆ t
 wird                                                                                    durchgereicht
 Overflow-
 Check                      
                     Bytecounter,                                                      Temperatur,
                                           Bidirektionale         COUNTER mit
 Beispiele           Wasseruhr,                                                        Füllstand, Km/h,
                                           Pumpe                  vielen Overflows
                     Kilometerzähler                                                   KWh
 Beispiel-Werte (bei check_interval=60s)
                                                                                     wert = 300 !
               60             1                      1                     1                  60
               120            1                      1                     2                  120
               180            1                      1                     3                  180
               300            2                      2                     5                  300
               60            --                     -4                     1                  60

                          Stromdaten                            Bestandsdaten
                                        RRDTool Basis­ und Hintergrundwissen                              20
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE              ABSOLUTE               GAUGE
                     zunehmender           wie COUNTER;           wie COUNTER;
                                                                                             Wert
                     Counter-Wert          zu-/abnehmend          zählt immer ab 0
 Input



 gespeichert                                                                               Wert wird
                         ∆ wert / ∆ t           ∆ wert / ∆ t           wert / ∆ t
 wird                                                                                    durchgereicht
 Overflow-
 Check                      
                     Bytecounter,                                                      Temperatur,
                                           Bidirektionale         COUNTER mit
 Beispiele           Wasseruhr,                                                        Füllstand, Km/h,
                                           Pumpe                  vielen Overflows
                     Kilometerzähler                                                   KWh
 Beispiel-Werte (bei check_interval=60s)
               60             1                      1                     1                  60
                                                                                     wert = 60 !
               120            1                      1                     2                  120
               180            1                      1                     3                  180
               300            2                      2                     5                  300
               60            --                     -4                     1                  60

                          Stromdaten                            Bestandsdaten
                                        RRDTool Basis­ und Hintergrundwissen                              21
Datenfluss in RRDTool


                 Wert,
              timestamp
                                             Data Type
                                             Data Type
                                             COUNTER
                                              DERIVE
           Transformation                    Data Type
                                             ABSOLUT
                (DS)
                                              GAUGE



          Normalisierung
              (PDP)




           Konsolidierung
RRA
               (CDP)



      RRDTool Basis­ und Hintergrundwissen               22
Datenfluss in RRDTool
Schritt 2: Normalisierung
   Normalisierung = Ergebnisse mit unterschiedlicher Grundlage (hier: t)
                    vergleichbar machen




                                            50
                                                     30
               20
      10                     10                                    10
                                                                            t




                            RRDTool Basis­ und Hintergrundwissen           23
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 =


             60s

50

40

30

20

10


                                                                  t


40

30

20

10


                                                                  t
            PDP1
                          RRDTool Basis­ und Hintergrundwissen   24
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s


             60s

50

40

30

20

10


                                                                  t


40

30

20

10


                                                                  t
            PDP1
                          RRDTool Basis­ und Hintergrundwissen   25
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s + 15s*20B/s


             60s

50

40

30

20

10


                                                                   t


40

30

20

10


                                                                   t
            PDP1
                           RRDTool Basis­ und Hintergrundwissen   26
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s + 15s*20B/s
                   60s

             60s

50

40

30

20

10


                                                                   t


40

30

20

10


                                                                   t
            PDP1
                           RRDTool Basis­ und Hintergrundwissen   27
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s + 15s*20B/s = 450B + 300B = 12,5 B/s
                   60s                    60s

             60s

50

40

30

20

10


                                                                   t


40

30

20

10


                                                                   t
            PDP1
                           RRDTool Basis­ und Hintergrundwissen   28
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP2 = 30s*20B/s + 30s*10B/s = 600B + 300B = 15 B/s
                      60s                  60s

             60s        60s

50

40

30

20

10


                                                                  t


40

30

20

10


                                                                  t
            PDP1       PDP2
                          RRDTool Basis­ und Hintergrundwissen   29
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP4 = 15s*50B/s + 45s*30B/s = 750B + 1350B = 35 B/s
                       60s                60s

             60s        60s              60s             60s

50

40

30

20

10


                                                                  t


40

30

20

10


                                                                  t
            PDP1       PDP2           PDP3              PDP4
                          RRDTool Basis­ und Hintergrundwissen   30
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP5 = 45s*10B/s + 15s*0B/s = 450B = 7,5 B/s
                      60s             60s

             60s         60s

50

40

30

20

10


                                                                   t


40

30

20

10


                                                                   t
           PDP4         PDP5
                           RRDTool Basis­ und Hintergrundwissen   31
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
     PDP 6 + 7= UNKNOWN
     PDP 8    = KNOWN, da mehr als die Hälfte des Intervalls bekannt sind
             60s        60s

50

40

30

20

10


                          Heartbeat = 120s                                   t


40

30

20

10


                                                                             t
           PDP4        PDP5           PDP6              PDP7     PDP8
                          RRDTool Basis­ und Hintergrundwissen              32
Datenfluss in RRDTool


                 Wert,
              timestamp
                                             Data Type
                                             Data Type
                                             COUNTER
                                              DERIVE
           Transformation                    Data Type
                                             ABSOLUT
                (DS)
                                              GAUGE



          Normalisierung
              (PDP)




           Konsolidierung
RRA
               (CDP)



      RRDTool Basis­ und Hintergrundwissen               33
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


                        RRA:CF:xff:steps:rows

   ●
     RRA: Round-Robin-Archive speichern die Werte in
       Consolidated Data Points (CDPs) ( + Timestamp)
   ● steps: Anzahl der zu konsolidierenden PDPs

   ● CF: Konsolidierungsfunktionen bestimmen, wie PDPs in CDPs


       verrechnet werden:
       ● AVERAGE:     Mittelwert
       ● MIN:         Kleinster Wert
       ● MAX:         Höchster Wert
       ● LAST:        Letzter Wert
   ● xff (XfilesFactor): maximaler Anteil PDPs, die in der Berechnung


       eines CDP unknown sein dürfen; andernfalls CDP=unknown
       (0..0.99999999)
   ● rows: Anzahl der CDPs, die das RRA speichern soll




                            RRDTool Basis­ und Hintergrundwissen    34
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


      RRA:AVERAGE:0:3:360

 40

 30

 20

 10


                               t
          PDP1   PDP2   PDP3



 40

 30

 20

 10


                               t
                        CDP1

                                   RRDTool Basis­ und Hintergrundwissen   35
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


      RRA:AVERAGE:0:3:360               RRA:MAX:0:3:360

 40                                40

 30                                30

 20                                20

 10                                10


                               t                                     t
          PDP1   PDP2   PDP3                PDP1    PDP2     PDP3



 40                                40

 30                                30

 20                                20

 10                                10


                               t                                     t
                        CDP1                                 CDP1

                                   RRDTool Basis­ und Hintergrundwissen   36
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


      RRA:AVERAGE:0:3:360               RRA:MAX:0:3:360                        RRA:LAST:0:3:360

 40                                40                                     40

 30                                30                                     30

 20                                20                                     20

 10                                10                                     10


                               t                                     t                                  t
          PDP1   PDP2   PDP3                PDP1    PDP2     PDP3                  PDP1   PDP2   PDP3



 40                                40                                     40

 30                                30                                     30

 20                                20                                     20

 10                                10                                     10


                               t                                     t                                  t
                        CDP1                                 CDP1                                CDP1

                                   RRDTool Basis­ und Hintergrundwissen                                 37
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * 400)




                            RRDTool Basis­ und Hintergrundwissen      38
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * 400)

   RRA:AVERAGE:0:3:400              #    20,0h (3 PDP á 60s * 400)




                            RRDTool Basis­ und Hintergrundwissen      39
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * 400)

   RRA:AVERAGE:0:3:400              #    20,0h (3 PDP á 60s * 400)

   RRA:AVERAGE:0:7:400              #    46,6h (7 PDP á 60s * 400)




                            RRDTool Basis­ und Hintergrundwissen      40
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * 400)

   RRA:AVERAGE:0:3:400              #    20,0h (3 PDP á 60s * 400)

   RRA:AVERAGE:0:7:400              #    46,6h (7 PDP á 60s * 400)

   RRA:AVERAGE:0:15:400             # 100,0h (15 PDP á 60s * 400)




                            RRDTool Basis­ und Hintergrundwissen      41
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs

                                                                           t

   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * 400)

   RRA:AVERAGE:0:3:400              #    20,0h (3 PDP á 60s * 400)

   RRA:AVERAGE:0:7:400              #    46,6h (7 PDP á 60s * 400)

   RRA:AVERAGE:0:15:400             # 100,0h (15 PDP á 60s * 400)



                                                                   „now“




                            RRDTool Basis­ und Hintergrundwissen               42
RRDTool lebt in der Vergangenheit!
     (nach http://www.vandenbogaerdt.nl/rrdtool/)




        Aufgabe:
    Monitoring meiner
       Geldbörse




         RRDTool Basis­ und Hintergrundwissen       43
RRDTool lebt in der Vergangenheit!




       RRDTool Basis­ und Hintergrundwissen   44
RRDTool lebt in der Vergangenheit!


Anlegen einer neuen RRD:




rrdtool create wallet.rrd
        ­­start 1130799600                   # 00:00 Uhr




                      RRDTool Basis­ und Hintergrundwissen   45
RRDTool lebt in der Vergangenheit!


Anlegen einer neuen RRD:




rrdtool create wallet.rrd
        ­­start 1130799600                   # 00:00 Uhr
        ­­step 3600                          # stepsize = 1h




                      RRDTool Basis­ und Hintergrundwissen     46
RRDTool lebt in der Vergangenheit!


Anlegen einer neuen RRD:




rrdtool create wallet.rrd
        ­­start 1130799600                   # 00:00 Uhr
        ­­step 3600                          # stepsize = 1h
        DS:content:GAUGE:86400:0:U           # hb=1 Tag, min=0, max=U




                      RRDTool Basis­ und Hintergrundwissen              47
RRDTool lebt in der Vergangenheit!


Anlegen einer neuen RRD:




rrdtool create wallet.rrd
        ­­start 1130799600                   # 00:00 Uhr
        ­­step 3600                          # stepsize = 1h
        DS:content:GAUGE:86400:0:U           # hb=1 Tag, min=0, max=U
        RRA:AVERAGE:0:1:48                   # xff=0, 1 step, 48 CDPs (48h)




                      RRDTool Basis­ und Hintergrundwissen                    48
RRDTool lebt in der Vergangenheit!


Befüllen der RRD:




  rrdtool update wallet.rrd 1130828400:75.00                 # 08:00
  rrdtool update wallet.rrd 1130832000:60.00                 # 09:00
  rrdtool update wallet.rrd 1130835600:55.00                 # 10:00
  rrdtool update wallet.rrd 1130842800:45.00                 # 12:00
  rrdtool update wallet.rrd 1130864400:25.00                 # 18:00
  rrdtool update wallet.rrd 1130868000:10.00                 # 19:00
  rrdtool update wallet.rrd 1130886000:0.00                  # 24:00




                      RRDTool Basis­ und Hintergrundwissen             49
RRDTool lebt in der Vergangenheit!


Graph:




                RRDTool Basis­ und Hintergrundwissen   50
RRDTool lebt in der Vergangenheit!


Problem:


Unsere Liste beschreibt die Zukunft,
   = was wir haben...




                         RRDTool Basis­ und Hintergrundwissen   51
RRDTool lebt in der Vergangenheit!


Problem:


Unsere Liste beschreibt die Zukunft,
   = was wir haben...
RRDTool beschreibt die Vergangenheit,
   = was wir hatten!




                        RRDTool Basis­ und Hintergrundwissen   52
RRDTool lebt in der Vergangenheit!


Lösung:
Update der Datenbank, bevor sich der
Betrag in der Geldbörse ändert!




                        RRDTool Basis­ und Hintergrundwissen   53
RRDTool lebt in der Vergangenheit!


Lösung:
Update der Datenbank, bevor sich der
Betrag in der Geldbörse ändert!




rrdtool update wallet.rrd 1130828400:0.00                      # 08:00 (75.00)
rrdtool update wallet.rrd 1130832000:75.00                     # 09:00 (60.00)
rrdtool update wallet.rrd 1130835600:60.00                     # 10:00 (55.00)
rrdtool update wallet.rrd 1130842800:55.00                     # 12:00 (45.00)
rrdtool update wallet.rrd 1130864400:45.00                     # 18:00 (25.00)
rrdtool update wallet.rrd 1130868000:25.00                     # 19:00 (10.00)
rrdtool update wallet.rrd 1130886000:10.00                     # 24:00 (00.00)




                        RRDTool Basis­ und Hintergrundwissen                     54
RRDTool lebt in der Vergangenheit!


Lösung:
Update der Datenbank, bevor sich der
Betrag in der Geldbörse ändert!




                        RRDTool Basis­ und Hintergrundwissen   55
Q&A




RRDTool Basis­ und Hintergrundwissen   56

RRDTool Basis- u. Hintergrundwissen

  • 1.
    RRDTool Basis- und Hintergrundwissen Simon Meggle WIRECARD Technologies AG Nagios-Workshop 2010, Nürnberg
  • 2.
    Agenda ● Grundlagen: Bestands- und Stromdaten ● Unterscheidung von Kennzahlen ● Berechnung von Stromdaten ● Datenfluss in RRDTool ● Datentypen ● Schritt 1: Transformierung zu Stromdaten ● Schritt 2: Normalisierung zu PDPs ● Schritt 3: Konsolidierung zu CDPs ● RRDTool lebt in der Vergangenheit! RRDTool Basis­ und Hintergrundwissen 2
  • 3.
    Grundlagen: Bestands- undStromdaten Unterscheidung von Kennzahlen nach ● Bestandsdaten – Kontostand – Anzahl Bundesbürger – Kilometerzähler im Auto RRDTool Basis­ und Hintergrundwissen 3
  • 4.
    Grundlagen: Bestands- undStromdaten Unterscheidung von Kennzahlen nach ● Bestandsdaten – Kontostand – Anzahl Bundesbürger – Kilometerzähler im Auto ● Stromdaten (=Veränderungen von Bestandsdaten über einen Zeitraum) – Geldbewegung pro Zeit ● Einkommen (+) ● Ausgaben (-) – Demografische Entwicklung pro Zeit; Zahl der ● Geburten (+) ● Sterbefälle (-) ● Zuwanderungen (+) ● Abwanderungen (-) – Gefahrene km pro Zeit (+) RRDTool Basis­ und Hintergrundwissen 4
  • 5.
    Grundlagen: Bestands- undStromdaten Wozu Stromgrößen erfassen? Negativ-Beispiel für die Erfassung von Bestandsgrößen: Nachteile: ● Graph skaliert schlecht ● „alles sieht gleich aus“ RRDTool Basis­ und Hintergrundwissen 5
  • 6.
    Grundlagen: Bestands- undStromdaten Wozu Stromgrößen erfassen? Negativ-Beispiel für die Erfassung von Bestandsgrößen: Nachteile: ● Graph skaliert schlecht ● „alles sieht gleich aus“ ● Interpretation nur anhand der Deltas möglich RRDTool Basis­ und Hintergrundwissen 6
  • 7.
    Grundlagen: Bestands- undStromdaten Berechnung von Stromdaten = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x): ∆y ∆x t RRDTool Basis­ und Hintergrundwissen 7
  • 8.
    Grundlagen: Bestands- undStromdaten Berechnung von Stromdaten = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x): Es seien: ● ∆y=50 Bytes in ● ∆x=10 Sekunden übertragen worden. ∆y = 50 ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 8
  • 9.
    Grundlagen: Bestands- undStromdaten Berechnung von Stromdaten = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x): Es seien: ● ∆y=50 Bytes in ● ∆x=10 Sekunden übertragen worden. 50 Bytes Unbekannt: Was geschah wirklich in ∆x? … 2s nichts, ...in 5s 50 Bytes (=10 B/s) , ∆y = 50 … 3s nichts ? ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 9
  • 10.
    Grundlagen: Bestands- undStromdaten Berechnung von Stromdaten = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x): Es seien: ● ∆y=50 Bytes in ● ∆x=10 Sekunden übertragen worden. 50 Bytes Unbekannt: Was geschah wirklich in ∆x? … 5s nichts, ...in 1s 50 Bytes (=50 B/s) , ∆y = 50 … 4s nichts ? ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 10
  • 11.
    Grundlagen: Bestands- undStromdaten Berechnung von Stromdaten = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x): Es seien: ● ∆y=50 Bytes in ● ∆x=10 Sekunden übertragen worden. 50 Bytes Unbekannt: Was geschah wirklich in ∆x? … 1s nichts, ...in 2,5s 50 Bytes (=20 B/s) , ∆y = 50 … 6,5s nichts ? ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 11
  • 12.
    Grundlagen: Bestands- undStromdaten Berechnung von Stromdaten = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x): EGAL! Fakt ist: 50 Bytes in 10s übertragen! Einzig berechenbare Bandbreite: 50 Bytes/10s = 5 Bytes/s Die Bandbreite 5 Bytes/s über 10s 50 Bytes drückt die übertragene ∆y = 50 Datenmenge aus. „Transformation“ ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 12
  • 13.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen DS:ds-name:DST:heartbeat:min:max ● DS (Datasources): Jede RRD besitzt ein oder mehrere DS; diese liefern die Datengrundlage für Primary Data Points (PDPs) ● ds-name: frei wählbarer Name der DS (1-19 Zeichen) ● DST (DataSourceType): ● COUNTER ● DERIVE ● ABSOLUTE ● GAUGE ● (COMPUTE: Verrechnung anderer DS, nicht in diesem Vortrag behandelt) ● heartbeat: maximaler Abstand zweier Updates mit Messwerten in Sek. (= „PDP-timeout“, wird hinter t=now „hinterhergezogen“) ● min/max: Werte außerhalb dieser Extrema werden als UNKNOWN gespeichert (= „Sanity-Check“, um z.b. „­800°C“ zu vermeiden) RRDTool Basis­ und Hintergrundwissen 13
  • 14.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen DS:ds-name:DST:heartbeat:min:max ● DS (Datasources): Jede RRD besitzt ein oder mehrere DS; diese liefern die Datengrundlage für Primary Data Points (PDPs) ● ds-name: frei wählbarer Name der DS (1-19 Zeichen) ● DST (DataSourceType): ● COUNTER ● DERIVE ● ABSOLUTE ● GAUGE ● (COMPUTE: Verrechnung anderer DS, nicht in diesem Vortrag behandelt) ● heartbeat: maximaler Abstand zweier Updates mit Messwerten in Sek. (= „PDP-timeout“, wird hinter t=now „hinterhergezogen“) ● min/max: Werte außerhalb dieser Extrema werden als UNKNOWN gespeichert (= „Sanity-Check“, um z.b. „­800°C“ zu vermeiden) ○/⬤: PNP: über Custom Templates pro Check justierbar (PNP 0.4 / 0.6)! RRDTool Basis­ und Hintergrundwissen 14
  • 15.
    Datenfluss in RRDTool Wert, timestamp Data Type Data Type COUNTER DERIVE Transformation Data Type ABSOLUT (DS) GAUGE Normalisierung (PDP) Konsolidierung RRA (CDP) RRDTool Basis­ und Hintergrundwissen 15
  • 16.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen COUNTER DERIVE ABSOLUTE GAUGE zunehmender wie COUNTER; wie COUNTER; Wert Counter-Wert zu-/abnehmend zählt immer ab 0 Input gespeichert Wert wird ∆ wert / ∆ t ∆ wert / ∆ t wert / ∆ t wird durchgereicht Overflow- Check  Bytecounter, Temperatur, Bidirektionale COUNTER mit Beispiele Wasseruhr, Füllstand, Km/h, Pumpe vielen Overflows Kilometerzähler KWh Stromdaten Bestandsdaten RRDTool Basis­ und Hintergrundwissen 16
  • 17.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen COUNTER DERIVE ABSOLUTE GAUGE zunehmender wie COUNTER; wie COUNTER; Wert Counter-Wert zu-/abnehmend zählt immer ab 0 Input gespeichert Wert wird ∆ wert / ∆ t ∆ wert / ∆ t wert / ∆ t wird durchgereicht Overflow- Check  Bytecounter, Temperatur, Bidirektionale COUNTER mit Beispiele Wasseruhr, Füllstand, Km/h, Pumpe vielen Overflows Kilometerzähler KWh Beispiel-Werte (bei check_interval=60s) 60 1 1 1 60 120 1 1 2 120 180 1 1 3 180 300 2 2 5 300 60 -- -4 1 60 Stromdaten Bestandsdaten RRDTool Basis­ und Hintergrundwissen 17
  • 18.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen COUNTER DERIVE ABSOLUTE GAUGE zunehmender wie COUNTER; wie COUNTER; Wert Counter-Wert zu-/abnehmend zählt immer ab 0 Input gespeichert Wert wird ∆ wert / ∆ t ∆ wert / ∆ t wert / ∆ t wird durchgereicht Overflow- Check  Bytecounter, Temperatur, Bidirektionale COUNTER mit Beispiele Wasseruhr, Füllstand, Km/h, Pumpe vielen Overflows Kilometerzähler KWh Beispiel-Werte (bei check_interval=60s) 60 1 1 1 wert(aktuell) !> wert(letzter) 60 120 1 1 2 120 180 1 1 3 180 300 2 2 5 300 60 -- -4 1 60 Stromdaten Bestandsdaten RRDTool Basis­ und Hintergrundwissen 18
  • 19.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen COUNTER DERIVE ABSOLUTE GAUGE zunehmender wie COUNTER; wie COUNTER; Wert Counter-Wert zu-/abnehmend zählt immer ab 0 Input gespeichert Wert wird ∆ wert / ∆ t ∆ wert / ∆ t wert / ∆ t wird durchgereicht Overflow- Check  Bytecounter, Temperatur, Bidirektionale COUNTER mit Beispiele Wasseruhr, Füllstand, Km/h, Pumpe vielen Overflows Kilometerzähler KWh Beispiel-Werte (bei check_interval=60s) 60 1 1 1 60 ∆wert = -240 ! 120 1 1 2 120 180 1 1 3 180 300 2 2 5 300 60 -- -4 1 60 Stromdaten Bestandsdaten RRDTool Basis­ und Hintergrundwissen 19
  • 20.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen COUNTER DERIVE ABSOLUTE GAUGE zunehmender wie COUNTER; wie COUNTER; Wert Counter-Wert zu-/abnehmend zählt immer ab 0 Input gespeichert Wert wird ∆ wert / ∆ t ∆ wert / ∆ t wert / ∆ t wird durchgereicht Overflow- Check  Bytecounter, Temperatur, Bidirektionale COUNTER mit Beispiele Wasseruhr, Füllstand, Km/h, Pumpe vielen Overflows Kilometerzähler KWh Beispiel-Werte (bei check_interval=60s) wert = 300 ! 60 1 1 1 60 120 1 1 2 120 180 1 1 3 180 300 2 2 5 300 60 -- -4 1 60 Stromdaten Bestandsdaten RRDTool Basis­ und Hintergrundwissen 20
  • 21.
    Datenfluss in RRDTool Schritt1: Transformation / Datentypen COUNTER DERIVE ABSOLUTE GAUGE zunehmender wie COUNTER; wie COUNTER; Wert Counter-Wert zu-/abnehmend zählt immer ab 0 Input gespeichert Wert wird ∆ wert / ∆ t ∆ wert / ∆ t wert / ∆ t wird durchgereicht Overflow- Check  Bytecounter, Temperatur, Bidirektionale COUNTER mit Beispiele Wasseruhr, Füllstand, Km/h, Pumpe vielen Overflows Kilometerzähler KWh Beispiel-Werte (bei check_interval=60s) 60 1 1 1 60 wert = 60 ! 120 1 1 2 120 180 1 1 3 180 300 2 2 5 300 60 -- -4 1 60 Stromdaten Bestandsdaten RRDTool Basis­ und Hintergrundwissen 21
  • 22.
    Datenfluss in RRDTool Wert, timestamp Data Type Data Type COUNTER DERIVE Transformation Data Type ABSOLUT (DS) GAUGE Normalisierung (PDP) Konsolidierung RRA (CDP) RRDTool Basis­ und Hintergrundwissen 22
  • 23.
    Datenfluss in RRDTool Schritt2: Normalisierung Normalisierung = Ergebnisse mit unterschiedlicher Grundlage (hier: t) vergleichbar machen 50 30 20 10 10 10 t RRDTool Basis­ und Hintergrundwissen 23
  • 24.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP1 = 60s 50 40 30 20 10 t 40 30 20 10 t PDP1 RRDTool Basis­ und Hintergrundwissen 24
  • 25.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP1 = 45s*10B/s 60s 50 40 30 20 10 t 40 30 20 10 t PDP1 RRDTool Basis­ und Hintergrundwissen 25
  • 26.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP1 = 45s*10B/s + 15s*20B/s 60s 50 40 30 20 10 t 40 30 20 10 t PDP1 RRDTool Basis­ und Hintergrundwissen 26
  • 27.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP1 = 45s*10B/s + 15s*20B/s 60s 60s 50 40 30 20 10 t 40 30 20 10 t PDP1 RRDTool Basis­ und Hintergrundwissen 27
  • 28.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP1 = 45s*10B/s + 15s*20B/s = 450B + 300B = 12,5 B/s 60s 60s 60s 50 40 30 20 10 t 40 30 20 10 t PDP1 RRDTool Basis­ und Hintergrundwissen 28
  • 29.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP2 = 30s*20B/s + 30s*10B/s = 600B + 300B = 15 B/s 60s 60s 60s 60s 50 40 30 20 10 t 40 30 20 10 t PDP1 PDP2 RRDTool Basis­ und Hintergrundwissen 29
  • 30.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP4 = 15s*50B/s + 45s*30B/s = 750B + 1350B = 35 B/s 60s 60s 60s 60s 60s 60s 50 40 30 20 10 t 40 30 20 10 t PDP1 PDP2 PDP3 PDP4 RRDTool Basis­ und Hintergrundwissen 30
  • 31.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP5 = 45s*10B/s + 15s*0B/s = 450B = 7,5 B/s 60s 60s 60s 60s 50 40 30 20 10 t 40 30 20 10 t PDP4 PDP5 RRDTool Basis­ und Hintergrundwissen 31
  • 32.
    Datenfluss in RRDTool Schritt2: Normalisierung zu PDPs = Primary Data Points PDP 6 + 7= UNKNOWN PDP 8 = KNOWN, da mehr als die Hälfte des Intervalls bekannt sind 60s 60s 50 40 30 20 10 Heartbeat = 120s t 40 30 20 10 t PDP4 PDP5 PDP6 PDP7 PDP8 RRDTool Basis­ und Hintergrundwissen 32
  • 33.
    Datenfluss in RRDTool Wert, timestamp Data Type Data Type COUNTER DERIVE Transformation Data Type ABSOLUT (DS) GAUGE Normalisierung (PDP) Konsolidierung RRA (CDP) RRDTool Basis­ und Hintergrundwissen 33
  • 34.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:CF:xff:steps:rows ● RRA: Round-Robin-Archive speichern die Werte in Consolidated Data Points (CDPs) ( + Timestamp) ● steps: Anzahl der zu konsolidierenden PDPs ● CF: Konsolidierungsfunktionen bestimmen, wie PDPs in CDPs verrechnet werden: ● AVERAGE: Mittelwert ● MIN: Kleinster Wert ● MAX: Höchster Wert ● LAST: Letzter Wert ● xff (XfilesFactor): maximaler Anteil PDPs, die in der Berechnung eines CDP unknown sein dürfen; andernfalls CDP=unknown (0..0.99999999) ● rows: Anzahl der CDPs, die das RRA speichern soll RRDTool Basis­ und Hintergrundwissen 34
  • 35.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:AVERAGE:0:3:360 40 30 20 10 t PDP1 PDP2 PDP3 40 30 20 10 t CDP1 RRDTool Basis­ und Hintergrundwissen 35
  • 36.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:AVERAGE:0:3:360 RRA:MAX:0:3:360 40 40 30 30 20 20 10 10 t t PDP1 PDP2 PDP3 PDP1 PDP2 PDP3 40 40 30 30 20 20 10 10 t t CDP1 CDP1 RRDTool Basis­ und Hintergrundwissen 36
  • 37.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:AVERAGE:0:3:360 RRA:MAX:0:3:360 RRA:LAST:0:3:360 40 40 40 30 30 30 20 20 20 10 10 10 t t t PDP1 PDP2 PDP3 PDP1 PDP2 PDP3 PDP1 PDP2 PDP3 40 40 40 30 30 30 20 20 20 10 10 10 t t t CDP1 CDP1 CDP1 RRDTool Basis­ und Hintergrundwissen 37
  • 38.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:AVERAGE:0:1:400 # 6,6h (1 PDP á 60s * 400) RRDTool Basis­ und Hintergrundwissen 38
  • 39.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:AVERAGE:0:1:400 # 6,6h (1 PDP á 60s * 400) RRA:AVERAGE:0:3:400 # 20,0h (3 PDP á 60s * 400) RRDTool Basis­ und Hintergrundwissen 39
  • 40.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:AVERAGE:0:1:400 # 6,6h (1 PDP á 60s * 400) RRA:AVERAGE:0:3:400 # 20,0h (3 PDP á 60s * 400) RRA:AVERAGE:0:7:400 # 46,6h (7 PDP á 60s * 400) RRDTool Basis­ und Hintergrundwissen 40
  • 41.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs RRA:AVERAGE:0:1:400 # 6,6h (1 PDP á 60s * 400) RRA:AVERAGE:0:3:400 # 20,0h (3 PDP á 60s * 400) RRA:AVERAGE:0:7:400 # 46,6h (7 PDP á 60s * 400) RRA:AVERAGE:0:15:400 # 100,0h (15 PDP á 60s * 400) RRDTool Basis­ und Hintergrundwissen 41
  • 42.
    Datenfluss in RRDTool Schritt3: Konsolidierung zu CDPs t RRA:AVERAGE:0:1:400 # 6,6h (1 PDP á 60s * 400) RRA:AVERAGE:0:3:400 # 20,0h (3 PDP á 60s * 400) RRA:AVERAGE:0:7:400 # 46,6h (7 PDP á 60s * 400) RRA:AVERAGE:0:15:400 # 100,0h (15 PDP á 60s * 400) „now“ RRDTool Basis­ und Hintergrundwissen 42
  • 43.
    RRDTool lebt inder Vergangenheit! (nach http://www.vandenbogaerdt.nl/rrdtool/) Aufgabe: Monitoring meiner Geldbörse RRDTool Basis­ und Hintergrundwissen 43
  • 44.
    RRDTool lebt inder Vergangenheit! RRDTool Basis­ und Hintergrundwissen 44
  • 45.
    RRDTool lebt inder Vergangenheit! Anlegen einer neuen RRD: rrdtool create wallet.rrd         ­­start 1130799600 # 00:00 Uhr RRDTool Basis­ und Hintergrundwissen 45
  • 46.
    RRDTool lebt inder Vergangenheit! Anlegen einer neuen RRD: rrdtool create wallet.rrd         ­­start 1130799600 # 00:00 Uhr         ­­step 3600 # stepsize = 1h RRDTool Basis­ und Hintergrundwissen 46
  • 47.
    RRDTool lebt inder Vergangenheit! Anlegen einer neuen RRD: rrdtool create wallet.rrd         ­­start 1130799600 # 00:00 Uhr         ­­step 3600 # stepsize = 1h         DS:content:GAUGE:86400:0:U # hb=1 Tag, min=0, max=U RRDTool Basis­ und Hintergrundwissen 47
  • 48.
    RRDTool lebt inder Vergangenheit! Anlegen einer neuen RRD: rrdtool create wallet.rrd         ­­start 1130799600 # 00:00 Uhr         ­­step 3600 # stepsize = 1h         DS:content:GAUGE:86400:0:U # hb=1 Tag, min=0, max=U         RRA:AVERAGE:0:1:48 # xff=0, 1 step, 48 CDPs (48h) RRDTool Basis­ und Hintergrundwissen 48
  • 49.
    RRDTool lebt inder Vergangenheit! Befüllen der RRD: rrdtool update wallet.rrd 1130828400:75.00 # 08:00 rrdtool update wallet.rrd 1130832000:60.00 # 09:00 rrdtool update wallet.rrd 1130835600:55.00 # 10:00 rrdtool update wallet.rrd 1130842800:45.00 # 12:00 rrdtool update wallet.rrd 1130864400:25.00 # 18:00 rrdtool update wallet.rrd 1130868000:10.00 # 19:00 rrdtool update wallet.rrd 1130886000:0.00 # 24:00 RRDTool Basis­ und Hintergrundwissen 49
  • 50.
    RRDTool lebt inder Vergangenheit! Graph: RRDTool Basis­ und Hintergrundwissen 50
  • 51.
    RRDTool lebt inder Vergangenheit! Problem: Unsere Liste beschreibt die Zukunft, = was wir haben... RRDTool Basis­ und Hintergrundwissen 51
  • 52.
    RRDTool lebt inder Vergangenheit! Problem: Unsere Liste beschreibt die Zukunft, = was wir haben... RRDTool beschreibt die Vergangenheit, = was wir hatten! RRDTool Basis­ und Hintergrundwissen 52
  • 53.
    RRDTool lebt inder Vergangenheit! Lösung: Update der Datenbank, bevor sich der Betrag in der Geldbörse ändert! RRDTool Basis­ und Hintergrundwissen 53
  • 54.
    RRDTool lebt inder Vergangenheit! Lösung: Update der Datenbank, bevor sich der Betrag in der Geldbörse ändert! rrdtool update wallet.rrd 1130828400:0.00 # 08:00 (75.00) rrdtool update wallet.rrd 1130832000:75.00 # 09:00 (60.00) rrdtool update wallet.rrd 1130835600:60.00 # 10:00 (55.00) rrdtool update wallet.rrd 1130842800:55.00 # 12:00 (45.00) rrdtool update wallet.rrd 1130864400:45.00 # 18:00 (25.00) rrdtool update wallet.rrd 1130868000:25.00 # 19:00 (10.00) rrdtool update wallet.rrd 1130886000:10.00 # 24:00 (00.00) RRDTool Basis­ und Hintergrundwissen 54
  • 55.
    RRDTool lebt inder Vergangenheit! Lösung: Update der Datenbank, bevor sich der Betrag in der Geldbörse ändert! RRDTool Basis­ und Hintergrundwissen 55
  • 56.