[rrd-users] Wrong/missing data in RRD database?

David O'Toole dto at gnu.org
Thu Jun 8 14:26:22 MEST 2006


I am having several problems with RRDtool. 

I have written a small Emacs Lisp program that:

- accepts a spec with SNMP OID's to monitor and how to graph them
- creates RRD databases to match the spec (with rrdtool create)
- polls the hosts/OID's specified
- inserts the resulting data into the right columns of the RRD files
  (via rrdtool update)
- calls "rrdtool graph" to generate graphs. 

So far I am testing out things like monitoring ethernet in/out octets
count, and disk space used vs. total size. 

But, there are some problems. See the screenshot at
http://dto.twu.net/dhot-rrdtool.png which was taken after the system
ran for a little while, giving it enough time to update a few times. 

1. Notice how in 2nd graph, there is no data at all except for one
   little green dot. See the listing below, where the eth0 rrdfile is
   dumped----rrd update is definitely being called by my program with
   the right data retrieved from SNMP, but nothing actually shows up
   in the rrdfile dump except this one green dot. 

2. Notice how in the 3rd and 4th graphs, the reported disk size is
   actually smaller than the USED size at some points! And it
   oscillates wildly instead of staying constant, even though the data
   value inserted is always the same! I am using the right OID's
   because the retrieved data from SNMP matches what I know about the
   system, but RRDtool has them all wrong in the database it seems.

Maybe I don't understand what I'm doing. But I hope someone can help. 

I've pasted all the relevant data below. 

---------------------------------------------------------------------
Code for my little SNMP / RRD package written in Emacs Lisp
---------------------------------------------------------------------

available from http://dto.freeshell.org/e/monitor.el

---------------------------------------------------------------------
Logs from the process that polls via SNMP and inserts data into RRD
You can use this listing to see all the arguments being passed to
rrdtool.
---------------------------------------------------------------------

Created RRD database /home/dto/monitor/pod_Interface_2.rrd with args
("create" "/home/dto/monitor/pod_Interface_2.rrd"
"DS:in:COUNTER:600:U:U" "DS:out:COUNTER:600:U:U"
"RRA:AVERAGE:0.5:1:600" "RRA:AVERAGE:0.5:6:700"
"RRA:AVERAGE:0.5:24:775" "RRA:AVERAGE:0.5:288:750").

Created RRD database /home/dto/monitor/pod_Storage_9.rrd with args
("create" "/home/dto/monitor/pod_Storage_9.rrd"
"DS:used:GAUGE:600:U:U" "DS:size:GAUGE:600:U:U"
"RRA:AVERAGE:0.5:1:600" "RRA:AVERAGE:0.5:6:700"
"RRA:AVERAGE:0.5:24:775" "RRA:AVERAGE:0.5:288:750").

Created RRD database /home/dto/monitor/pod_Storage_4.rrd with args
("create" "/home/dto/monitor/pod_Storage_4.rrd"
"DS:used:GAUGE:600:U:U" "DS:size:GAUGE:600:U:U"
"RRA:AVERAGE:0.5:1:600" "RRA:AVERAGE:0.5:6:700"
"RRA:AVERAGE:0.5:24:775" "RRA:AVERAGE:0.5:288:750").

Retrieved value "103" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_System.rrd" "--template" "processes" "N:103")

Retrieved value "118" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_System.rrd" "--template" "load1" "N:118")

Retrieved value "991116865" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_Interface_2.rrd" "--template" "in"
"N:991116865")

Retrieved value "1771674960" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_Interface_2.rrd" "--template" "out"
"N:1771674960")

Retrieved value "25029385" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_Storage_9.rrd" "--template" "used"
"N:25029385")

Retrieved value "48816376" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_Storage_9.rrd" "--template" "size"
"N:48816376")

Retrieved value "3400307" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_Storage_4.rrd" "--template" "used" "N:3400307")

Retrieved value "5040301" from "localhost"

Updated RRD database with args ("update"
"/home/dto/monitor/pod_Storage_4.rrd" "--template" "size" "N:5040301")

Created graph file from /home/dto/monitor/pod_System.rrd with args
("graph" "/home/dto/monitor/pod_System.png" "--title" "pod::system"
"DEF:processes=/home/dto/monitor/pod_System.rrd:processes:AVERAGE"
"DEF:load1=/home/dto/monitor/pod_System.rrd:load1:AVERAGE"
"LINE2:processes#FF0000:processes"
"GPRINT:processes:AVERAGE:(avg=%.0lf" "GPRINT:processes:MIN:min=%.0lf"
"GPRINT:processes:MAX:max=%.0lf)" "LINE2:load1#0000FF:load1"
"GPRINT:load1:AVERAGE:(avg=%.0lf" "GPRINT:load1:MIN:min=%.0lf"
"GPRINT:load1:MAX:max=%.0lf)")

