RRDTool
Basis- und Hintergrundwissen



         Simon Meggle
    WIRECARD Technologies AG




   Nagios-Workshop 2010, Nü...
Agenda



●   Grundlagen: Bestands- und Stromdaten
    ●   Unterscheidung von Kennzahlen
    ●   Berechnung von Stromdaten...
Grundlagen: Bestands- und Stromdaten



Unterscheidung von Kennzahlen nach
   ●   Bestandsdaten
        –   Kontostand
   ...
Grundlagen: Bestands- und Stromdaten



Unterscheidung von Kennzahlen nach
   ●   Bestandsdaten
        –  Kontostand
    ...
Grundlagen: Bestands- und Stromdaten



Wozu Stromgrößen erfassen?
Negativ-Beispiel für die Erfassung von Bestandsgrößen:
...
Grundlagen: Bestands- und Stromdaten



Wozu Stromgrößen erfassen?
Negativ-Beispiel für die Erfassung von Bestandsgrößen:
...
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x)...
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x)...
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x)...
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x)...
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x)...
Grundlagen: Bestands- und Stromdaten



Berechnung von Stromdaten
   = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x)...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen

                DS:ds-name:DST:heartbeat:min:max
   ●
     D...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen

                DS:ds-name:DST:heartbeat:min:max
   ●
     D...
Datenfluss in RRDTool


                 Wert,
              timestamp
                                             Data T...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                 COUNTER                  DERIVE             ...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE       ...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE       ...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE       ...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE       ...
Datenfluss in RRDTool
Schritt 1: Transformation / Datentypen
                       COUNTER                  DERIVE       ...
Datenfluss in RRDTool


                 Wert,
              timestamp
                                             Data T...
Datenfluss in RRDTool
Schritt 2: Normalisierung
   Normalisierung = Ergebnisse mit unterschiedlicher Grundlage (hier: t)
 ...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 =


             60s

50

40

30...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s


             60s

...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s + 15s*20B/s


      ...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s + 15s*20B/s
        ...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP1 = 45s*10B/s + 15s*20B/s = 450B +...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP2 = 30s*20B/s + 30s*10B/s = 600B +...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP4 = 15s*50B/s + 45s*30B/s = 750B +...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
       PDP5 = 45s*10B/s + 15s*0B/s = 450B = ...
Datenfluss in RRDTool
Schritt 2: Normalisierung zu PDPs = Primary Data Points
     PDP 6 + 7= UNKNOWN
     PDP 8    = KNOW...
Datenfluss in RRDTool


                 Wert,
              timestamp
                                             Data T...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


                        RRA:CF:xff:steps:rows

   ●
     RRA: Ro...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


      RRA:AVERAGE:0:3:360

 40

 30

 20

 10


                ...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


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

 40    ...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs


      RRA:AVERAGE:0:3:360               RRA:MAX:0:3:360         ...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * ...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * ...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * ...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs



   RRA:AVERAGE:0:1:400              #      6,6h (1 PDP á 60s * ...
Datenfluss in RRDTool
Schritt 3: Konsolidierung zu CDPs

                                                                 ...
