2017-04-04 1 views
1

Wie der Titel oben möchte ich eine Vielzahl von Daten in Rrd-Datenbank speichern, so dass später eine Temperaturkurve daraus ausführen kann.rrdtool update error (nan)

Namen Meine Datenbank rn23.rrd

Wenn ich awk Befehl:

echo rrdtool update rn23.rrd `/ops/bin/finf | awk '$1 == "rn23" { print $2 ":" $11 }'`

der Ausgang ist:

rrdtool update rn23.rrd 1491273800:48

dann entferne ich die "Echo" um die Daten innerhalb von rn23.rrd zu aktualisieren:

rrdtool update rn23.rrd `/ops/bin/finf | awk '$1 == "rn23" { print $2 ":" $11 }'`

aber wenn ich versuche, die Daten erneut zu holen mit:

rrdtool fetch rn23.rrd MAX --start 1491210243 --end now

das Ergebnis zeigt diese: 1491270300: -nan 1491270600: -nan 1491270900: -nan 1491271200: -nan 1491271500: -nan 1491271800: -nan 1491272100: -nan 1491272400: -nan 1491272700: -nan 1491273000: -nan 1491273300: -nan

Haben irgendwelche ihr wissen, warum es nur die Zeitstempel erkannt, aber nicht die Temperatur? Und wie behebt man das?

Antwort

0

Ohne die Struktur Ihres RRD - IE zu kennen, wie Sie es definiert haben, die DS - und RRA - Definitionen - es ist nicht sicher, aber ich bin ziemlich sicher, dass Sie ein grundlegendes Missverständnis haben, wie RRDTool funktioniert.

RRDTool ist keine relationale Datenbank, die eine Reihe von Datensätzen genau so speichert, wie Sie sie bereitstellen. Stattdessen hat es einige zusätzliche consolodation Schritte vor dem Speichern:

  • Datennormalisierung
  • Berechnung der Raten
  • Consolodation in RRAs

Diese Daten in einer Weise anpassen können Sie nicht erwarten können. Der wichtigste ist der zweite Schritt, der erfordert mindestens zwei normalisierte Datenpunkte abzuschließen.

Wenn Sie anrufen, fragen Sie tatsächlich die RRA ab, und wenn noch nicht genügend Daten am Anfang der Kette vorhanden sind, werden Sie noch nichts in der RRA haben.

Mit nur einem Datensample ist es unwahrscheinlich, dass Sie nur einen vollständigen PDP (primärer Datenpunkt) haben und selbst wenn Sie haben, haben Sie möglicherweise noch keinen CDP (konsolidierten Datenpunkt) in Ihrem RRA, abhängig von Ihrem RRD Intervallgröße und die Anzahl der PDP in einem CDP in Ihrem kleinsten definierten RRA.

Wenn dies ein wenig zu viel für Sie ist, dann gibt es eine ausgezeichnete Reihe von Tutorials hier von Alex der schwer zu Zauber Nachnamen: http://rrdtool.vandenbogaerdt.nl/

Die TLDR ist: geben sie mehr Datenpunkte! Reichen Sie mindestens 3 Stichproben im RRD-Intervall ein (600s?); Ich vermute, dass Sie ein 300s Intervall haben und eine 1cdp = 1pdp RRA definiert ist, aber wenn Ihr Intervall 60s ist, brauchen Sie vielleicht 7 oder mehr bei 60s Abstand. Dann werden Sie beginnen, die konsolidierten Datenpunkte in der RRA zu sehen.

Verwandte Themen