[rrd-users] RRDcollect -- yet another RRDtool frontend. ;-)
Dawid Kuroczko
qnex at atlantis.ssw.krakow.pl
Tue Sep 3 18:42:24 MEST 2002
Hello!
I've just released version 0.2 [1] of RRDcollect. :-)
RRDcollects is a Round-Robin Database Collecting Daemon.
It polls ceratin files in /proc/ directory, gathering data
and storing it inside RRDtool's database files.
Main features:
* written in C so it should be both fast and resources-friendly.
* controlled by configuration file - RRDcollect doesn't know
if it feeds memory usage or CPU temperature, it's up to user
to tell it what to look for.
* supports both scanf(3)-style pattern matches and perl
compatible regular expressions for searching for data.
* can use librrd, open pipe to "rrdtool" or dump update
commands to file/stdout.
* finally it has manual pages, for rrdcollect(8) and
rrdcollect(5).
* comes with .spec file (for rpm generation) and debian/*
directory (for making debs).
* has Red Hat and Debian init scripts.
Things planned (to do):
* "light" SNMP implementation. :-)
* support for running external programs, say "/bin/df".
* smarter handling of /proc/net/snmp style files.
* clean ups, lots of clean ups.
* logging to syslog, when detached.
* nifty menu-configuration for Debian. ;-)
It is available from SourceForge: http://rrdcollect.sourceforge.net/
(Files section, there are .tar.gz sources, .src.rpm, i386.rpm and
i386.deb).
And, the configuration file looks something like this:
-->8------------------------------------------------------------>8--
# Configuration values:
step = 60 # check values every 60 seconds.
directory = /usr/local/stats # working directory
# System statistics:
file:///proc/stat
"cpu %d %d %d %d" stat.rrd:user,nice,system,idle
"processes %u" stat.rrd:processes
"swap %u %u" stat.rrd:swap_in,swap_out
# System load: 1, 5 and 15 min. average
file:///proc/loadavg
"%f %f %f" avg1.rrd:load,avg5.rrd:load,avg15.rrd:load
# Memory usage:
file:///proc/meminfo
"Mem: %*d %d %d %d %d %d" memory.rrd:used,free,shared,buffers,cached
"Swap: %*d %d %*d" memory.rrd:swap_used
# S.M.A.R.T. HDD temperature:
file:///proc/ide/hda/smart_values
7:"%*04x %*04x %02x%*02x" temperature.rrd:hda
# Using regular expressions:
file:///proc/stat
/cpu (\d+) (\d+) (\d+) (\d+)/ stat.rrd:user,nice,system,idle
-->8------------------------------------------------------------>8--
I guess it should be self explanatory, but to make it clear,
the syntax is:
### <URI>
file:///proc/stat
# in future, some others, like:
exec:///bin/df
snmp://host:port/1.1.1.1.1
### "<scanf-style-pattern>" <filename.rrd>:<ds>[,[<filename.rrd>:]<ds>...
"cpu0 %*d %*d %*d %d" stats.rrd:idle
### "/<regex-style-pattern>/ <filename.rrd>:<ds>[,[<filename.rrd>:]<ds>...
/cpu0 \d+ \d+ (\d+) \d+/ stats.rrd:system
I guess scanf-style ones are preferred, both for simplicity
and speed.
Please let me know what you think of this thing. Patches,
wishes, suggestions, flames, money, chocolate, postcards,
comments, queries, etc. are welcome (some more, some less,
but all are welcome nevertheless). :-)))
Regards,
Dawid
[1]: Version 0.1 can be thought as test release, working on my
system, but lacking documentation and having some stub-code for
things I didn't use right then. Essentialy: not interesing.
--
.................. ``The essence of real creativity is a certain
: *Dawid Kuroczko* `. playfulness, a flitting from idea to idea
: q n e x at knm.org.pl : without getting bogged down by fixated demands.''
`....................' Sherkaner Underhill, A Deepness in the Sky, V. Vinge
--
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://www.ee.ethz.ch/~slist/rrd-users
WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
More information about the rrd-users
mailing list