X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.conf.pod;h=aa4421dc7e30bc8b25efcdae494bba8dd7e0bf09;hb=b2a7cb85e09f67cbaf114eb64bf736f3a24d9d55;hp=447870d7069b0792548cd97f2f84cc1042d8e261;hpb=36c6683fe0b8bb653339f3c854a18276344e4ac0;p=collectd.git diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index 447870d7..0df5c3b7 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -30,11 +30,17 @@ 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 expression, i.Ee. either B or B. String containing of only alphanumeric characters and underscores do -not need to be quoted. - -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. +not need to be quoted. Lines may be wrapped by using `\' as the last character +before the newline. This allows long lines to be split into multiple lines. +Quoted strings may be wrapped as well. However, those are treated special in +that whitespace at the beginning of the following lines will be ignored, which +allows for nicely indenting the wrapped lines. + +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 @@ -51,11 +57,26 @@ 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 +=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" -Includes the file I as if it was copy and pasted here. 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. +If more than one files are included by a single B option, the files +will be included in lexicographical order (as defined by the C +function). Thus, you can e.Eg. use numbered prefixes to specify the +order in which the files are loaded. + +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. @@ -70,9 +91,10 @@ setting using the B<-P> command-line option. 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 @@ -155,6 +177,19 @@ Optional user name needed for authentication. Optional password needed for authentication. +=item B B + +Enable or disable peer SSL certificate verification. See +L for details. Enabled by default. + +=item B B + +Enable or disable peer host name verification. If enabled, the plugin checks +if the C or a C field of the SSL +certificate matches the host name provided by the B option. If this +identity check fails, the connection is aborted. Obviously, only works when +connecting to a SSL enabled server. Enabled by default. + =item B I File that holds one or more SSL certificates. If you want to use HTTPS you will @@ -179,6 +214,49 @@ TCP-Port to connect to. Defaults to B<3551>. =back +=head2 Plugin C + +This plugin collects information about an Ascent server, a free server for the +"World of Warcraft" game. This plugin gathers the information by fetching the +XML status page using C and parses it using C. + +The configuration options are the same as for the C plugin above: + +=over 4 + +=item B I + +Sets the URL of the XML status output. + +=item B I + +Optional user name needed for authentication. + +=item B I + +Optional password needed for authentication. + +=item B B + +Enable or disable peer SSL certificate verification. See +L for details. Enabled by default. + +=item B B + +Enable or disable peer host name verification. If enabled, the plugin checks +if the C or a C field of the SSL +certificate matches the host name provided by the B option. If this +identity check fails, the connection is aborted. Obviously, only works when +connecting to a SSL enabled server. Enabled by default. + +=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 This plugin doesn't have any options. It reads @@ -229,6 +307,40 @@ at all, B partitions are selected. =back +=head2 Plugin C + +The C plugin collects information about the usage of physical disks and +logical disks (partitions). Values collected are the number of octets written +to and read from a disk or partition, the number of read/write operations +issued to the disk and a rather complex "time" it took for these commands to be +issued. + +Using the following two options you can ignore some disks or configure the +collection only of specific disks. + +=over 4 + +=item B I + +Select the disk I. Whether it is collected or ignored depends on the +B setting, see below. As with other plugins that use the +daemon's ignorelist functionality, a string that starts and ends with a slash +is interpreted as a regular expression. Examples: + + Disk "sdd" + Disk "/hda[34]/" + +=item B B|B + +Sets whether selected disks, i.Ee. the ones matches by any of the B +statements, are ignored or if all other disks are ignored. The behavior +(hopefully) is intuitive: If no B option is configured, all disks are +collected. If at least one B option is given and no B or +set to B, B matching disks will be collected. If B +is set to B, all disks are collected B the ones matched. + +=back + =head2 Plugin C =over 4 @@ -282,7 +394,9 @@ output that is expected from it. =over 4 -=item B I[:[I]] I +=item B I[:[I]] I [IargE> [IargE> ...]] + +=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. @@ -295,6 +409,88 @@ 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 + +=head2 Plugin C + +The C plugin counts the number of files in a certain directory (and +its subdirectories) and their combined size. The configuration is very straight +forward: + + + + Instance "qmail-message" + + + Instance "qmail-todo" + + + Instance "php5-sessions" + Name "sess_*" + + + +The example above counts the number of files in QMail's queue directories and +the number of PHP5 sessions. Jfiy: The "todo" queue holds the messages that +QMail has not yet looked at, the "message" queue holds the messages that were +classified into "local" and "remote". + +As you can see, the configuration consists of one or more C blocks, +each of which specifies a directory in which to count the files. Within those +blocks, the following options are recognized: + +=over 4 + +=item B I + +Sets the plugin instance to I. That instance name must be unique, but +it's your responsibility, the plugin doesn't check for that. If not given, the +instance is set to the directory name with all slashes replaced by underscores +and all leading underscores removed. + +=item B I + +Only count files that match I, where I is a shell-like +wildcard as understood by L. Only the B is checked +against the pattern, not the entire path. In case this makes it easier for you: +This option has been named after the B<-name> parameter to L. + +=item B I + +Count only files of a specific age: If I is greater than zero, only files +that haven't been touched in the last I seconds are counted. If I is +a negative number, this is inversed. For example, if B<-60> is specified, only +files that have been modified in the last minute will be counted. + +The number can also be followed by a "multiplier" to easily specify a larger +timespan. When given in this notation, the argument must in quoted, i.Ee. +must be passed as string. So the B<-60> could also be written as B<"-1m"> (one +minute). Valid multipliers are C (second), C (minute), C (hour), C +(day), C (week), and C (year). There is no "month" multiplier. You can +also specify fractional numbers, e.Eg. B<"0.5d"> is identical to +B<"12h">. + +=item B I + +Count only files of a specific size. When I is a positive number, only +files that are at least this big are counted. If I is a negative number, +this is inversed, i.Ee. only files smaller than the absolute value of +I are counted. + +As with the B option, a "multiplier" may be added. For a detailed +description see above. Valid multipliers here are C (byte), C (kilobyte), +C (megabyte), C (gigabyte), C (terabyte), and C

(petabyte). Please +note that there are 1000 bytes in a kilobyte, not 1024. + =back =head2 Plugin C @@ -318,6 +514,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 @@ -337,11 +540,43 @@ similar interfaces. Thus, you can use the B-option to pick the interfaces you're interested in. Sometimes, however, it's easier/preferred 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 +B is inverted: All selected interfaces are ignored and all other interfaces are collected. =back +=head2 Plugin C + +=over 4 + +=item B I + +Selects sensors to collect or to ignore, depending on B. + +=item B I|I + +If no configuration if given, the B plugin will collect data from all +sensors found of type "temperature", "voltage", "current" and "fanspeed". +This option enables you to do that: By setting B to I +the effect of B is inverted: All selected sensors are ignored and +all other sensors are collected. + +=item B I|I + +If a sensor appears after initialization time of a minute a notification +is sent. + +=item B I|I + +If a sensor disappears a notification is sent. + +=item B I|I + +If you have for example dual power supply and one of them is (un)plugged then +a notification is sent. + +=back + =head2 Plugin C =over 4 @@ -377,7 +612,7 @@ irqs. This may not be practical, especially if no interrupts happen. Thus, you can use the B-option to pick the interrupt you're interested in. Sometimes, however, it's easier/preferred to collect all interrupts I a few ones. This option enables you to do that: By setting B to -I the effect of B is inversed: All selected interrupts are ignored +I the effect of B is inverted: All selected interrupts are ignored and all other interrupts are collected. =back @@ -409,7 +644,8 @@ 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. +virtualization setup is static you might consider increasing this. If this +option is set to 0, refreshing is disabled completely. =item B I @@ -467,6 +703,9 @@ between, thus I<"foo:1234-1234-1234-1234">). 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 @@ -632,7 +871,7 @@ Here are some examples to help you understand the above text more easily: 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 +B to B, this behavior is inverted, i.Ee. the specified statistics will not be collected. =back @@ -719,6 +958,19 @@ Optional user name needed for authentication. Optional password needed for authentication. +=item B B + +Enable or disable peer SSL certificate verification. See +L for details. Enabled by default. + +=item B B + +Enable or disable peer host name verification. If enabled, the plugin checks +if the C or a C field of the SSL +certificate matches the host name provided by the B option. If this +identity check fails, the connection is aborted. Obviously, only works when +connecting to a SSL enabled server. Enabled by default. + =item B I File that holds one or more SSL certificates. If you want to use HTTPS you will @@ -727,6 +979,32 @@ and are checked by default depends on the distribution you use. =back +=head2 Plugin C + +This plugin sends a desktop notification to a notification daemon, as defined +in the Desktop Notification Specification. To actually display the +notifications, B is required and B has to be +able to access the X server. + +The Desktop Notification Specification can be found at +L. + +=over 4 + +=item B I + +=item B I + +=item B I + +Set the I, in milliseconds, after which to expire the notification +for C, C and C severities respectively. If zero has +been specified, the displayed notification will not be closed at all - the +user has to do so herself. These options default to 5000. If a negative number +has been specified, the default is used as well. + +=back + =head2 Plugin C =over 4 @@ -759,6 +1037,68 @@ L. =back +=head2 Plugin C + +B See notes below. + +The C plugin uses the B library from the B project +L to read sensors connected via the onewire bus. + +Currently only temperature sensors (sensors with the family code C<10>, +e.Eg. DS1820, DS18S20, DS1920) can be read. If you have other sensors you +would like to have included, please send a sort request to the mailing list. + +Hubs (the DS2409 chips) are working, but read the note, why this plugin is +experimental, below. + +=over 4 + +=item B I + +Sets the device to read the values from. This can either be a "real" hardware +device, such as a serial port or an USB port, or the address of the +L socket, usually B. + +Though the documentation claims to automatically recognize the given address +format, with versionE2.7p4 we had to specify the type explicitly. So +with that version, the following configuration worked for us: + + + Device "-s localhost:4304" + + +This directive is B and does not have a default value. + +=item B I + +Selects sensors to collect or to ignore, depending on B, see +below. Sensors are specified without the family byte at the beginning, to you'd +use C, and B include the leading C<10.> family byte and +point. + +=item B I|I + +If no configuration if given, the B plugin will collect data from all +sensors found. This may not be practical, especially if sensors are added and +removed regularly. Sometimes, however, it's easier/preferred to collect only +specific sensors or all sensors I a few specified ones. This option +enables you to do that: By setting B to I the effect of +B is inverted: All selected interfaces are ignored and all other +interfaces are collected. + +=back + +B The C plugin is experimental, because it doesn't yet +work with big setups. It works with one sensor being attached to one +controller, but as soon as you throw in a couple more senors and maybe a hub +or two, reading all values will take more than ten seconds (the default +interval). We will probably add some separate thread for reading the sensors +and some cache or something like that, but it's not done yet. We will try to +maintain backwards compatibility in the future, but we can't probmise. So in +short: If it works for you: Great! But kaap in mind that the config I +change, though this is unlikely. Oh, and if you want to help improving this +plugin, just send a short notice to the mailing list. ThanksE:) + =head2 Plugin C This plugin embeds a Perl-interpreter into collectd and provides an interface @@ -779,6 +1119,374 @@ Sets the Time-To-Live of generated ICMP packets. =back +=head2 Plugin C + +The C plugin queries statistics from PostgreSQL databases. It +keeps a persistent connection to all configured databases and tries to +reconnect if the connection has been interrupted. A database is configured by +specifying a B block as described below. The default statistics are +collected from PostgreSQL's B which thus has to be +enabled for this plugin to work correctly. This should usually be the case by +default. See the section "The Statistics Collector" of the B for details. + +By specifying custom database queries using a B block as described +below, you may collect any data that is available from some PostgreSQL +database. This way, you are able to access statistics of external daemons +which are available in a PostgreSQL database or use future or special +statistics provided by PostgreSQL without the need to upgrade your collectd +installation. + +The B manual can be found at +L. + + + + Query "SELECT magic, spells FROM wizard WHERE host = $1;" + Param hostname + Column gauge magic + Column counter spells + + + + Host "hostname" + Port "5432" + User "username" + Password "secret" + SSLMode "prefer" + KRBSrvName "kerberos_service_name" + Query magic + + + Service "service_name" + + + +The B block defines one database query which may later be used by a +database definition. It accepts a single mandatory argument which specifies +the name of the query. The names of all queries have to be unique. The +following configuration options are available to define the query: + +=over 4 + +=item B I + +Specify the I which the plugin should execute. The string may +contain the tokens B<$1>, B<$2>, etc. which are used to reference the first, +second, etc. parameter. The value of the parameters is specified by the +B configuration option - see below for details. To include a literal +B<$> character followed by a number, surround it with single quotes (B<'>). + +Any SQL command which may return data (such as C