X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fcollectd.conf.pod;h=383dda6397c5e4e6c1b90d9c683e32137b179e4a;hb=89783745dc59079eab34e0c52de6e5e972f50eb2;hp=cd3fc40b3401d06d18e36c0525cedb5751fb00ca;hpb=bd66a09b35da21dcb405650ae4587bf2ca811438;p=collectd.git diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index cd3fc40b..383dda63 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -24,7 +24,7 @@ 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 +The syntax of this config file is similar to the config file of the famous B. 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, @@ -32,6 +32,12 @@ ignored. Values are either string, enclosed in double-quotes, B. String containing of only alphanumeric characters and underscores do not need to be quoted. +The configuration is read and processed in order, i.Ee. from top to +bottom. So the plugins are loaded in the order listed in this config file. It +is a good idea to load any logging plugins first in order to catch messages +from plugins during configuration. Also, the C option B occur +B the CPlugin ...E> block. + =head1 GLOBAL OPTIONS =over 4 @@ -47,38 +53,75 @@ directory for the daemon. Loads the plugin I. There must be at least one such line or B will be mostly useless. +=item B I + +If I points to a file, includes that file. If I points to a +directory, recursively includes all files within that directory and its +subdirectories. If the C function is available on your system, +shell-like wildcards are expanded before files are included. This means you can +use statements like the following: + + Include "/etc/collectd.d/*.conf" + +To prevent loops and shooting yourself in the foot in interesting ways the +nesting is limited to a depth of 8Elevels, which should be sufficient for +most uses. Since symlinks are followed it is still possible to crash the daemon +by looping symlinks. In our opinion significant stupidity should result in an +appropriate amount of pain. + +It is no problem to have a block like CPlugin fooE> in more than one +file, but you cannot include files from within blocks. + =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. +and deleted when the program is stopped. Some init-scripts might override this +setting using the B<-P> command-line option. =item B I Path to the plugins (shared objects) of collectd. -=item B I +=item B I [I ...] -Set the file that contains the data-set descriptions. +Set one or more files that contain the data-set descriptions. See +L for a description of the format of this file. =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 +values lead to a higher system load produced by collectd, while higher values lead to more coarse statistics. =item B I -Number of threads to start for reading plugins. The default value if B<5>, but +Number of threads to start for reading plugins. The default value is 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. +=item B I + +Sets the hostname that identifies a host. If you omit this setting, the +hostname will be determinded using the L system call. + +=item B B + +If B is determined automatically this setting controls whether or not +the daemon should try to figure out the "fully qualified domain name", FQDN. +This is done using a lookup of the name returned by C. + +Using this feature (i.Ee. setting this option to B) is recommended. +However, to preserve backwards compatibility the default is set to B. +The sample config file that is installed with Cinstall> includes a +line which sets this option, though, so that default installations will have +this setting enabled. + =back =head1 PLUGIN OPTIONS -Some Plugins may register own options. These options must be enclosed in a +Some plugins may register own options. These options must be enclosed in a C-Section. Which options exist depends on the plugin used. Some plugins require external configuration, too. The C, for example, required C to be configured in the webserver you're going to @@ -163,9 +206,15 @@ installed and an "cpu governor" (that's a kernel module) is loaded. =item B I -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.Ee. the B. +=item B B + +If set to B, convert counter values to rates. If set to B (the +default) counter values are stored as is, i.Ee. as an increasing integer +number. + =back =head2 Plugin C @@ -214,9 +263,13 @@ Ignore packets that originate from this address. =over 4 +=item B I + +Sets the socket-file which is to be created. + =item B I -If running as root change the group of the UNIX-socket after it has been +If running as root change the group of the UNIX-socket after it has been created. Defaults to B. =item B I @@ -242,9 +295,29 @@ output that is expected from it. =over 4 -=item B I I +=item B I[:[I]] I [IargE> [IargE> ...]] -Execute the executable I as user I. +=item B I[:[I]] I [IargE> [IargE> ...]] + +Execute the executable I as user I. If the user name is +followed by a colon and a group name, the effective group is set to that group. +The real group and saved-set group will be set to the default group of that +user. If no group is given the effective group ID will be the same as the real +group ID. + +Please note that in order to change the user and/or group the daemon needs +superuser privileges. If the daemon is run as an unprivileged user you must +specify the same user/group here. If the daemon is run with superuser +privileges, you must supply a non-root user here. + +The executable may be followed by optional arguments that are passed to the +program. Please note that due to the configuration parsing numbers and boolean +values may be changed. If you want to be absolutely sure that something is +passed as-is please enclose it in quotes. + +The B and B statements change the semantics of the +programs executed, i.Ee. the data passed to them and the response +expected from them. This is documented in great detail in L. =back @@ -269,6 +342,13 @@ Hostname to connect to. Defaults to B<127.0.0.1>. TCP-Port to connect to. Defaults to B<7634>. +=item B I|I + +If enabled, translate the disk names to major/minor device numbers +(e.Eg. "8-0" for /dev/sda). For backwards compatibility this defaults to +I but it's recommended to disable it as it will probably be removed in +the next major version. + =back =head2 Plugin C @@ -333,6 +413,83 @@ and all other interrupts are collected. =back +=head2 Plugin C + +This plugin allows CPU, disk and network load to be collected for virtualized +guests on the machine. This means that these characteristics can be collected +for guest systems without installing any software on them - collectd only runs +on the hosting system. The statistics are collected through libvirt +(L). + +Only I is required. + +=over 4 + +=item B I + +Connect to the hypervisor given by I. For example if using Xen use: + + Connection "xen:///" + +Details which URIs allowed are given at L. + +=item B I + +Refresh the list of domains and devices every I. The default is 60 +seconds. Setting this to be the same or smaller than the I 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. If this +option is set to 0, refreshing is disabled completely. + +=item B I + +=item B I + +=item B I + +=item B I|I + +Select which domains and devices are collected. + +If I is not given or I then only the listed domains and +disk/network devices are collected. + +If I is I then the test is reversed and the listed +domains and disk/network devices are ignored, while the rest are collected. + +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 collect statistics for all domains and all their devices. + +Example: + + BlockDevice "/:hdb/" + IgnoreSelected "true" + +Ignore all I devices on any domain, but other block devices (eg. I) +will be collected. + +=item B B + +When the libvirt plugin logs data, it sets the hostname of the collected data +according to this setting. The default is to use the guest name as provided by +the hypervisor, which is equal to setting B. + +B means use the guest's UUID. This is useful if you want to track the +same guest across migrations. + +B means to use the global B setting, which is probably not +useful on its own because all guests will appear to have the same name. + +You can also specify combinations of these fields. For example B +means to concatenate the guest name and UUID (with a literal colon character +between, thus I<"foo:1234-1234-1234-1234">). + +=back + =head2 Plugin C =over 4 @@ -342,6 +499,9 @@ and all other interrupts are collected. Sets the log-level. If, for example, set to B, then all events with severity B, B, or B will be written to the logfile. +Please note that B is only available if collectd has been compiled with +debugging support. + =item B I Sets the file to write log messages to. The special strings B and @@ -349,13 +509,17 @@ B 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 B|B + +Prefix all lines printed by the current time. Defaults to B. + =back =head2 Plugin C The C uses mbmon to retrieve temperature, voltage, etc. -Be default collectd connects to B (127.0.0.1), port B<411/tcp>. The +Be default collectd connects to B (127.0.0.1), port B<411/tcp>. The B and B options can be used to change these values, see below. C has to be running to work correctly. If C is not running timeouts may appear which may interfere with other statistics.. @@ -376,12 +540,30 @@ TCP-Port to connect to. Defaults to B<411>. =back +=head2 Plugin C + +The C connects to a memcached server and queries statistics +about cache utilization, memory and bandwidth used. +L + +=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<11211>. + +=back + =head2 Plugin C The C requires B 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 and evaluates C, C and C which correspond to F, @@ -413,6 +595,83 @@ option for what this plugin does. =back +=head2 Plugin C + +The C plugin uses a netlink socket to query the Linux kernel about +statistics of various interface and routing aspects. + +=over 4 + +=item B I + +=item B I + +Instruct the plugin to collect interface statistics. This is basically the same +as the statistics provided by the C plugin (see above) but +potentially much more detailed. + +When configuring with B only the basic statistics will be collected, +namely octets, packets, and errors. These statistics are collected by +the C plugin, too, so using both at the same time is no benefit. + +When configured with B all counters B the basic ones, +so that no data needs to be collected twice if you use the C plugin. +This includes dropped packets, received multicast packets, collisions and a +whole zoo of differentiated RX and TX errors. You can try the following command +to get an idea of what awaits you: + + ip -s -s link list + +If I is B, all interfaces will be selected. + +=item B I [I] + +=item B I [I] + +=item B I [I] + +Collect the octets and packets that pass a certain qdisc, class or filter. + +QDiscs and classes are identified by their type and handle (or classid). +Filters don't necessarily have a handle, therefore the parent's handle is used. +The notation used in collectd differs from that used in tc(1) in that it +doesn't skip the major or minor number if it's zero and doesn't print special +ids by their name. So, for example, a qdisc may be identified by +C even though the minor number of B qdiscs is zero and +thus not displayed by tc(1). + +If B, B, or B is given without the second argument, +i.E.e. without an identifier, all qdiscs, classes, or filters that are +associated with that interface will be collected. + +Since a filter itself doesn't necessarily have a handle, the parent's handle is +used. This may lead to problems when more than one filter is attached to a +qdisc or class. This isn't nice, but we don't know how this could be done any +better. If you have a idea, please don't hesitate to tell us. + +As with the B option you can specify B as the interface, +meaning all interfaces. + +Here are some examples to help you understand the above text more easily: + + + VerboseInterface "All" + QDisc "eth0" "pfifo_fast-1:0" + QDisc "ppp0" + Class "ppp0" "htb-1:10" + Filter "ppp0" "u32-1:0" + + +=item B + +The behaviour is the same as with all other similar plugins: If nothing is +selected at all, everything is collected. If some things are selected using the +options described above, only these statistics are collected. If you set +B to B, this behavior is inversed, i.Ee. the +specified statistics will not be collected. + +=back + =head2 Plugin C =over 4 @@ -470,6 +729,39 @@ either. =back +=head2 Plugin C + +This plugin collects the number of connections and requests handled by the +C (speak: engineEX), a HTTP and mail server/proxy. It +queries the page provided by the C module, which +isn't compiled by default. Please refer to +L for more information on +how to compile and configure nginx and this module. + +The following options are accepted by the C: + +=over 4 + +=item B I + +Sets the URL of the C output. + +=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 bundled with C +and are checked by default depends on the distribution you use. + +=back + =head2 Plugin C =over 4 @@ -482,6 +774,13 @@ Hostname of the host running B. Defaults to B. UDP-Port to connect to. Defaults to B<123>. +=item B B|B + +Sets wether or not to perform reverse lookups on peers. Since the name or +IP-address may be used in a filename it is recommended to disable reverse +lookups. The default is to do reverse lookups to preserve backwards +compatibility, though. + =back =head2 Plugin C @@ -497,24 +796,8 @@ L. =head2 Plugin C -=over 4 - -=item B I - -Loads the Perl plugin I. This does basically the same as B would -do in a Perl program. - -=item B I - -Prepends IB<::> to all plugin names loaded after this option. This is -provided for convenience to keep plugin names short. - -=item B I - -Adds I to the B<@INC> array. This is the same as using the B<-IDir> -command line option or B in the source code. - -=back +This plugin embeds a Perl-interpreter into collectd and provides an interface +to collectd's plugin system. See L for its documentation. =head2 Plugin C @@ -547,7 +830,7 @@ and minor and major pagefaults. =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 +fine-tune 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 safely ignore these settings. @@ -560,15 +843,18 @@ 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. +B 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, the +C or when the daemon is set up to receive data from other hosts. =item B I -Sets the heartbeat of newly created RRD-files. Ideally this setting is bigger -than the B-setting, by default it's twice the B-setting. If -unsure, don't set this option. +B the heartbeat of newly created RRD-files. This setting should be unset +in which case the heartbeat is set to twice the B 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 I @@ -615,7 +901,7 @@ normally do much harm either. 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 +The trade off is that the graphs kind of "drag behind" and that more memory is used. =back @@ -651,6 +937,12 @@ and all other sensors are collected. =back +=head2 Plugin C + +Since the configuration of the C is a little more complicated than +other plugins, its documentation has been moved to an own manpage, +L. Please see there for details. + =head2 Plugin C =over 4 @@ -661,6 +953,47 @@ Sets the log-level. If, for example, set to B, then all events with severity B, B, or B will be submitted to the syslog-daemon. +Please note that B is only available if collectd has been compiled with +debugging support. + +=back + +=head2 Plugin C + +The C 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 I|I + +If this option is set to I, statistics for all local ports for which a +listening socket exists are collected. The default depends on B and +B (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, i.Ee. only +the selected ports will be collected unless this option is set to I +specifically. + +=item B I + +Count the connections to a specific local port. This can be used to see how +many connections are handled by a specific daemon, e.Eg. 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 I + +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.Eg. 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 @@ -673,7 +1006,7 @@ Sets the socket-file which is to be created. =item B I -If running as root change the group of the UNIX-socket after it has been +If running as root change the group of the UNIX-socket after it has been created. Defaults to B. =item B I @@ -684,6 +1017,47 @@ L. Defaults to B<0770>. =back +=head2 Plugin C + +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: + +=over 4 + +=item + +Check I (or I). + +=item + +Check for UUID from HAL (L) if +present. + +=item + +Check for UUID from C / SMBIOS. + +=item + +Check for UUID from Xen hypervisor. + +=back + +If no UUID can be found then the hostname is not modified. + +=over 4 + +=item B I + +Take the UUID from the given file (default I). + +=back + =head2 Plugin C This plugin doesn't have any options. B support is only available for @@ -694,11 +1068,123 @@ the F filesystem that is required by this plugin. The B homepage can be found at L. +=head1 THRESHOLD CONFIGURATION + +Starting with version C<4.3.0> collectd has support for B. By that +we mean that the values are not only stored or sent somewhere, but that they +are judged and, if a problem is recognized, acted upon. The only action +collectd takes itself is to generate and dispatch a "notification". Plugins can +register to receive notifications and perform appropriate further actions. + +Since systems and what you expect them to do differ a lot, you can configure +B for your values freely. This gives you a lot of flexibility but +also a lot of responsibility. + +Every time a value is out of range a notification is dispatched. This means +that the idle percentage of your CPU needs to be less then the configured +threshold only once for a notification to be generated. There's no such thing +as a moving average or similar - at least not now. + +Also, all values that match a threshold are considered to be relevant or +"interesting". As a consequence collectd will issue a notification if they are +not received for twice the last timeout of the values. If, for example, some +hosts sends it's CPU statistics to the server every 60 seconds, a notification +will be dispatched after about 120 seconds. It may take a little longer because +the timeout is checked only once each B on the server. + +Here is a configuration example to get you started. Read below for more +information. + + + + WarningMin 0.00 + WarningMax 1000.00 + FailureMin 0.00 + FailureMax 1200.00 + Invert false + Instance "bar" + + + + Instance "eth0" + + FailureMax 10000000 + + + + + + Instance "idle" + FailureMin 10 + + + + + Instance "cached" + WarningMin 100000000 + + + + + +There are basically two types of configuration statements: The C, +C, and C blocks select the value for which a threshold should be +configured. The C and C blocks may be specified further using the +C option. You can combine the block by nesting the blocks, though +they must be nested in the above order, i.Ee. C may contain either +C and C blocks, C may only contain C blocks and +C may not contain other blocks. If multiple blocks apply to the same +value the most specific block is used. + +The other statements specify the threshold to configure. They B be +included in a C block. Currently the following statements are recognized: + +=over 4 + +=item B I + +=item B I + +Sets the upper bound of acceptable values. If unset defaults to positive +infinity. If a value is greater than B a B notification +will be created. If the value is greater than B but less than (or +equal to) B a B notification will be created. + +=item B I + +=item B I + +Sets the lower bound of acceptable values. If unset defaults to negative +infinity. If a value is less than B a B notification will +be created. If the value is less than B but greater than (or equal +to) B a B notification will be created. + +=item B B|B + +If set to B the range of acceptable values is inverted, i.Ee. +values between B and B (B and +B) are not okay. Defaults to B. + +=item B B|B + +Sets how often notifications are generated. If set to B one notification +will be generated for each value that is out of the acceptable range. If set to +B (the default) then a notification is only generated if a value is out +of range but the previous value was okay. + +This applies to missing values, too: If set to B a notification about a +missing value is generated once every B seconds. If set to B +only one such notification is generated until the value appears again. + +=back + =head1 SEE ALSO L, L, +L, L, +L, L, L, L,