• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RRDTool Basis- u. Hintergrundwissen
 

RRDTool Basis- u. Hintergrundwissen

on

  • 3,347 views

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“ ...

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

Statistics

Views

Total Views
3,347
Views on SlideShare
3,344
Embed Views
3

Actions

Likes
0
Downloads
33
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    RRDTool Basis- u. Hintergrundwissen RRDTool Basis- u. Hintergrundwissen Presentation Transcript

    • 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