cpu, interface plugin: Fix compilation issues under Solaris.
[collectd.git] / src / collectd.conf.pod
index ecf7ef6..f7c10ad 100644 (file)
@@ -6,7 +6,6 @@ collectd.conf - Configuration for the system statistics collection daemon B<coll
 
   BaseDir "/path/to/data/"
   PIDFile "/path/to/pidfile/collectd.pid"
 
   BaseDir "/path/to/data/"
   PIDFile "/path/to/pidfile/collectd.pid"
-  LogFile "/path/to/logfile/collectd.log"
   Server  "123.123.123.123" 12345
 
   LoadPlugin cpu
   Server  "123.123.123.123" 12345
 
   LoadPlugin cpu
@@ -46,7 +45,7 @@ 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>
 =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>
 
 
 =item B<PIDFile> I<File>
 
@@ -54,17 +53,41 @@ 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.
 
 and deleted when the program ist stopped. Some init-scripts might override this
 setting using the B<-P> commandline option.
 
-=item B<LogFile> I<File>
+=item B<PluginDir> I<Directory>
 
 
-Sets the file to write debugging output to. This is only used if compiled with
-debugging enabled. It's ignored otherwise.
+Path to the plugins (shared objects) of collectd.
+
+=item B<TypesDB> I<File>
+
+Set the file that contains the data-set descriptions.
+
+=item B<Interval> I<Seconds>
+
+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.
+
+=item B<ReadThreads> I<Num>
+
+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
 
 =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:
+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>
 
 
 =head2 Plugin C<apache>
 
@@ -80,6 +103,10 @@ the following snipped to base your Apache config upon:
     </Location>
   </IfModule>
 
     </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
 The following options are accepted by the C<apache>-plugin:
 
 =over 4
@@ -122,6 +149,25 @@ TCP-Port to connect to. Defaults to B<3551>.
 
 =back
 
 
 =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
 =head2 Plugin C<df>
 
 =over 4
@@ -188,8 +234,31 @@ at most B<16384> to prevent typos and dumb mistakes.
 
 =back
 
 
 =back
 
+=head2 Plugin C<exec>
+
+Please make sure to read L<collectd-exec(5)> before using this plugin. It
+contains valueable 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>
 
 =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>
 =over 4
 
 =item B<Host> I<Hostname>
@@ -202,6 +271,47 @@ TCP-Port to connect to. Defaults to B<7634>.
 
 =back
 
 
 =back
 
+=head2 Plugin C<interface>
+
+=over 4
+
+=item B<Interface> I<Interface>
+
+Select this interface. By default these interfaces 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<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.
+
+=back
+
+=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
 =head2 Plugin C<irq>
 
 =over 4
@@ -223,8 +333,37 @@ and all other interupts are collected.
 
 =back
 
 
 =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>
 
 =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>
 =over 4
 
 =item B<Host> I<Hostname>
@@ -239,6 +378,20 @@ TCP-Port to connect to. Defaults to B<411>.
 
 =head2 Plugin C<mysql>
 
 
 =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>
 =over 4
 
 =item B<Host> I<Hostname>
@@ -296,6 +449,25 @@ 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.
 
 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
+neccessary 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>
 =back
 
 =head2 Plugin C<ntpd>
@@ -312,6 +484,38 @@ UDP-Port to connect to. Defaults to B<123>.
 
 =back
 
 
 =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
 =head2 Plugin C<ping>
 
 =over 4
@@ -327,10 +531,72 @@ Sets the Time-To-Live of generated ICMP packets.
 
 =back
 
 
 =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>
 
 =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 savely ignore these settings.
+
 =over 4
 
 =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 mulitple 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)
 =item B<CacheFlush> I<Seconds>
 
 When the C<rrdtool plugin> uses a cache (by setting B<CacheTimeout>, see below)
@@ -352,15 +618,18 @@ 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.
 
 The tradeoff is that the graphs kind of "drag behind" and that more memory is
 used.
 
-=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<sensors>
 
 =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<Sensor> I<chip-bus-address/type-feature>
 =over 4
 
 =item B<Sensor> I<chip-bus-address/type-feature>
@@ -382,30 +651,59 @@ and all other sensors are collected.
 
 =back
 
 
 =back
 
-=head2 Plugin C<traffic>
+=head2 Plugin C<syslog>
 
 =over 4
 
 
 =over 4
 
-=item B<Interface> I<Interface>
+=item B<LogLevel> B<debug|info|notice|warning|err>
 
 
-Select this interface. By default these interfaces will then be collected. For a more detailed description see B<IgnoreSelected> below.
+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.
 
 
-=item B<IgnoreSelected> I<true>|I<false>
+=back
 
 
-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.
+=head2 Plugin C<unixsock>
+
+=over 4
+
+=item B<SocketFile> I<Path>
+
+Sets the socket-file which is to be created.
+
+=item B<SocketGroup> I<Group>
+
+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
 
 
 =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
 
 =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
 
 
 =head1 AUTHOR