[hobbit] CPU Graphs
Henrik Stoerner
henrik at hswn.dk
Wed Mar 7 07:57:24 CET 2007
On Tue, Mar 06, 2007 at 04:27:57PM -0600, James Wade wrote:
> Henrik, Can you point me in the direction of a "How To" on this,
> So, I need to recreate the vmstat.rrd, but where or how do I change
> the RRD "step" setting?
You need to use the "rrdtool create" command to create a new RRD file
for your vmstat data. The "step" setting is one of the options for
this command.
Start by running "rrdtool info "~hobbit/data/rrd/SOMEHOST/vmstat.rrd",
this will dump all a long stream of data about how this rrd file is
setup. It goes like this:
filename = "/var/lib/hobbit/rrd/localhost/vmstat.rrd"
rrd_version = "0003"
step = 300
last_update = 1173248932
ds[cpu_r].type = "GAUGE"
ds[cpu_r].minimal_heartbeat = 600
ds[cpu_r].min = 0.0000000000e+00
ds[cpu_r].max = NaN
ds[cpu_r].last_ds = "UNKN"
ds[cpu_r].value = 0.0000000000e+00
<snip lots more "ds" lines>
rra[0].cf = "AVERAGE"
rra[0].rows = 576
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
<snip lots more "rra" lines>
The "step" value is the interval between updates - this is the one
you want to change from "300" to "15".
The "ds" lines are the various data sets stored in the RRD file; some
RRD files only have one dataset, but vmstat has a lot.
The "rra" lines define how the data is "consolidated", i.e. how
granular you want your data as you go further back in time.
To create the RRD file, you must run a command like this:
rrdtool create vmstat.rrd \
--step 15 \
DS:cpu_r:GAUGE:60:0:U \
<more DS lines, one for each dataset> \
RRA:AVERAGE:0.5:1:11520 \
RRA:AVERAGE:0.5:20:2016 \
<more RRA lines>
You build the "DS" lines from the rrdtool info "ds" data.
"cpu_r" is the dataset name, from the"ds[cpu_r]". "GAUGE"
is the "type" of the dataset. "60" is the "minimal_heartbeat",
which is usually a multiple of the "step" setting. It means that
you must feed data into the RRD file at this interval for RRD
to regard the data as valid. "0" and "U" are the "min" and "max"
values for the dataset.
The "RRA" lines - "AVERAGE" is the "cf" value from the rrdtool info.
"0.5" you shouldn't change. "1" and "11520" are the "pdp_per_row"
and "rows" settings, and these must change. These two basically mean
that you will be storing "rows" data values, with a resolution of
(pdp_per_rows x step) granularity. So if the RRA is
RRA:AVERAGE:0.5:1:11520
then you will use 1 reading (pdp) per dataitem you store - so this RRA
holds data with your 15 second interval - and you will store 11520
data values - which is equivalent to 15x11520 = 2 days of data. When you
go further back than the first 2 days, you will be seeing data from the
other RRA's, e.g. the next one
RRA:AVERAGE:0.5:20:2016
uses 20 pdp's per value stored in the RRA, so each value from this RRA
is an average over 20 readings of data = (20 x 15) = 5 minute average
value. Here I've chosen to store 2016 of these 5-minute averages, which
is enough for 2016 x 5 minutes = 7 days.
You can build these RRA definitions any way you like, rrdtool will
automatically update all of them with the data that is fed into the
RRD file, and the graphs will automatically use the best RRA when you
view them.
> Is there a way to keep the old data?
Not automatically.
Regards,
Henrik
More information about the Xymon
mailing list