Merge branch 'collectd-3.11' into collectd-4.0
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Fri, 31 Aug 2007 14:08:37 +0000 (16:08 +0200)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Fri, 31 Aug 2007 14:08:37 +0000 (16:08 +0200)
Conflicts:

ChangeLog
configure.in

1  2 
ChangeLog
src/collectd.conf.pod

diff --combined ChangeLog
+++ b/ChangeLog
@@@ -1,98 -1,6 +1,100 @@@
-       * processes plugin: Fix a potential segmentation fault.
 +2007-08-26, Version 4.0.7
 +      * documentation: Some typos have been fixed and some information has
 +        been improved.
 +      * build system: Many fixes for detecting libraries in unusual places,
 +        such as on RedHat systems. The affected libraries are `libcurl',
 +        `libmysql', and `libupsclient'.
 +      * network plugin: Allow the `Port' option to be specified as a number
 +        (i. e. without quotes).
 +      * nut plugin: A fix allows linking the nut plugin against
 +        libupsclient, version >= 2.2.0.
 +
 +2007-07-30, Version 4.0.6
 +      * sensors plugin: Fix the ignorelist functionality: Only the `type
 +        instance' was used to match against the list, but the documentation
 +        told otherwise. This release fixes the code, so it complies with the
 +        documentation.
 +      * syslog plugin: Call `openlog' right when the plugin is loaded, so
 +        configuration messages will end up in the logging facility.
 +      * conrtib/fedora: The contributed specfile for Fedora has been
 +        updated.
 +
 +2007-07-05, Version 4.0.5
 +      * Portability: More fixes for OpenBSD have been included.
 +
 +2007-06-24, Version 4.0.4
 +      * cpu plugin: Fixed the Solaris code.
 +      * dns plugin: Fixed a build issue for OpenBSD.
 +      * interface plugin: Fixed the Solaris code.
 +      * load plugin: Fixed the alternative `/proc' Linux code.
 +      * memory plugin: Fixed the Solaris code.
 +      * oconfig: Don't require `-lfl' anymore.
 +
 +2007-06-19, Version 4.0.3
 +      * cpu plugin: Fix the Darwin / Mac OS X code.
 +      * ping plugin: Use the return value of `getpid', not its address.
 +      * csv, rrdtool plugin: Fixed a bug that prevented an buffer to be
 +        initialized correctly.
 +      * configure: Added `--with-nan-emulation' to aid cross compilation.
 +
 +2007-06-12, Version 4.0.2
 +      * hddtemp and ntpd plugin: Corrected the parsing of port numbers when
 +        they're given in numerically form.
 +
 +2007-06-07, Version 4.0.1
 +      * iptables plugin: A bug in the configuration routine has been fixed.
 +        Setting a comment in the configfile will no longer cause a
 +        segmentation fault.
 +
 +2007-06-03, Version 4.0.0
 +      * collectd: The plugin-infrastructure has been changed to allow for
 +        more types of plugins, namely `write' and `log' plugins.
 +      * collectd: The read-function has been changed to read many plugins in
 +        parallel, using threads. Thus, plugins generally need to use
 +        thread-safe functions from now on.
 +      * collectd: The '-t' command line options allows to perform syntax tests
 +        of the configuration file and exit immediately.
 +      * csv plugin: The new `csv' plugin handles output to `comma separated
 +        values'-files.
 +      * rrdtool plugin: The new `rrdtool' plugin handles output to
 +        RRD-files. Data can be cached to combine multiple updates into one
 +        write to increase IO-performance.
 +      * network plugin: The new `network' plugin handles IO via the network.
 +        It implements a different, much more extensible protocol which can
 +        combine many values in one packet, decreasing the number of UDP-
 +        packets being sent. It can read from and send to the network and
 +        with the appropriate configuration even forward packets to other
 +        networks.
 +      * unixsock plugin: The new `unixsock' plugin provides an interface to
 +        communicate with the daemon while it is running. Right now the
 +        commands `GETVAL' and `PUTVAL' are implemented, but more are to
 +        come.
 +      * perl plugin: The new `perl' plugin allows you to write extensions
 +        for collectd in the scripting-language Perl.
 +      * logfile plugin: The new `logfile' plugin writes logmessages to files
 +        or STDOUT or STDERR.
 +      * syslog plugin: The new `syslog' plugin sends logmessages to the
 +        system's syslog daemon.
 +      * entropy plugin: The new `entropy' plugin collects the amount of
 +        entropy currently being available to the system.
 +      * exec plugin: The new `exec' plugin forks child processes and reads
 +        back values provided by the forked processes.
 +      * iptables plugin: The new `iptables' plugin reads counters from
 +        iptables rules. Thanks to Sjoerd van der Berg for contributing this
 +        plugin.
 +      * irq plugin: The new `irq' plugin collects the IRQ-counters. Thanks
 +        to Peter Holik for contributing this plugin.
 +      * nut plugin: The new `nut' plugin connects the upsd of the `network
 +        ups tools' and reads information about the connected UPS.
 +      * apache plugin: Support for lighttpd's `BusyServers' (aka.
 +        connections) field was added by Florent Monbillard.
 +      * collectd-nagios: The new `collectd-nagios' binary queries values
 +        from collectd, parses them and exits according to Nagios-standards.
 +      * manpages: The manpages have been improved a lot.
 +
+ 2007-08-31, Version 3.11.6
+       * processes plugin: Fix a potential segmentation fault.
  2007-05-29, Version 3.11.5
        * configure: Added `AC_SYS_LARGEFILE' for LFS.
        * ntpd plugin: Fix a potential buffer overflow.
