[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