[collectd] collection.cgi not displaying load.rrd graph
Patrick Wong
pawong at versasys.com
Fri Nov 3 19:35:08 CET 2006
Hi Florian,
I had the feeling that the problem cannot be on your code as nobody
else complained of this! I found the problem in my having older version
of rrdtool (RRDs.pm) on versa10 (the server on which collection.cgi is
run) which won't do the load.rrd correctly.
In any case, thanks for initially responding to my cry for help.
Good day,patrick
-----Original Message-----
From: Patrick Wong
Sent: Wednesday, November 01, 2006 11:01 AM
To: 'Florian Forster'
Cc: collectd at verplant.org
Subject: RE: [collectd] collection.cgi not displaying load.rrd graph
Howdy Florian,
My mistake (stupid entry that shouldn't be there) in
/etc/collectd.conf once removed now I get better result:
[root at versa10 lics01.versasys.com]# rrdtool fetch load.rrd AVERAGE -s
'now -2 minutes'
timestamp shortterm midterm longterm
1162395720: 1.8000000000e-01 1.3683333333e-01 1.5500000000e-01
1162395780: 1.2566666667e-01 1.2966666667e-01 1.5000000000e-01
1162395840: 6.7333333333e-02 1.1133333333e-01 1.4133333333e-01
1162395900: nan nan nan
The above was run on versa10, which is the collectd in "server" mode,
against rrd 'load' data from lics01 which is in "client" mode.
Collection.cgi still won't display the load graph however.
On lics01 (the client), the following modules was set to run in
/etc/collectd.conf:
Cpu, load, memory, processes, swap, and traffic.
This is pretty much true on all the servers that run collectd as client.
On versa10 (the server) /etc/collectd.conf I also turned on the same
modules as on the client.
Below is the output of rrdtool info you requested:
[root at versa10 lics01.versasys.com]# rrdtool info
/var/lib/collectd/lics01.versasys.com/load.rrd
filename = "/var/lib/collectd/lics01.versasys.com/load.rrd"
rrd_version = "0001"
step = 10
last_update = 1162396630
ds[shortterm].type = "GAUGE"
ds[shortterm].minimal_heartbeat = 25
ds[shortterm].min = 0.0000000000e+00
ds[shortterm].max = 1.0000000000e+02
ds[shortterm].last_ds = "UNKN"
ds[shortterm].value = 0.0000000000e+00
ds[shortterm].unknown_sec = 0
ds[midterm].type = "GAUGE"
ds[midterm].minimal_heartbeat = 25
ds[midterm].min = 0.0000000000e+00
ds[midterm].max = 1.0000000000e+02
ds[midterm].last_ds = "UNKN"
ds[midterm].value = 0.0000000000e+00
ds[midterm].unknown_sec = 0
ds[longterm].type = "GAUGE"
ds[longterm].minimal_heartbeat = 25
ds[longterm].min = 0.0000000000e+00
ds[longterm].max = 1.0000000000e+02
ds[longterm].last_ds = "UNKN"
ds[longterm].value = 0.0000000000e+00
ds[longterm].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 1500
rra[0].pdp_per_row = 6
rra[0].xff = 2.0000000000e-01
rra[0].cdp_prep[0].value = 9.0000000000e-02
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = 1.2000000000e-01
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[0].cdp_prep[2].value = 1.2000000000e-01
rra[0].cdp_prep[2].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 1680
rra[1].pdp_per_row = 180
rra[1].xff = 1.0000000000e-01
rra[1].cdp_prep[0].value = 2.4801000000e+01
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = 2.4514000000e+01
rra[1].cdp_prep[1].unknown_datapoints = 0
rra[1].cdp_prep[2].value = 2.4627000000e+01
rra[1].cdp_prep[2].unknown_datapoints = 0
rra[2].cf = "AVERAGE"
rra[2].rows = 1520
rra[2].pdp_per_row = 2160
rra[2].xff = 1.0000000000e-01
rra[2].cdp_prep[0].value = 2.6815700000e+02
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[2].cdp_prep[1].value = 2.5082700000e+02
rra[2].cdp_prep[1].unknown_datapoints = 0
rra[2].cdp_prep[2].value = 2.2995000000e+02
rra[2].cdp_prep[2].unknown_datapoints = 0
rra[3].cf = "MIN"
rra[3].rows = 1500
rra[3].pdp_per_row = 6
rra[3].xff = 2.0000000000e-01
rra[3].cdp_prep[0].value = 9.0000000000e-02
rra[3].cdp_prep[0].unknown_datapoints = 0
rra[3].cdp_prep[1].value = 1.2000000000e-01
rra[3].cdp_prep[1].unknown_datapoints = 0
rra[3].cdp_prep[2].value = 1.2000000000e-01
rra[3].cdp_prep[2].unknown_datapoints = 0
rra[4].cf = "MIN"
rra[4].rows = 1680
rra[4].pdp_per_row = 180
rra[4].xff = 1.0000000000e-01
rra[4].cdp_prep[0].value = 2.0000000000e-02
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[4].cdp_prep[1].value = 9.0000000000e-02
rra[4].cdp_prep[1].unknown_datapoints = 0
rra[4].cdp_prep[2].value = 1.2000000000e-01
rra[4].cdp_prep[2].unknown_datapoints = 0
rra[5].cf = "MIN"
rra[5].rows = 1520
rra[5].pdp_per_row = 2160
rra[5].xff = 1.0000000000e-01
rra[5].cdp_prep[0].value = 2.0000000000e-02
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[5].cdp_prep[1].value = 9.0000000000e-02
rra[5].cdp_prep[1].unknown_datapoints = 0
rra[5].cdp_prep[2].value = 1.1000000000e-01
rra[5].cdp_prep[2].unknown_datapoints = 0
rra[6].cf = "MAX"
rra[6].rows = 1500
rra[6].pdp_per_row = 6
rra[6].xff = 2.0000000000e-01
rra[6].cdp_prep[0].value = 9.0000000000e-02
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[6].cdp_prep[1].value = 1.2000000000e-01
rra[6].cdp_prep[1].unknown_datapoints = 0
rra[6].cdp_prep[2].value = 1.2000000000e-01
rra[6].cdp_prep[2].unknown_datapoints = 0
rra[7].cf = "MAX"
rra[7].rows = 1680
rra[7].pdp_per_row = 180
rra[7].xff = 1.0000000000e-01
rra[7].cdp_prep[0].value = 4.5000000000e-01
rra[7].cdp_prep[0].unknown_datapoints = 0
rra[7].cdp_prep[1].value = 2.2800000000e-01
rra[7].cdp_prep[1].unknown_datapoints = 0
rra[7].cdp_prep[2].value = 1.9000000000e-01
rra[7].cdp_prep[2].unknown_datapoints = 0
rra[8].cf = "MAX"
rra[8].rows = 1520
rra[8].pdp_per_row = 2160
rra[8].xff = 1.0000000000e-01
rra[8].cdp_prep[0].value = 6.2000000000e-01
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[8].cdp_prep[1].value = 3.2600000000e-01
rra[8].cdp_prep[1].unknown_datapoints = 0
rra[8].cdp_prep[2].value = 2.1000000000e-01
rra[8].cdp_prep[2].unknown_datapoints = 0
-----Original Message-----
From: Florian Forster [mailto:octo at verplant.org]
Sent: Wednesday, November 01, 2006 4:03 AM
To: Patrick Wong
Cc: collectd at verplant.org
Subject: Re: [collectd] collection.cgi not displaying load.rrd graph
Hi Patrick,
On Mon, Oct 30, 2006 at 10:35:13AM -0500, Patrick Wong wrote:
> Sorry for the delay response, Florian!
no problem, I'm not the fastest responder myself, these days :/
> The rest of the graphs were displayed correctly except for the LOAD.
> There is a stub broken image there between cpu and memory usage graph
> for what's suppose to be the load's graph.
Okay, I mainly wanted to know if `collection.cgi' finds the RRD-file and
_tries_ to generate a graph. Unknown RRD-files are ignored, so the
(broken) image there is a good thing ;)
> [root at versa10 lics01.versasys.com]# rrdtool fetch load.rrd AVERAGE -s
> 'now -2 minutes'
> timestamp shortterm midterm longterm
>
> 1162221180: nan nan nan
> 1162221240: nan nan nan
> 1162221300: nan nan nan
> 1162221360: nan nan nan
That's weird: The RRD-file is only created, if values are submitted. Is
your system so busy that the load is higher than 100? In that case try
increading the maximum:
rrdtool tune <filename> --maximum shortterm:1000
rrdtool tune <filename> --maximum midterm:1000
rrdtool tune <filename> --maximum longterm:1000
> Interesting! It seems like no value had been collected! I think the
> collection.cgi script will only generate the graph if there's
something
> to display.
No, that's not the case. If there are no values, an empty graph will be
displayed.
> Attached is the collection.cgi script, which comes with the rpm
> package for redhat es 4.4 which I made no changes.
The script looks alright. Maybe I could ask you one more favor: Could
you send the output of `rrdtool info /path/to/load.rrd'? Thanks ;)
Regards,
-octo
--
Florian octo Forster
Hacker in training
GnuPG: 0x91523C3D
http://verplant.org/
More information about the collectd
mailing list