RRDTool lebt in der Vergangenheit!
     (nach http://www.vandenbogaerdt.nl/rrdtool/)




        Aufgabe:
    Monitoring m...
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    ...
RRDTool lebt in der Vergangenheit!


Anlegen einer neuen RRD:




rrdtool create wallet.rrd
        ­­start 1130799600    ...
RRDTool lebt in der Vergangenheit!


Anlegen einer neuen RRD:




rrdtool create wallet.rrd
        ­­start 1130799600    ...
RRDTool lebt in der Vergangenheit!


Anlegen einer neuen RRD:




rrdtool create wallet.rrd
        ­­start 1130799600    ...
RRDTool lebt in der Vergangenheit!


Befüllen der RRD:




  rrdtool update wallet.rrd 1130828400:75.00                 # ...
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 lebt in der Vergangenheit!


Problem:


Unsere Liste beschreibt die Zukunft,
   = was wir haben...
RRDTool beschre...
RRDTool lebt in der Vergangenheit!


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




    ...
RRDTool lebt in der Vergangenheit!


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




rrdt...
RRDTool lebt in der Vergangenheit!


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




    ...
Q&A




RRDTool Basis­ und Hintergrundwissen   56
Upcoming SlideShare
Loading in …5
×

RRDTool Basis- u. Hintergrundwissen

4,951 views
4,763 views

Published on

RRDTool dürfte den meisten Nagios-Administratoren ein Begriff sein, denn die meisten Nagios-Addons zur Visualisierung von zeitbezogenen Messwerten greifen zurück auf das „Schweizer“ Taschenmesser von Tobi Oetiker.
Viele dieser Addons lassen sich dank ihrer guten Dokumentation recht schnell installieren, legen sich wie eine „zweite Schicht“ um RRDtool, und kümmern sich sowohl um die Erstellung und Befüllung der Round-Robin-Datenbanken als auch die Generierung der Graphen. Der Weg zu einer schnell aufgesetzten Visualisierung von Nagios-Standardchecks mit Default-Templates führt also längst nicht mehr zwangsläufig über rrdtool-Manpages.
Kenntnis über die Datenhaltung in RRDtool ist dennoch unabdingbar, denn die Graphen geben nicht zwangsläufig die Ergebnisse von Nagios exakt wieder - warum sie trotzdem stimmen, werden wir besprechen:
- Strom- und Bestandsdaten: was RRDTool wirklich will
- Typfrage: COUNTER, DERIVE, ABSOLUTE, GAUGE: man nehme?
- „Was war - was wird?“: RRDTool lebt in der Vergangenheit
- Wert ist nicht gleich Wert: Transformierung, Normalisierung und Konsolidierung

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,951
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

RRDTool Basis- u. Hintergrundwissen

  1. 1. RRDTool Basis- und Hintergrundwissen Simon Meggle WIRECARD Technologies AG Nagios-Workshop 2010, Nürnberg
  2. 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. 3. Grundlagen: Bestands- und Stromdaten Unterscheidung von Kennzahlen nach ● Bestandsdaten – Kontostand – Anzahl Bundesbürger – Kilometerzähler im Auto RRDTool Basis­ und Hintergrundwissen 3
  4. 4. 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
  5. 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“ RRDTool Basis­ und Hintergrundwissen 5
  6. 6. 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
  7. 7. Grundlagen: Bestands- und Stromdaten Berechnung von Stromdaten = Veränderungen von Bestandsdaten (∆y) über Zeit (∆x): ∆y ∆x t RRDTool Basis­ und Hintergrundwissen 7
  8. 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. ∆y = 50 ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 8
  9. 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? … 2s nichts, ...in 5s 50 Bytes (=10 B/s) , ∆y = 50 … 3s nichts ? ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 9
  10. 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? … 5s nichts, ...in 1s 50 Bytes (=50 B/s) , ∆y = 50 … 4s nichts ? ∆x = 10 t RRDTool Basis­ und Hintergrundwissen 10
  11. 11. 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
  12. 12. 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
  13. 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) RRDTool Basis­ und Hintergrundwissen 13
  14. 14. 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
  15. 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. 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 Stromdaten Bestandsdaten RRDTool Basis­ und Hintergrundwissen 16
  17. 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 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. 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 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. 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) 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. 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) 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. 21. 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
  22. 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. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 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. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. Datenfluss in RRDTool Schritt 3: Konsolidierung zu CDPs RRA:AVERAGE:0:1:400 # 6,6h (1 PDP á 60s * 400) RRDTool Basis­ und Hintergrundwissen 38
  39. 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) RRDTool Basis­ und Hintergrundwissen 39
  40. 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) RRDTool Basis­ und Hintergrundwissen 40
  41. 41. 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
  42. 42. 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
  43. 43. RRDTool lebt in der Vergangenheit! (nach http://www.vandenbogaerdt.nl/rrdtool/) Aufgabe: Monitoring meiner Geldbörse RRDTool Basis­ und Hintergrundwissen 43
  44. 44. RRDTool lebt in der Vergangenheit! RRDTool Basis­ und Hintergrundwissen 44
  45. 45. RRDTool lebt in der Vergangenheit! Anlegen einer neuen RRD: rrdtool create wallet.rrd         ­­start 1130799600 # 00:00 Uhr RRDTool Basis­ und Hintergrundwissen 45
  46. 46. 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
  47. 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 RRDTool Basis­ und Hintergrundwissen 47
  48. 48. 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
  49. 49. 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
  50. 50. RRDTool lebt in der Vergangenheit! Graph: RRDTool Basis­ und Hintergrundwissen 50
  51. 51. RRDTool lebt in der Vergangenheit! Problem: Unsere Liste beschreibt die Zukunft, = was wir haben... RRDTool Basis­ und Hintergrundwissen 51
  52. 52. 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
  53. 53. RRDTool lebt in der Vergangenheit! Lösung: Update der Datenbank, bevor sich der Betrag in der Geldbörse ändert! RRDTool Basis­ und Hintergrundwissen 53
  54. 54. 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
  55. 55. RRDTool lebt in der Vergangenheit! Lösung: Update der Datenbank, bevor sich der Betrag in der Geldbörse ändert! RRDTool Basis­ und Hintergrundwissen 55
  56. 56. Q&A RRDTool Basis­ und Hintergrundwissen 56

×