Created graph file from /home/dto/monitor/pod_Interface_2.rrd with
args ("graph" "/home/dto/monitor/pod_Interface_2.png" "--title"
"pod::eth0" "DEF:in=/home/dto/monitor/pod_Interface_2.rrd:in:AVERAGE"
"DEF:out=/home/dto/monitor/pod_Interface_2.rrd:out:AVERAGE"
"LINE2:in#FF0000:in" "GPRINT:in:AVERAGE:(avg=%.0lf"
"GPRINT:in:MIN:min=%.0lf" "GPRINT:in:MAX:max=%.0lf)"
"LINE2:out#00FF00:out" "GPRINT:out:AVERAGE:(avg=%.0lf"
"GPRINT:out:MIN:min=%.0lf" "GPRINT:out:MAX:max=%.0lf)")

Created graph file from /home/dto/monitor/pod_Storage_9.rrd with args
("graph" "/home/dto/monitor/pod_Storage_9.png" "--title" "pod::/md0"
"DEF:used=/home/dto/monitor/pod_Storage_9.rrd:used:AVERAGE"
"DEF:size=/home/dto/monitor/pod_Storage_9.rrd:size:AVERAGE"
"LINE2:used#FF0000:used" "GPRINT:used:AVERAGE:(avg=%.0lf"
"GPRINT:used:MIN:min=%.0lf" "GPRINT:used:MAX:max=%.0lf)"
"LINE2:size#0000FF:size" "GPRINT:size:AVERAGE:(avg=%.0lf"
"GPRINT:size:MIN:min=%.0lf" "GPRINT:size:MAX:max=%.0lf)")

Created graph file from /home/dto/monitor/pod_Storage_4.rrd with args
("graph" "/home/dto/monitor/pod_Storage_4.png" "--title" "pod::/"
"DEF:used=/home/dto/monitor/pod_Storage_4.rrd:used:AVERAGE"
"DEF:size=/home/dto/monitor/pod_Storage_4.rrd:size:AVERAGE"
"LINE2:used#FF0000:used" "GPRINT:used:AVERAGE:(avg=%.0lf"
"GPRINT:used:MIN:min=%.0lf" "GPRINT:used:MAX:max=%.0lf)"
"LINE2:size#0000FF:size" "GPRINT:size:AVERAGE:(avg=%.0lf"
"GPRINT:size:MIN:min=%.0lf" "GPRINT:size:MAX:max=%.0lf)")

-------------------------------------------------------------------------------
results of rrdtool fetch on the "eth0" database, why is it mostly
blank? there should be at least a few values at the end. instead
there's just one value of 0, which I never inserted (i am always
inserting Octet counter.)
-------------------------------------------------------------------------------

[dto at pod monitor]$ rrdtool fetch pod_Interface_2.rrd AVERAGE
                             in                 out

