=head1 NAME collectd.conf - Configuration for the system statistics collection daemon B =head1 SYNOPSIS BaseDir "/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 option is B, 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. Each line containes 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, (floating-point-)numbers or a boolean extression, i.Ee. either B or B. String containing of only alphanumeric characters and underscores do not need to be quoted. =head1 GLOBAL OPTIONS =over 4 =item B I 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 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. =item B I Sets the file to write debugging output to. This is only used if compiled with debugging enabled. It's ignored otherwise. =item B I 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. Please note that changing this value may render your RRD-files unuseable, if you use the C. You have been warned. =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 Select this irq. By default these irqs 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 irqs. This may not be practical, especially if no interrupts happen. Thus, you can use the B-option to pick the interupt you're interested in. Sometimes, however, it's easier/prefered to collect all interupts I a few ones. This option enables you to do that: By setting B to I the effect of B is inversed: All selected interupts are ignored and all other interupts are collected. =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 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 [I] =item B I [I] The B statement sets the server to send datagrams B. The statement may occur multiple times to send each datagram to multiple destinations. 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 default IPv6 multicast group and the default 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 =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 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 You can use the settings B, B, B, and B to finetune your RRD-files. Please read L 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 =item B I Set the directory to store RRD-files under. Per default RRD-files are generated beneath the daemon's working directory, i.Ee. the B. =item B I Sets the stepsize of newly created RRD-files. Ideally (and per default) this setting is identical to the global B-option and should not be smaller. If unsure, don't set this option. =item B I Sets the heartbeat of newly created RRD-files. Ideally (and per default) this setting is bigger than the B-setting. If unsure, don't set this option. =item B I The C calculates the number of PDPs per CDP based on the B, this setting and a timespan. This plugin creates RRD-files with three times five RRAs, i. e. five RRAs with the CFs B, B, and B. 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. =item B I Set the "XFiles Factor". This is mostly interesting if you set B bigger than B. If unsure, don't set this option. =item B I When the C uses a cache (by setting B, 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 is set, then the entire cache is searched for entries older than B seconds and written to disk every I 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 I If this option is set to a value greater than zero, the C 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 =over 4 =item B I Selects the name of the sensor which you want to collect or ignore, depending on the B below. For example, the option "B I" will cause collectd to gather data for the voltage sensor I of the I on the isa bus at the address 0290. =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 =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