[rrd-users] Re: please help a lost newbie
adamnealis at yahoo.co.uk
Wed Dec 11 17:06:42 MET 2002
A newbie myself, I just solved a similar problem. I wanted
to plot prices for four funds on a daily basis. I was not
interested in averages, etc. I just wanted to draw lines
through the data.
--- Dan Gahlinger <admin at interlynx.net> wrote:
> Ok I wrote a shell script to collect data from our boxes,
> simply a decimal number. All the script does is:
> finger @host | grep -c tty > host1.users
> shows the # of users logged into the box
> I do this for about 20 boxes, each to a different file
> I've tried reading the docs, faq, etc on the website, but
> I just get lost, nothing seems to cover what I want to do.
> How do I get this graphing the data ?
> basically every 5 minutes I need something to build the
> graph to show the users on the boxes graphed over time
As I see it, the process is split into several parts:
1. Decide what you want to graph, and collect the relevant
data together. Then work out what operations you need to
perform on the data to get the data to plot. These operations
define the RRA definitions for your dataset. In your case
there are no operations to perform but you still need to set
up at least one RRA.
man 1 rrdcreate
to create a "blank" .rrd.
man 1 rrdupdate
to add data to users.rrd every 300 seconds (5 minutes).
man 1 rrdgraph
to create/update a .PNG or .GIF or whatever. Then view the
So in your case, I would suggest something like:
1. As well as collecting a user count per machine, also
create a file containing the time at which the sample was
2. Create your .rrd file
rrdtool create users.rrd --start 1038182400 -s 300 \
Here, DS means "data source", host01 -> host20 are the DS
names, GAUGE means "treat these data as plain numbers", the
300 is the stepping time in seconds, 0 is the minimum allowed
value, and U is "unknown" and is the maximum allowed value.
RRA means Round Robin Archive. RRAs are created from the data
defined in the DS specifications. LAST means "just put the
last data added without doing any operations". I don't
understand the next field xff, but it has to be
0 < xff < 1
so I set it to 0.99. The 1 defines how many rows go into the
next point, and the last field is the number of rows. So if
you only want a weeks-worth of data, use 2016 = 12 * 24 * 7,
i.e. 12 samples per hour, 24 hours per day, 7 days a week.
3. Add data to your .rrd
So if I had files host01 -> host20 and a timestamp file tstamp,
I could do
echo -n `cat stamp` >hosts.data
for f in host??
echo -n ":"`cat $f` >>hosts.data
rrdtool update hosts.rrd `cat hosts.data`
hosts.data should contain a single line something like
4. Create a graph of your data
rrdtool graph users.png --start 1038182400 \
DEF:host01=users.rrd:host01:LAST means "get the host01 variables
from users.rrd and put them into the variable host01 using the
LAST consolidation function".
LINE1:host01#FF0000:host01 means "Draw a line of thickness 1 of
the host01 data from the corresponding DEF with colour FF0000
and a legend with the text host01"
View it with your favourite image viewer.
Hope this helps!!
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
Unsubscribe mailto:rrd-users-request at list.ee.ethz.ch?subject=unsubscribe
Help mailto:rrd-users-request at list.ee.ethz.ch?subject=help
More information about the rrd-users