Merge branch 'rj/libvirtstats'
[collectd.git] / src / collectd.conf.pod
index 27c5065..371cfdf 100644 (file)
@@ -24,7 +24,7 @@ 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
+The syntax of this config file is similar to the config file of the famous
 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. Values are either string, enclosed in double-quotes,
@@ -172,7 +172,7 @@ installed and an "cpu governor" (that's a kernel module) is loaded.
 
 =item B<DataDir> I<Directory>
 
-Set the directory to store RRD-files under. Per default RRD-files are generated
+Set the directory to store CSV-files under. Per default CSV-files are generated
 beneath the daemon's working directory, i.E<nbsp>e. the B<BaseDir>.
 
 =back
@@ -355,6 +355,66 @@ and all other interrupts are collected.
 
 =back
 
+=head2 Plugin C<libvirtstats>
+
+This plugin allows CPU, disk and network load to be monitored for
+virtualized guests on the machine.  The statistics are collected
+through libvirt (L<http://libvirt.org/>).
+
+Only I<Connection> is required.
+
+=over 4
+
+=item B<Connection> I<uri>
+
+Connect to the hypervisor given by I<uri>.  For example if using
+Xen use:
+
+ Connection "xen:///"
+
+Details are URIs allowed are given at L<http://libvirt.org/uri.html>.
+
+=item B<RefreshInterval> I<seconds>
+
+Refresh the list of domains and devices every I<seconds>.  The default
+is 60 seconds.  Setting this to be the same or smaller than the
+I<Interval> will cause the list of domains and devices to be refreshed
+on every iteration.
+
+Refreshing the devices in particular is quite a costly operation, so
+if your virtualization setup is static you might consider increasing
+this.
+
+=item B<Domain> I<name>
+=item B<BlockDevice> I<name:dev>
+=item B<InterfaceDevice> I<name:dev>
+=item B<IgnoreSelected> I<true>|I<false>
+
+Select which domains and devices are monitored.
+
+If I<IgnoreSelected> is not given or I<false> then only the
+listed domains and disk/network devices are monitored.
+
+If I<IgnoreSelected> is I<true> then the test is reversed
+and the listed domains and disk/network devices are ignored,
+while the rest are monitored.
+
+The domain name and device names may use a regular expression, if the
+name is surrounded by I</.../> and collectd was compiled with support
+for regexps.
+
+The default is to monitor all domains and all their devices.
+
+Example:
+
+ BlockDevice "/:hdb/"
+ IgnoreSelected "true"
+
+Ignore all I<hdb> devices on any domain, but other block devices
+(eg. I<hda>) will be monitored.
+
+=back
+
 =head2 Plugin C<logfile>
 
 =over 4
@@ -371,6 +431,10 @@ 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.
 
+=item B<Timestamp> B<true>|B<false>
+
+Prefix all lines printed by the current time. Defaults to B<true>.
+
 =back
 
 =head2 Plugin C<mbmon>
@@ -398,12 +462,30 @@ TCP-Port to connect to. Defaults to B<411>.
 
 =back
 
+=head2 Plugin C<memcached>
+
+The C<memcached plugin> connects to a memcached server and queries statistics
+about cache utilization, memory and bandwidth used.
+L<http://www.danga.com/memcached/>
+
+=over 4
+
+=item B<Host> I<Hostname>
+
+Hostname to connect to. Defaults to B<127.0.0.1>.
+
+=item B<Port> I<Port>
+
+TCP-Port to connect to. Defaults to B<11211>.
+
+=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.
+plugin will complaint loudly 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>,
@@ -569,6 +651,39 @@ either.
 
 =back
 
+=head2 Plugin C<nginx>
+
+This plugin collects the number of connections and requests handled by the
+C<nginx daemon> (speak: engineE<nbsp>X), a HTTP and mail server/proxy. It
+queries the page provided by the C<ngx_http_stub_status_module> module, which
+isn't compiled by default. Please refer to
+L<http://wiki.codemongers.com/NginxStubStatusModule> for more information on
+how to compile and configure nginx and this module.
+
+The following options are accepted by the C<nginx plugin>:
+
+=over 4
+
+=item B<URL> I<http://host/nginx_status>
+
+Sets the URL of the C<ngx_http_stub_status_module> output.
+
+=item B<User> I<Username>
+
+Optional user name needed for authentication.
+
+=item B<Password> I<Password>
+
+Optional password needed for authentication.
+
+=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 bundled with C<libcurl>
+and are checked by default depends on the distribution you use.
+
+=back
+
 =head2 Plugin C<ntpd>
 
 =over 4
@@ -596,24 +711,8 @@ L<upsc(8)>.
 
 =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
+This plugin embeds a Perl-interpreter into collectd and provides an interface
+to collectd's plugin system. See L<collectd-perl(5)> for its documentation.
 
 =head2 Plugin C<ping>
 
@@ -659,15 +758,18 @@ 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.
+B<Force> the stepsize of newly created RRD-files. Ideally (and per default)
+this setting is unset and the stepsize is set to the interval in which the data
+is collected. Do not use this option unless you absolutely have to for some
+reason. Setting this option may cause problems with the C<snmp plugin>, the
+C<exec plugin> or when the daemon is set up to receive data from other hosts.
 
 =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.
+B<Force> the heartbeat of newly created RRD-files. This setting should be unset
+in which case the heartbeat is set to twice the B<StepSize> which should equal
+the interval in which data is collected. Do not set this option unless you have
+a very good reason to do so.
 
 =item B<RRARows> I<NumRows>
 
@@ -768,6 +870,44 @@ syslog-daemon.
 
 =back
 
+=head2 Plugin C<tcpconns>
+
+The C<tcpconns plugin> counts the number of currently established TCP
+connections based on the local port and/or the remote port. Since there may be
+a lot of connections the default if to count all connections with a local port,
+for which a listening socket is opened. You can use the following options to
+fine-tune the ports you are interested in:
+
+=over 4
+
+=item B<ListeningPorts> I<true>|I<false>
+
+If this option is set to I<true>, statistics for all local ports for which a
+listening socket exists are collected. The default depends on B<LocalPort> and
+B<RemotePort> (see below): If no port at all is specifically selected, the
+default is to collect listening ports. If specific ports (no matter if local or
+remote ports) are selected, this option defaults to I<false>, i.E<nbsp>e. only
+the selected ports will be collected unless this option is set to I<true>
+specifically.
+
+=item B<LocalPort> I<Port>
+
+Count the connections to a specific local port. This can be used to see how
+many connections are handled by a specific daemon, e.E<nbsp>g. the mailserver.
+You have to specify the port in numeric form, so for the mailserver example
+you'd need to set B<25>.
+
+=item B<RemotePort> I<Port>
+
+Count the connections to a specific remote port. This is useful to see how
+much a remote service is used. This is most useful if you want to know how many
+connections a local service has opened to remote services, e.E<nbsp>g. how many
+connections a mail server or news server has to other mail or news servers, or
+how many connections a web proxy holds to web servers. You have to give the
+port in numeric form.
+
+=back
+
 =head2 Plugin C<unixsock>
 
 =over 4
@@ -789,6 +929,35 @@ L<chmod(1)>. Defaults to B<0770>.
 
 =back
 
+=head2 Plugin C<uuid>
+
+This plugin, if loaded, causes the Hostname to be taken from the
+machine's UUID.  The UUID is a universally unique designation for the
+machine, usually taken from the machine's BIOS.  This is most useful
+if the machine is running in a virtual environment such as Xen, in
+which case the UUID is preserved across shutdowns and migration.
+
+The following methods are used to find the machine's UUID, in order:
+
+Check I</etc/uuid> (or I<UUIDFile>).
+
+Check for UUID from HAL (L<http://www.freedesktop.org/wiki/Software/hal>)
+if present.
+
+Check for UUID from C<dmidecode> / SMBIOS.
+
+Check for UUID from Xen hypervisor.
+
+If no UUID can be found then the hostname is not modified.
+
+=over 4
+
+=item B<UUIDFile> I<Path>
+
+Take the UUID from the given file (default I</etc/uuid>).
+
+=back
+
 =head2 Plugin C<vserver>
 
 This plugin doesn't have any options. B<VServer> support is only available for
@@ -803,6 +972,7 @@ The B<VServer> homepage can be found at L<http://linux-vserver.org/>.
 
 L<collectd(1)>,
 L<collectd-exec(5)>,
+L<collectd-perl(5)>,
 L<collectd-unixsock(5)>,
 L<hddtemp(8)>,
 L<kstat(3KSTAT)>,