1149682200: nan nan
1149682500: nan nan
1149682800: nan nan
1149683100: nan nan
1149683400: nan nan
1149683700: nan nan
1149684000: nan nan
1149684300: nan nan
1149684600: nan nan
1149684900: nan nan
1149685200: nan nan
1149685500: nan nan
1149685800: nan nan
1149686100: nan nan
1149686400: nan nan
1149686700: nan nan
1149687000: nan nan
1149687300: nan nan
1149687600: nan nan
1149687900: nan nan
1149688200: nan nan
1149688500: nan nan
1149688800: nan nan
1149689100: nan nan
1149689400: nan nan
1149689700: nan nan
1149690000: nan nan
1149690300: nan nan
1149690600: nan nan
1149690900: nan nan
1149691200: nan nan
1149691500: nan nan
1149691800: nan nan
1149692100: nan nan
1149692400: nan nan
1149692700: nan nan
1149693000: nan nan
1149693300: nan nan
1149693600: nan nan
1149693900: nan nan
1149694200: nan nan
1149694500: nan nan
1149694800: nan nan
1149695100: nan nan
1149695400: nan nan
1149695700: nan nan
1149696000: nan nan
1149696300: nan nan
1149696600: nan nan
1149696900: nan nan
1149697200: nan nan
1149697500: nan nan
1149697800: nan nan
1149698100: nan nan
1149698400: nan nan
1149698700: nan nan
1149699000: nan nan
1149699300: nan nan
1149699600: nan nan
1149699900: nan nan
1149700200: nan nan
1149700500: nan nan
1149700800: nan nan
1149701100: nan nan
1149701400: nan nan
1149701700: nan nan
1149702000: nan nan
1149702300: nan nan
1149702600: nan nan
1149702900: nan nan
1149703200: nan nan
1149703500: nan nan
1149703800: nan nan
1149704100: nan nan
1149704400: nan nan
1149704700: nan nan
1149705000: nan nan
1149705300: nan nan
1149705600: nan nan
1149705900: nan nan
1149706200: nan nan
1149706500: nan nan
1149706800: nan nan
1149707100: nan nan
1149707400: nan nan
1149707700: nan nan
1149708000: nan nan
1149708300: nan nan
1149708600: nan nan
1149708900: nan nan
1149709200: nan nan
1149709500: nan nan
1149709800: nan nan
1149710100: nan nan
1149710400: nan nan
1149710700: nan nan
1149711000: nan nan
1149711300: nan nan
1149711600: nan nan
1149711900: nan nan
1149712200: nan nan
1149712500: nan nan
1149712800: nan nan
1149713100: nan nan
1149713400: nan nan
1149713700: nan nan
1149714000: nan nan
1149714300: nan nan
1149714600: nan nan
1149714900: nan nan
1149715200: nan nan
1149715500: nan nan
1149715800: nan nan
1149716100: nan nan
1149716400: nan nan
1149716700: nan nan
1149717000: nan nan
1149717300: nan nan
1149717600: nan nan
1149717900: nan nan
1149718200: nan nan
1149718500: nan nan
1149718800: nan nan
1149719100: nan nan
1149719400: nan nan
1149719700: nan nan
1149720000: nan nan
1149720300: nan nan
1149720600: nan nan
1149720900: nan nan
1149721200: nan nan
1149721500: nan nan
1149721800: nan nan
1149722100: nan nan
1149722400: nan nan
1149722700: nan nan
1149723000: nan nan
1149723300: nan nan
1149723600: nan nan
1149723900: nan nan
1149724200: nan nan
1149724500: nan nan
1149724800: nan nan
1149725100: nan nan
1149725400: nan nan
1149725700: nan nan
1149726000: nan nan
1149726300: nan nan
1149726600: nan nan
1149726900: nan nan
1149727200: nan nan
1149727500: nan nan
1149727800: nan nan
1149728100: nan nan
1149728400: nan nan
1149728700: nan nan
1149729000: nan nan
1149729300: nan nan
1149729600: nan nan
1149729900: nan nan
1149730200: nan nan
1149730500: nan nan
1149730800: nan nan
1149731100: nan nan
1149731400: nan nan
1149731700: nan nan
1149732000: nan nan
1149732300: nan nan
1149732600: nan nan
1149732900: nan nan
1149733200: nan nan
1149733500: nan nan
1149733800: nan nan
1149734100: nan nan
1149734400: nan nan
1149734700: nan nan
1149735000: nan nan
1149735300: nan nan
1149735600: nan nan
1149735900: nan nan
1149736200: nan nan
1149736500: nan nan
1149736800: nan nan
1149737100: nan nan
1149737400: nan nan
1149737700: nan nan
1149738000: nan nan
1149738300: nan nan
1149738600: nan nan
1149738900: nan nan
1149739200: nan nan
1149739500: nan nan
1149739800: nan nan
1149740100: nan nan
1149740400: nan nan
1149740700: nan nan
1149741000: nan nan
1149741300: nan nan
1149741600: nan nan
1149741900: nan nan
1149742200: nan nan
1149742500: nan nan
1149742800: nan nan
1149743100: nan nan
1149743400: nan nan
1149743700: nan nan
1149744000: nan nan
1149744300: nan nan
1149744600: nan nan
1149744900: nan nan
1149745200: nan nan
1149745500: nan nan
1149745800: nan nan
1149746100: nan nan
1149746400: nan nan
1149746700: nan nan
1149747000: nan nan
1149747300: nan nan
1149747600: nan nan
1149747900: nan nan
1149748200: nan nan
1149748500: nan nan
1149748800: nan nan
1149749100: nan nan
1149749400: nan nan
1149749700: nan nan
1149750000: nan nan
1149750300: nan nan
1149750600: nan nan
1149750900: nan nan
1149751200: nan nan
1149751500: nan nan
1149751800: nan nan
1149752100: nan nan
1149752400: nan nan
1149752700: nan nan
1149753000: nan nan
1149753300: nan nan
1149753600: nan nan
1149753900: nan nan
1149754200: nan nan
1149754500: nan nan
1149754800: nan nan
1149755100: nan nan
1149755400: nan nan
1149755700: nan nan
1149756000: nan nan
1149756300: nan nan
1149756600: nan nan
1149756900: nan nan
1149757200: nan nan
1149757500: nan nan
1149757800: nan nan
1149758100: nan nan
1149758400: nan nan
1149758700: nan nan
1149759000: nan nan
1149759300: nan nan
1149759600: nan nan
1149759900: nan nan
1149760200: nan nan
1149760500: nan nan
1149760800: nan nan
1149761100: nan nan
1149761400: nan nan
1149761700: nan nan
1149762000: nan nan
1149762300: nan nan
1149762600: nan nan
1149762900: nan nan
1149763200: nan nan
1149763500: nan nan
1149763800: nan nan
1149764100: nan nan
1149764400: nan nan
1149764700: nan nan
1149765000: nan nan
1149765300: nan nan
1149765600: nan nan
1149765900: nan nan
1149766200: nan nan
1149766500: nan nan
1149766800: nan nan
1149767100: nan nan
1149767400: nan nan
1149767700: nan nan
1149768000: 0.0000000000e+00 0.0000000000e+00
1149768300: nan nan
1149768600: nan nan

