=head1 NAME collectd.conf - Configuration for the system statistics collection daemon B =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 LoadPlugin cpu LoadPlugin load LoadPlugin ping Host example.org Host provider.net =head1 DESCRIPTION This config file controls how the system statistics collection daemon B behaves. The most significant options are B, which controlls if the daemon will act as client, server or will be independent in local mode, and B which controls which plugins to load. The syntax of this config file is similar to the config file of the famos B. Each line containes either a key-value-pair or a section-start or -end. Empty lines and everything after the hash-symbol `#' is ignored. =head1 GLOBAL OPTIONS =over 4 =item B (B|B|B|B) Sets the operating mode. See the section B in L for a description. This option determines which other options are allowed. Defaults to B. =item B I Loads the plugin I. There must be at least one such line or B will be mostly useless. The names of the plugins are listed in L. =item B I 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. =item B I 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, though the B mode won't write to this directory. =item B I Sets the file to write debugging output to. This is only used if compiled with debugging enabled. It's ignored otherwise. Available in B. =item B I [I] =item B I [I] In B the B statement sets the server to send datagrams to. The statement may occur multiple times to send each datagram to multiple destinations. In B the B statement sets the interfaces to bind to. When multiple statements are found the daemon will bind to multiple interfaces. The argument I 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 statement is found the server tries join both, the IPv6 multicast group and the IPv4 multicast group. If no B 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. The default IPv4 multicast group is C<239.192.74.66>. The optional I 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 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. =back =head1 PLUGIN OPTIONS Some Plugins may register own options. These options must be inclosed in a C-Section. Which options exist depends on the plugin used: =head2 Plugin C To configure the C-plugin you first need to configure the Apache webserver correctly. The Apache-plugin C needs to be loaded and working and the C directive needs to be B. You can use the following snipped to base your Apache config upon: ExtendedStatus on SetHandler server-status The following options are accepted by the C-plugin: =over 4 =item B I Sets the URL of the C output. This needs to be the output generated by C and it needs to be the machine readable output generated by appending the C argument. =item B I Optional user name needed for authentication. =item B I Optional password needed for authentication. =item B I 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 and are checked by default depends on the distribution you use. =back =head2 Plugin C =over 4 =item B I Hostname of the host running B. Defaults to B. Please note that IPv6 support has been disabled unless someone can confirm or decline that B can handle it. =item B I TCP-Port to connect to. Defaults to B<3551>. =back =head2 Plugin C =over 4 =item B I Select partitions based on the devicename. =item B I Select partitions based on the mountpoint. =item B I Select partitions based on the filesystem type. =item B I|I Invert the selection: If set to true, all partitions B 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 at all, B partitions are selected. =back =head2 Plugin C =over 4 =item B I The dns plugin uses B to capture dns traffic and analyses it. This option sets the interface that should be used. If this option is not set, or set to "any", the plugin will try to get packets from B interfaces. This may not work on certain platforms, such as MacEOSEX. =item B I Ignore packets that originate from this address. =back =head2 Plugin C =over 4 =item B I If running as root change the group of the UNIX-socket after it has been created. Defaults to B. =item B I 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. Defaults to B<0770>. =item B I Sets the maximum number of connections that can be handled in parallel. Since this many threads will be started immediately setting this to a very high value will waste valuable resources. Defaults to B<5> and will be forced to be at most B<16384> to prevent typos and dumb mistakes. =back =head2 Plugin C =over 4 =item B I Hostname to connect to. Defaults to B<127.0.0.1>. =item B I TCP-Port to connect to. Defaults to B<7634>. =back =head2 Plugin C =over 4 =item B I Hostname to connect to. Defaults to B<127.0.0.1>. =item B I TCP-Port to connect to. Defaults to B<411>. =back =head2 Plugin C =over 4 =item B I Hostname of the host running B. Defaults to B. =item B I UDP-Port to connect to. Defaults to B<123>. =back =head2 Plugin C =over 4 =item B I Hostname of the database server. Defaults to B. =item B I Username to use when connecting to the database. =item B I Password needed to log into the database. =item B I Select this database. Defaults to I which is a perfecly reasonable option for what this plugin does. =back =head2 Plugin C =over 4 =item B I Host to ping periodically. This option may be repeated several times to ping multiple hosts. =item B I<0-255> Sets the Time-To-Live of generated ICMP packets. =back =head2 Plugin C =over 4 =item B I If this option is set to a value greater than zero, the C-plugin will write values every I seconds to the RRD-files. 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 =over 4 =item B I|I If set to I 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. The default is I to maintain compatibility only. Sensors get names like I (e.g. I) and RRD files are therefore stored in a standalone directory inside the B directory and get names like I (e.g. I). The B 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 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 in order to collect information from both chips. If not set or set to I, the extended naming is not active. Sensors get names like I (e.g. I) and RRD files are stored in the main B directory and get names like I (e.g. I). You simply continue using the plugin the old way and additionally also getting data for newly added sensors in this mode. =item B I or B I 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 option (see previous option). Both option modes can also deselect the sensor according to the B option (see below). For example the option "B I" will cause the collectd to gather data for the voltage sensor I of the I chip in case of the B option is set to I. And likewise the option "B I" will cause the collectd to gather data for the voltage sensor I of the I on the isa bus at the address 0290 in case of the B option set to I. =item B I|I If no configuration if given, the B-plugin will collect data from all sensors. This may not be practical, especially for uninteresting sensors. Thus, you can use the B-option to pick the sensors you're interested in. Sometimes, however, it's easier/prefered to collect all sensors I a few ones. This option enables you to do that: By setting B to I the effect of B is inversed: All selected sensors are ignored and all other sensors are collected. back =back =head2 Plugin C =over 4 =item B I Select this interface. By default these interfaces will then be collected. For a more detailed description see B below. =item B I|I If no configuration if given, the B-plugin will collect data from all interfaces. This may not be practical, especially for loopback- and similar interfaces. Thus, you can use the B-option to pick the interfaces you're interested in. Sometimes, however, it's easier/prefered to collect all interfaces I a few ones. This option enables you to do that: By setting B to I the effect of B is inversed: All selected interfaces are ignored and all other interfaces are collected. =back =head1 SEE ALSO L =head1 AUTHOR Florian Forster Eocto@verplant.orgE =cut