diff --combined src/collectd.conf.pod
@@@ -4,90 -4,109 +4,94 @@@ collectd.conf - Configuration for the s
  
  =head1 SYNOPSIS
  
 -  Mode    Client
 -  DataDir /path/to/data/
 -  PIDFile /path/to/pidfile/collectd.pid
 -  LogFile /path/to/logfile/collectd.log
 -  Server  123.123.123.123 12345
 +  BaseDir "/path/to/data/"
 +  PIDFile "/path/to/pidfile/collectd.pid"
 +  Server  "123.123.123.123" 12345
  
    LoadPlugin cpu
    LoadPlugin load
    LoadPlugin ping
  
    <Plugin ping>
 -    Host example.org
 -    Host provider.net
 +    Host "example.org"
 +    Host "provider.net"
    </Plugin>
  
  =head1 DESCRIPTION
  
  This config file controls how the system statistics collection daemon
 -B<collectd> behaves. The most significant options are B<Mode>, which controlls
 -if the daemon will act as client, server or will be independent in local mode,
 -and B<LoadPlugin> which controls which plugins to load.
 +B<collectd> behaves. The most significant option is B<LoadPlugin>, which
 +controls which plugins to load. These plugins ultimately define collectd's
 +behavior.
  
  The syntax of this config file is similar to the config file of the famos
 -B<Apache Webserver>. Each line containes either a key-value-pair or a
 +B<Apache Webserver>. Each line contains either a key-value-pair or a
  section-start or -end. Empty lines and everything after the hash-symbol `#' is
 -ignored.
 +ignored. Values are either string, enclosed in double-quotes,
 +(floating-point-)numbers or a boolean expression, i.E<nbsp>e. either B<true> or
 +B<false>. String containing of only alphanumeric characters and underscores do
 +not need to be quoted.
  
+ Please note that B<there is a bug> in the library used by collectd to read the
+ configfile, that will lead to all lines with trailing whitespaces to be
+ ignored. This problem has been solved in collectdE<nbsp>4.0 and later.
  =head1 GLOBAL OPTIONS
  
  =over 4
  
 -=item B<Mode> (B<Local>|B<Client>|B<Server>|B<Log>)
 +=item B<BaseDir> I<Directory>
  
 -Sets the operating mode. See the section B<MODES> in L<collectd(1)> for a
 -description. This option determines which other options are allowed. Defaults
 -to B<Local>.
 +Sets the base directory. This is the directory beneath all RRD-files are
 +created. Possibly more subdirectories are created. This is also the working
 +directory for the daemon.
  
  =item B<LoadPlugin> I<Plugin>
  
  Loads the plugin I<Plugin>. There must be at least one such line or B<collectd>
 -will be mostly useless. The names of the plugins are listed in L<collectd(1)>.
 +will be mostly useless.
  
  =item B<PIDFile> I<File>
  
  Sets where to write the PID file to. This file is overwritten when it exists
  and deleted when the program ist stopped. Some init-scripts might override this
 -setting using the B<-P> commandline option. Available in B<all modes>.
 -
 -=item B<DataDir> I<Directory>
 +setting using the B<-P> commandline option.
  
 -Sets the data directory. This is the directory beneath all RRD-files are
 -created. Possibly more subdirectories are created. This is also the working
 -directory for the daemon. Available in B<all modes>, though the B<Client> mode
 -won't write to this directory.
 +=item B<PluginDir> I<Directory>
  
 -=item B<LogFile> I<File>
 +Path to the plugins (shared objects) of collectd.
  
 -Sets the file to write debugging output to. This is only used if compiled with
 -debugging enabled. It's ignored otherwise. Available in B<all modes>.
 +=item B<TypesDB> I<File>
  
 -=item B<Listen> I<Host> [I<Port>]
 +Set the file that contains the data-set descriptions.
  
 -=item B<Server> I<Host> [I<Port>]
 +=item B<Interval> I<Seconds>
  
 -In B<client mode> the B<Server> statement sets the server to send datagrams to.
 -The statement may occur multiple times to send each datagram to multiple
 -destinations.
 +Configures the interval in which to query the read plugins. Obviously smaller
 +values lead to a higher system load produces by collectd, while higher values
 +lead to more coarse statistics.
  
 -In B<server mode> the B<Listen> statement sets the interfaces to bind to. When
 -multiple statements are found the daemon will bind to multiple interfaces.
 +=item B<ReadThreads> I<Num>
  
 -The argument I<Host> may be a hostname, an IPv4 address or an IPv6 address. If
 -the argument is a multicast address the daemon will join that multicast group.
 -
 -If no B<Listen> statement is found the server tries join both, the IPv6
 -multicast group and the IPv4 multicast group. If no B<Server> statement is
 -found the client will try to send data to the IPv6 multicast group first. If
 -that failes the client will try the IPv4 multicast group.
 -
 -The default IPv6 multicast group is C<ff18::efc0:4a42>. The default IPv4
 -multicast group is C<239.192.74.66>.
 -
 -The optional I<Port> argument sets the port to use. It can either be given
 -using a numeric port number or a service name. If the argument is omited the
 -default port B<25826> is assumed.
 -
 -=item B<TimeToLive> I<1-255>
 -
 -Set the time-to-live of sent packets. This applies to all, unicast and
 -multicast, and IPv4 and IPv6 packets. The default is to not change this value.
 -That means that multicast packets will be sent with a TTL of C<1> (one) on most
 -operating systems.
 +Number of threads to start for reading plugins. The default value if B<5>, but
 +you may want to increase this if you have more than five plugins that take a
 +long time to read. Mostly those are plugin that do network-IO. Setting this to
 +a value higher than the number of plugins you've loaded is totally useless.
  
  =back
  
  =head1 PLUGIN OPTIONS
  
 -Some Plugins may register own options. These options must be inclosed in a
 -C<Plugin>-Section. Which options exist depends on the plugin used:
 +Some Plugins may register own options. These options must be enclosed in a
 +C<Plugin>-Section. Which options exist depends on the plugin used. Some plugins
 +require external configuration, too. The C<apache plugin>, for example,
 +required C<mod_status> to be configured in the webserver you're going to
 +collect data from. These plugins are listed below as well, even if they don't
 +require any configuration within collectd's configfile.
 +
 +A list of all plugins and a short summary for each plugin can be found in the
 +F<README> file shipped with the sourcecode and hopefully binary packets as
 +well.
  
  =head2 Plugin C<apache>
  
@@@ -103,10 -122,6 +107,10 @@@ the following snipped to base your Apac
      </Location>
    </IfModule>
  
 +Since its C<mod_status> module is very similar to Apache's, B<lighttpd> is
 +also supported. It introduces a new field, called C<BusyServers>, to count the
 +number of currently connected clients. This field is also supported.
 +
  The following options are accepted by the C<apache>-plugin:
  
  =over 4
@@@ -128,7 -143,7 +132,7 @@@ Optional password needed for authentica
  =item B<CACert> I<File>
  
  File that holds one or more SSL certificates. If you want to use HTTPS you will
 -possibly need this option. What CA certificates come bundeled with C<libcurl>
 +possibly need this option. What CA certificates come bundled with C<libcurl>
  and are checked by default depends on the distribution you use.
  
  =back
@@@ -149,25 -164,6 +153,25 @@@ TCP-Port to connect to. Defaults to B<3
  
  =back
  
 +=head2 Plugin C<cpufreq>
 +
 +This plugin doesn't have any options. It reads
 +F</sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq> (for the first CPU
 +installed) to get the current CPU frequency. If this file does not exist make
 +sure B<cpufreqd> (L<http://cpufreqd.sourceforge.net/>) or a similar tool is
 +installed and an "cpu governor" (that's a kernel module) is loaded.
 +
 +=head2 Plugin C<csv>
 +
 +=over 4
 +
 +=item B<DataDir> I<Directory>
 +
 +Set the directory to store RRD-files under. Per default RRD-files are generated
 +beneath the daemon's working directory, i.E<nbsp>e. the B<BaseDir>.
 +
 +=back
 +
  =head2 Plugin C<df>
  
  =over 4
@@@ -188,7 -184,7 +192,7 @@@ Select partitions based on the filesyst
  
  Invert the selection: If set to true, all partitions B<except> the ones that
  match any one of the criteria are collected. By default only selected
 -partitions are collected if a selection is made. If no selection is conifured
 +partitions are collected if a selection is made. If no selection is configured
  at all, B<all> partitions are selected.
  
  =back
@@@ -234,31 -230,8 +238,31 @@@ at most B<16384> to prevent typos and d
  
  =back
  
 +=head2 Plugin C<exec>
 +
 +Please make sure to read L<collectd-exec(5)> before using this plugin. It
 +contains valuable information on when the executable is executed and the
 +output that is expected from it.
 +
 +=over 4
 +
 +=item B<Exec> I<User> I<Executable>
 +
 +Execute the executable I<Executable> as user I<User>.
 +
 +=back
 +
  =head2 Plugin C<hddtemp>
  
 +To get values from B<hddtemp> collectd connects to B<localhost> (127.0.0.1),
 +port B<7634/tcp>. The B<Host> and B<Port> options can be used to change these
 +default values, see below. C<hddtemp> has to be running to work correctly. If
 +C<hddtemp> is not running timeouts may appear which may interfere with other
 +statistics..
 +
 +The B<hddtemp> homepage can be found at
 +L<http://www.guzu.net/linux/hddtemp.php>.
 +
  =over 4
  
  =item B<Host> I<Hostname>
@@@ -271,127 -244,36 +275,127 @@@ TCP-Port to connect to. Defaults to B<7
  
  =back
  
 -=head2 Plugin C<mbmon>
 +=head2 Plugin C<interface>
  
  =over 4
  
 -=item B<Host> I<Hostname>
 +=item B<Interface> I<Interface>
  
 -Hostname to connect to. Defaults to B<127.0.0.1>.
 +Select this interface. By default these interfaces will then be collected. For
 +a more detailed description see B<IgnoreSelected> below.
  
 -=item B<Port> I<Port>
 +=item B<IgnoreSelected> I<true>|I<false>
  
 -TCP-Port to connect to. Defaults to B<411>.
 +If no configuration if given, the B<traffic>-plugin will collect data from
 +all interfaces. This may not be practical, especially for loopback- and
 +similar interfaces. Thus, you can use the B<Interface>-option to pick the
 +interfaces you're interested in. Sometimes, however, it's easier/preferred
 +to collect all interfaces I<except> a few ones. This option enables you to
 +do that: By setting B<IgnoreSelected> to I<true> the effect of
 +B<Interface> is inversed: All selected interfaces are ignored and all
 +other interfaces are collected.
  
  =back
  
 -=head2 Plugin C<ntpd>
 +=head2 Plugin C<iptables>
 +
 +=over 4
 +
 +=item B<Chain> I<Table> I<Chain> [I<Comment|Number> [I<Name>]]
 +
 +Select the rules to count. If only I<Table> and I<Chain> are given, this plugin
 +will collect the counters of all rules which have a comment-match. The comment
 +is then used as type-instance.
 +
 +If I<Comment> or I<Number> is given, only the rule with the matching comment or
 +the I<n>th rule will be collected. Again, the comment (or the number) will be
 +used as the type-instance.
 +
 +If I<Name> is supplied, it will be used as the type-instance instead of the
 +comment or the number.
 +
 +=back
 +
 +=head2 Plugin C<irq>
 +
 +=over 4
 +
 +=item B<Irq> I<Irq>
 +
 +Select this irq. By default these irqs will then be collected. For a more
 +detailed description see B<IgnoreSelected> below.
 +
 +=item B<IgnoreSelected> I<true>|I<false>
 +
 +If no configuration if given, the B<irq>-plugin will collect data from all
 +irqs. This may not be practical, especially if no interrupts happen. Thus, you
 +can use the B<Irq>-option to pick the interrupt you're interested in.
 +Sometimes, however, it's easier/preferred to collect all interrupts I<except> a
 +few ones. This option enables you to do that: By setting B<IgnoreSelected> to
 +I<true> the effect of B<Irq> is inversed: All selected interrupts are ignored
 +and all other interrupts are collected.
 +
 +=back
 +
 +=head2 Plugin C<logfile>
 +
 +=over 4
 +
 +=item B<LogLevel> B<debug|info|notice|warning|err>
 +
 +Sets the log-level. If, for example, set to B<notice>, then all events with
 +severity B<notice>, B<warning>, or B<err> will be written to the logfile.
 +
 +=item B<File> I<File>
 +
 +Sets the file to write log messages to. The special strings B<stdout> and
 +B<stderr> can be used to write to the standard output and standard error
 +channels, respectively. This, of course, only makes much sense when collectd is
 +running in foreground- or non-daemon-mode.
 +
 +=back
 +
 +=head2 Plugin C<mbmon>
 +
 +The C<mbmon plugin> uses mbmon to retrieve temperature, voltage, etc.
 +
 +Be default collectd connects to B<localhost> (127.0.0.1), port B<411/tcp>.  The
 +B<Host> and B<Port> options can be used to change these values, see below.
 +C<mbmon> has to be running to work correctly. If C<mbmon> is not running
 +timeouts may appear which may interfere with other statistics..
 +
 +C<mbmon> must be run with the -r option ("print TAG and Value format");
 +Debian's F</etc/init.d/mbmon> script already does this, other people
 +will need to ensure that this is the case.
  
  =over 4
  
  =item B<Host> I<Hostname>
  
 -Hostname of the host running B<ntpd>. Defaults to B<localhost>.
 +Hostname to connect to. Defaults to B<127.0.0.1>.
  
  =item B<Port> I<Port>
  
 -UDP-Port to connect to. Defaults to B<123>.
 +TCP-Port to connect to. Defaults to B<411>.
  
  =back
  
  =head2 Plugin C<mysql>
  
 +The C<mysql plugin> requires B<mysqlclient> to be installed. It connects to the
 +database when started and keeps the connection up as long as possible. When the
 +connection is interrupted for whatever reason it will try to re-connect. The
 +plugin logs loud complaints in case anything goes wrong.
 +
 +This plugin issues C<SHOW STATUS> and evaluates C<Bytes_{received,sent}>,
 +C<Com_*> and C<Handler_*> which correspond to F<mysql_octets.rrd>,
 +F<mysql_commands-*.rrd> and F<mysql_handler-*.rrd>. Also, the values of
 +C<Qcache_*> are put in F<mysql_qcache.rrd> and values of C<Threads_*> are put
 +in F<mysql_threads.rrd>. Please refer to the B<MySQL reference manual>,
 +I<5.2.4. Server Status Variables> for an explanation of these values.
 +
 +Use the following options to configure the plugin:
 +
  =over 4
  
  =item B<Host> I<Hostname>
@@@ -408,114 -290,11 +412,114 @@@ Password needed to log into the databas
  
  =item B<Database> I<Database>
  
 -Select this database. Defaults to I<no database> which is a perfecly reasonable
 +Select this database. Defaults to I<no database> which is a perfectly reasonable
  option for what this plugin does.
  
  =back
  
 +=head2 Plugin C<network>
 +
 +=over 4
 +
 +=item B<Listen> I<Host> [I<Port>]
 +
 +=item B<Server> I<Host> [I<Port>]
 +
 +The B<Server> statement sets the server to send datagrams B<to>.  The statement
 +may occur multiple times to send each datagram to multiple destinations.
 +
 +The B<Listen> statement sets the interfaces to bind to. When multiple
 +statements are found the daemon will bind to multiple interfaces.
 +
 +The argument I<Host> may be a hostname, an IPv4 address or an IPv6 address. If
 +the argument is a multicast address the daemon will join that multicast group.
 +
 +If no B<Listen> statement is found the server tries join both, the default IPv6
 +multicast group and the default IPv4 multicast group. If no B<Server> statement
 +is found the client will try to send data to the IPv6 multicast group first. If
 +that fails the client will try the IPv4 multicast group.
 +
 +The default IPv6 multicast group is C<ff18::efc0:4a42>. The default IPv4
 +multicast group is C<239.192.74.66>.
 +
 +The optional I<Port> argument sets the port to use. It can either be given
 +using a numeric port number or a service name. If the argument is omitted the
 +default port B<25826> is assumed.
 +
 +=item B<TimeToLive> I<1-255>
 +
 +Set the time-to-live of sent packets. This applies to all, unicast and
 +multicast, and IPv4 and IPv6 packets. The default is to not change this value.
 +That means that multicast packets will be sent with a TTL of C<1> (one) on most
 +operating systems.
 +
 +=item B<Forward> I<true|false>
 +
 +If set to I<true>, write packets that were received via the network plugin to
 +the sending sockets. This should only be activated when the B<Listen>- and
 +B<Server>-statements differ. Otherwise packets may be send multiple times to
 +the same multicast group. While this results in more network traffic than
 +necessary it's not a huge problem since the plugin has a duplicate detection,
 +so the values will not loop.
 +
 +=item B<CacheFlush> I<Seconds>
 +
 +For each host/plugin/type combination the C<network plugin> caches the time of
 +the last value being sent or received. Every I<Seconds> seconds the plugin
 +searches and removes all entries that are older than I<Seconds> seconds, thus
 +freeing the unused memory again. Since this process is somewhat expensive and
 +normally doesn't do much, this value should not be too small. The default is
 +1800 seconds, but setting this to 86400 seconds (one day) will not do much harm
 +either.
 +
 +=back
 +
 +=head2 Plugin C<ntpd>
 +
 +=over 4
 +
 +=item B<Host> I<Hostname>
 +
 +Hostname of the host running B<ntpd>. Defaults to B<localhost>.
 +
 +=item B<Port> I<Port>
 +
 +UDP-Port to connect to. Defaults to B<123>.
 +
 +=back
 +
 +=head2 Plugin C<nut>
 +
 +=over 4
 +
 +=item B<UPS> I<upsname>B<@>I<hostname>[B<:>I<port>]
 +
 +Add a UPS to collect data from. The format is identical to the one accepted by
 +L<upsc(8)>.
 +
 +=back
 +
 +=head2 Plugin C<perl>
 +
 +=over 4
 +
 +=item B<LoadPlugin> I<Plugin>
 +
 +Loads the Perl plugin I<Plugin>. This does basically the same as B<use> would
 +do in a Perl program.
 +
 +=item B<BaseName> I<Name>
 +
 +Prepends I<Name>B<::> to all plugin names loaded after this option. This is
 +provided for convenience to keep plugin names short.
 +
 +=item B<IncludeDir> I<Dir>
 +
 +Adds I<Dir> to the B<@INC> array. This is the same as using the B<-IDir>
 +command line option or B<use lib Dir> in the source code.
 +
 +=back
 +
  =head2 Plugin C<ping>
  
  =over 4
@@@ -531,179 -310,92 +535,179 @@@ Sets the Time-To-Live of generated ICM
  
  =back
  
 +=head2 Plugin C<processes>
 +
 +=over 4
 +
 +=item B<Process> I<Name>
 +
 +Select more detailed statistics of processes matching this name. The statistics
 +collected for these selected processes are size of the resident segment size
 +(RSS), user- and system-time used, number of processes and number of threads,
 +and minor and major pagefaults.
 +
 +=back
 +
 +=head2 Plugin C<rrdtool>
 +
 +You can use the settings B<StepSize>, B<HeartBeat>, B<RRARows>, and B<XFF> to
 +finetune your RRD-files. Please read L<rrdcreate(1)> if you encounter problems
 +using these settings. If you don't want to dive into the depths of RRDTool, you
 +can safely ignore these settings.
 +
 +=over 4
 +
 +=item B<DataDir> I<Directory>
 +
 +Set the directory to store RRD-files under. Per default RRD-files are generated
 +beneath the daemon's working directory, i.E<nbsp>e. the B<BaseDir>.
 +
 +=item B<StepSize> I<Seconds>
 +
 +Sets the stepsize of newly created RRD-files. Ideally (and per default) this
 +setting is identical to the global B<Interval>-option and should not be
 +smaller. If unsure, don't set this option.
 +
 +=item B<HeartBeat> I<Seconds>
 +
 +Sets the heartbeat of newly created RRD-files. Ideally this setting is bigger
 +than the B<Interval>-setting, by default it's twice the B<Interval>-setting. If
 +unsure, don't set this option.
 +
 +=item B<RRARows> I<NumRows>
 +
 +The C<rrdtool plugin> calculates the number of PDPs per CDP based on the
 +B<StepSize>, this setting and a timespan. This plugin creates RRD-files with
 +three times five RRAs, i. e. five RRAs with the CFs B<MIN>, B<AVERAGE>, and
 +B<MAX>. The five RRAs are optimized for graphs covering one hour, one day, one
 +week, one month, and one year.
 +
 +So for each timespan, it calculates how many PDPs need to be consolidated into
 +one CDP by calculating:
 +  number of PDPs = timespan / (stepsize * rrarows)
 +
 +Bottom line is, set this no smaller than the width of you graphs in pixels. The
 +default is 1200.
 +
 +=item B<RRATimespan> I<Seconds>
 +
 +Adds an RRA-timespan, given in seconds. Use this option multiple times to have
 +more then one RRA. If this option is never used, the built-in default of (3600,
 +86400, 604800, 2678400, 31622400) is used.
 +
 +For more information on how RRA-sizes are calculated see B<RRARows> above.
 +
 +=item B<XFF> I<Factor>
 +
 +Set the "XFiles Factor". The default is 0.1. If unsure, don't set this option.
 +
 +=item B<CacheFlush> I<Seconds>
 +
 +When the C<rrdtool plugin> uses a cache (by setting B<CacheTimeout>, see below)
 +it writes all values for a certain RRD-file if the oldest value is older than
 +(or equal to) the number of seconds specified. If some RRD-file is not updated
 +anymore for some reason (the computer was shut down, the network is broken,
 +etc.) some values may still be in the cache. If B<CacheFlush> is set, then the
 +entire cache is searched for entries older than B<CacheTimeout> seconds and
 +written to disk every I<Seconds> seconds. Since this is kind of expensive and
 +does nothing under normal circumstances, this value should not be too small.
 +900 seconds might be a good value, though setting this to 7200 seconds doesn't
 +normally do much harm either.
 +
 +=item B<CacheTimeout> I<Seconds>
 +
 +If this option is set to a value greater than zero, the C<rrdtool plugin> will
 +save values in a cache, as described above. Writing multiple values at once
 +reduces IO-operations and thus lessens the load produced by updating the files.
 +The tradeoff is that the graphs kind of "drag behind" and that more memory is
 +used.
 +
 +=back
 +
  =head2 Plugin C<sensors>
  
 +The C<sensors plugin> uses B<lm_sensors> to retrieve sensor-values. This means
 +that all the needed modules have to be loaded and lm_sensors has to be
 +configured (most likely by editing F</etc/sensors.conf>. Read
 +L<sensors.conf(5)> for details.
 +
 +The B<lm_sensors> homepage can be found at
 +L<http://secure.netroedge.com/~lm78/>.
 +
  =over 4
  
 -=item B<ExtendedSensorNaming> I<true>|I<false>
 -
 -If set to I<true> this option switches on the extended sensors and RRD-files
 -naming. This option exists to preserve backwards compatibility. It is
 -recommended that you set this option to I<true>. The default is I<false> to
 -maintain compatibility only.
 -
 -Sensors get names like I<chip-bus-address/type-feature> (e.g.
 -I<it8712-isa-0290/voltage-in1>) and RRD files are therefore stored in a
 -standalone directory inside the B<DataDir> directory and get names like
 -I<lm_sensors-chip-bus-address/type-feature.rrd> (e.g.
 -I<lm_sensors-it8712-isa-0290/voltage-in1.rrd>).
 -
 -The B<ExtendedSensorNaming> option breaks the compatibility with previous
 -sensors and RRD files naming and the place where RRDs are stored. If you turn
 -it on, the plugin will create new RRD files in a standalone directory inside
 -the B<DataDir> directory and without previous history. You can rename ``old''
 -RRD-files to preserve already collected statistics, because the file layout
 -hasn't changed. If you have two chips of the same type, you need to use
 -B<ExtendedSensorNaming> in order to collect information from both chips.
 -
 -If not set or set to I<false>, the extended naming is not active. Sensors get
 -names like I<chip-feature> (e.g. I<it8712-in1>) and RRD files are stored in the
 -main B<DataDir> directory and get names like I<sensors-chip-feature.rrd> (e.g.
 -I<sensors-it8712-in1.rrd>).  You simply continue using the plugin the old way
 -and additionally also getting data for newly added sensors in this mode.
 -
 -=item B<Sensor> I<chip-feature> or B<Sensor> I<chip-bus-address/type-feature>
 -
 -Both option modes select the name of the sensor which you want to collect.
 -The naming scheme is dependent on the state of the B<ExtendedSensorNaming>
 -option (see previous option). Both option modes can also deselect the
 -sensor according to the B<IgnoreSelected> option (see below).
 -
 -For example the option "B<Sensor> I<it8712-in1>" will cause the collectd
 -to gather data for the voltage sensor I<in1> of the I<it8712> chip in case
 -of the B<ExtendedSensorNaming> option is set to I<false>.
 -
 -And likewise the option "B<Sensor> I<it8712-isa-0290/voltage-in1>" will
 -cause the collectd to gather data for the voltage sensor I<in1> of the I<it8712>
 -on the isa bus at the address 0290 in case of the B<ExtendedSensorNaming>
 -option set to I<true>.
 +=item B<Sensor> I<chip-bus-address/type-feature>
 +
 +Selects the name of the sensor which you want to collect or ignore, depending
 +on the B<IgnoreSelected> below. For example, the option "B<Sensor>
 +I<it8712-isa-0290/voltage-in1>" will cause collectd to gather data for the
 +voltage sensor I<in1> of the I<it8712> on the isa bus at the address 0290.
  
  =item B<IgnoreSelected> I<true>|I<false>
  
 -If no configuration if given, the B<sensors>-plugin will collect data from
 -all sensors. This may not be practical, especially for uninteresting sensors.
 -Thus, you can use the B<Sensor>-option to pick the sensors you're
 -interested in. Sometimes, however, it's easier/prefered to collect all
 -sensors I<except> a few ones. This option enables you to
 -do that: By setting B<IgnoreSelected> to I<true> the effect of
 -B<Sensor> is inversed: All selected sensors are ignored and all
 -other sensors are collected.
 +If no configuration if given, the B<sensors>-plugin will collect data from all
 +sensors. This may not be practical, especially for uninteresting sensors.
 +Thus, you can use the B<Sensor>-option to pick the sensors you're interested
 +in. Sometimes, however, it's easier/preferred to collect all sensors I<except> a
 +few ones. This option enables you to do that: By setting B<IgnoreSelected> to
 +I<true> the effect of B<Sensor> is inversed: All selected sensors are ignored
 +and all other sensors are collected.
 +
 +=back
 +
 +=head2 Plugin C<syslog>
 +
 +=over 4
 +
 +=item B<LogLevel> B<debug|info|notice|warning|err>
  
 -back
 +Sets the log-level. If, for example, set to B<notice>, then all events with
 +severity B<notice>, B<warning>, or B<err> will be submitted to the
 +syslog-daemon.
  
  =back
  
 -=head2 Plugin C<traffic>
 +=head2 Plugin C<unixsock>
  
  =over 4
  
 -=item B<Interface> I<Interface>
 +=item B<SocketFile> I<Path>
  
 -Select this interface. By default these interfaces will then be collected. For a more detailed description see B<IgnoreSelected> below.
 +Sets the socket-file which is to be created.
  
 -=item B<IgnoreSelected> I<true>|I<false>
 +=item B<SocketGroup> I<Group>
  
 -If no configuration if given, the B<traffic>-plugin will collect data from
 -all interfaces. This may not be practical, especially for loopback- and
 -similar interfaces. Thus, you can use the B<Interface>-option to pick the
 -interfaces you're interested in. Sometimes, however, it's easier/prefered
 -to collect all interfaces I<except> a few ones. This option enables you to
 -do that: By setting B<IgnoreSelected> to I<true> the effect of
 -B<Interface> is inversed: All selected interfaces are ignored and all
 -other interfaces are collected.
 +If running as root change the group of the UNIX-socket after it has been 
 +created. Defaults to B<collectd>.
 +
 +=item B<SocketPerms> I<Permissions>
 +
 +Change the file permissions of the UNIX-socket after it has been created. The
 +permissions must be given as a numeric, octal value as you would pass to
 +L<chmod(1)>. Defaults to B<0770>.
  
  =back
  
 +=head2 Plugin C<vserver>
 +
 +This plugin doesn't have any options. B<VServer> support is only available for
 +Linux. It cannot yet be found in a vanilla kernel, though. To make use of this
 +plugin you need a kernel that has B<VServer> support built in, i.E<nbsp>e. you
 +need to apply the patches and compile your own kernel, which will then provide
 +the F</proc/virtual> filesystem that is required by this plugin.
 +
 +The B<VServer> homepage can be found at L<http://linux-vserver.org/>.
 +
  =head1 SEE ALSO
  
 -L<collectd(1)>
 +L<collectd(1)>,
 +L<collectd-exec(5)>,
 +L<collectd-unixsock(5)>,
 +L<hddtemp(8)>,
 +L<kstat(3KSTAT)>,
 +L<mbmon(1)>,
 +L<rrdtool(1)>,
 +L<sensors(1)>
  
  =head1 AUTHOR