-------------------------------------------------------------------------------
Results of rrdfetch on Storage database. Why does the right column
oscillate so much, when the value being inserted is always 5040301? 
Why is the resulting average actually smaller than allocated space
being reported? 
-------------------------------------------------------------------------------

[dto at pod monitor]$ rrdtool fetch pod_Storage_9.rrd AVERAGE
                           used                size

1149682500: nan nan
1149682800: nan nan
1149683100: nan nan
1149683400: nan nan
1149683700: nan nan
1149684000: nan nan
1149684300: nan nan
1149684600: nan nan
1149684900: nan nan
1149685200: nan nan
1149685500: nan nan
1149685800: nan nan
1149686100: nan nan
1149686400: nan nan
1149686700: nan nan
1149687000: nan nan
1149687300: nan nan
1149687600: nan nan
1149687900: nan nan
1149688200: nan nan
1149688500: nan nan
1149688800: nan nan
1149689100: nan nan
1149689400: nan nan
1149689700: nan nan
1149690000: nan nan
1149690300: nan nan
1149690600: nan nan
1149690900: nan nan
1149691200: nan nan
1149691500: nan nan
1149691800: nan nan
1149692100: nan nan
1149692400: nan nan
1149692700: nan nan
1149693000: nan nan
1149693300: nan nan
1149693600: nan nan
1149693900: nan nan
1149694200: nan nan
1149694500: nan nan
1149694800: nan nan
1149695100: nan nan
1149695400: nan nan
1149695700: nan nan
1149696000: nan nan
1149696300: nan nan
1149696600: nan nan
1149696900: nan nan
1149697200: nan nan
1149697500: nan nan
1149697800: nan nan
1149698100: nan nan
1149698400: nan nan
1149698700: nan nan
1149699000: nan nan
1149699300: nan nan
1149699600: nan nan
1149699900: nan nan
1149700200: nan nan
1149700500: nan nan
1149700800: nan nan
1149701100: nan nan
1149701400: nan nan
1149701700: nan nan
1149702000: nan nan
1149702300: nan nan
1149702600: nan nan
1149702900: nan nan
1149703200: nan nan
1149703500: nan nan
1149703800: nan nan
1149704100: nan nan
1149704400: nan nan
1149704700: nan nan
1149705000: nan nan
1149705300: nan nan
1149705600: nan nan
1149705900: nan nan
1149706200: nan nan
1149706500: nan nan
1149706800: nan nan
1149707100: nan nan
1149707400: nan nan
1149707700: nan nan
1149708000: nan nan
1149708300: nan nan
1149708600: nan nan
1149708900: nan nan
1149709200: nan nan
1149709500: nan nan
1149709800: nan nan
1149710100: nan nan
1149710400: nan nan
1149710700: nan nan
1149711000: nan nan
1149711300: nan nan
1149711600: nan nan
1149711900: nan nan
1149712200: nan nan
1149712500: nan nan
1149712800: nan nan
1149713100: nan nan
1149713400: nan nan
1149713700: nan nan
1149714000: nan nan
1149714300: nan nan
1149714600: nan nan
1149714900: nan nan
1149715200: nan nan
1149715500: nan nan
1149715800: nan nan
1149716100: nan nan
1149716400: nan nan
1149716700: nan nan
1149717000: nan nan
1149717300: nan nan
1149717600: nan nan
1149717900: nan nan
1149718200: nan nan
1149718500: nan nan
1149718800: nan nan
1149719100: nan nan
1149719400: nan nan
1149719700: nan nan
1149720000: nan nan
1149720300: nan nan
1149720600: nan nan
1149720900: nan nan
1149721200: nan nan
1149721500: nan nan
1149721800: nan nan
1149722100: nan nan
1149722400: nan nan
1149722700: nan nan
1149723000: nan nan
1149723300: nan nan
1149723600: nan nan
1149723900: nan nan
1149724200: nan nan
1149724500: nan nan
1149724800: nan nan
1149725100: nan nan
1149725400: nan nan
1149725700: nan nan
1149726000: nan nan
1149726300: nan nan
1149726600: nan nan
1149726900: nan nan
1149727200: nan nan
1149727500: nan nan
1149727800: nan nan
1149728100: nan nan
1149728400: nan nan
1149728700: nan nan
1149729000: nan nan
1149729300: nan nan
1149729600: nan nan
1149729900: nan nan
1149730200: nan nan
1149730500: nan nan
1149730800: nan nan
1149731100: nan nan
1149731400: nan nan
1149731700: nan nan
1149732000: nan nan
1149732300: nan nan
1149732600: nan nan
1149732900: nan nan
1149733200: nan nan
1149733500: nan nan
1149733800: nan nan
1149734100: nan nan
1149734400: nan nan
1149734700: nan nan
1149735000: nan nan
1149735300: nan nan
1149735600: nan nan
1149735900: nan nan
1149736200: nan nan
1149736500: nan nan
1149736800: nan nan
1149737100: nan nan
1149737400: nan nan
1149737700: nan nan
1149738000: nan nan
1149738300: nan nan
1149738600: nan nan
1149738900: nan nan
1149739200: nan nan
1149739500: nan nan
1149739800: nan nan
1149740100: nan nan
1149740400: nan nan
1149740700: nan nan
1149741000: nan nan
1149741300: nan nan
1149741600: nan nan
1149741900: nan nan
1149742200: nan nan
1149742500: nan nan
1149742800: nan nan
1149743100: nan nan
1149743400: nan nan
1149743700: nan nan
1149744000: nan nan
1149744300: nan nan
1149744600: nan nan
1149744900: nan nan
1149745200: nan nan
1149745500: nan nan
1149745800: nan nan
1149746100: nan nan
1149746400: nan nan
1149746700: nan nan
1149747000: nan nan
1149747300: nan nan
1149747600: nan nan
1149747900: nan nan
1149748200: nan nan
1149748500: nan nan
1149748800: nan nan
1149749100: nan nan
1149749400: nan nan
1149749700: nan nan
1149750000: nan nan
1149750300: nan nan
1149750600: nan nan
1149750900: nan nan
1149751200: nan nan
1149751500: nan nan
1149751800: nan nan
1149752100: nan nan
1149752400: nan nan
1149752700: nan nan
1149753000: nan nan
1149753300: nan nan
1149753600: nan nan
1149753900: nan nan
1149754200: nan nan
1149754500: nan nan
1149754800: nan nan
1149755100: nan nan
1149755400: nan nan
1149755700: nan nan
1149756000: nan nan
1149756300: nan nan
1149756600: nan nan
1149756900: nan nan
1149757200: nan nan
1149757500: nan nan
1149757800: nan nan
1149758100: nan nan
1149758400: nan nan
1149758700: nan nan
1149759000: nan nan
1149759300: nan nan
1149759600: nan nan
1149759900: nan nan
1149760200: nan nan
1149760500: nan nan
1149760800: nan nan
1149761100: nan nan
1149761400: nan nan
1149761700: nan nan
1149762000: nan nan
1149762300: nan nan
1149762600: nan nan
1149762900: nan nan
1149763200: nan nan
1149763500: nan nan
1149763800: nan nan
1149764100: nan nan
1149764400: nan nan
1149764700: nan nan
1149765000: nan nan
1149765300: nan nan
1149765600: nan nan
1149765900: nan nan
1149766200: nan nan
1149766500: nan nan
1149766800: nan nan
1149767100: nan nan
1149767400: nan nan
1149767700: nan nan
1149768000: 2.4986332462e+07 1.1308026108e+07
1149768300: 2.5026314770e+07 2.7000348377e+06
1149768600: 2.5026314770e+07 2.7000348377e+06
1149768900: nan nan


-- 
David O'Toole -- Independent Consultant
dto at gnu.org

--
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-users-request at list.ee.ethz.ch?subject=help
Archive     http://lists.ee.ethz.ch/rrd-users
WebAdmin    http://lists.ee.ethz.ch/lsg2.cgi



More information about the rrd-users mailing list