X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.conf.pod;h=884298dc3f7bc07cbde2e8e26e8a8ac61d6a5aa7;hb=c71b8d22d731098030a81dd974f2f76ac7f7b32e;hp=4671ae13757777f87d8328e0b27e3391f21b08eb;hpb=06d0305ee967a12cb541dee87f79c31cac9d1b10;p=collectd.git diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index 4671ae13..884298dc 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -53,11 +53,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 -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 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" + +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. @@ -158,6 +173,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 @@ -182,6 +210,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 @@ -232,6 +303,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 @@ -285,7 +390,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. @@ -298,6 +405,15 @@ 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 @@ -321,6 +437,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 @@ -340,7 +463,7 @@ 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 @@ -380,7 +503,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 @@ -412,7 +535,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 @@ -638,7 +762,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 @@ -725,6 +849,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 @@ -733,6 +870,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 @@ -765,6 +928,46 @@ L. =back +=head2 Plugin C + +The C plugin uses the B library from the B project +L to read sensors connected via the onewire bus. + +=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" + + +=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 + =head2 Plugin C This plugin embeds a Perl-interpreter into collectd and provides an interface @@ -785,6 +988,243 @@ 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. The 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. + +The B manual can be found at +L. + + + + Host "hostname" + Port "5432" + User "username" + Password "secret" + SSLMode "prefer" + KRBSrvName "kerberos_service_name" + + + Service "service_name" + + + +=over 4 + +=item B block + +The B block defines one PostgreSQL database for which to collect +statistics. It accepts a single mandatory argument which specifies the +database name. None of the other options are required. PostgreSQL will use +default values as documented in the section "CONNECTING TO A DATABASE" in the +L manpage. However, be aware that those defaults may be influenced by +the user collectd is run as and special environment variables. See the manpage +for details. + +=item B I + +Specify the hostname or IP of the PostgreSQL server to connect to. If the +value begins with a slash, it is interpreted as the directory name in which to +look for the UNIX domain socket. + +This option is also used to determine the hostname that is associated with a +collected data set. If it has been omitted or either begins with with a slash +or equals B it will be replaced with the global hostname definition +of collectd. Any other value will be passed literally to collectd when +dispatching values. Also see the global B and B options. + +=item B I + +Specify the TCP port or the local UNIX domain socket file extension of the +server. + +=item B I + +Specify the username to be used when connecting to the server. + +=item B I + +Specify the password to be used when connecting to the server. + +=item B I|I|I|I + +Specify whether to use an SSL connection when contacting the server. The +following modes are supported: + +=over 4 + +=item I + +Do not use SSL at all. + +=item I + +First, try to connect without using SSL. If that fails, try using SSL. + +=item I (default) + +First, try to connect using SSL. If that fails, try without using SSL. + +=item I + +Use SSL only. + +=back + +=item B I + +Specify the Kerberos service name to use when authenticating with Kerberos 5 +or GSSAPI. See the sections "Kerberos authentication" and "GSSAPI" of the +B for details. + +=item B I + +Specify the PostgreSQL service name to use for additional parameters. That +service has to be defined in F and holds additional +connection parameters. See the section "The Connection Service File" in the +B for details. + +=back + +=head2 Plugin C + +The C plugin queries statistics from an authoritative PowerDNS +nameserver and/or a PowerDNS recursor. Since both offer a wide variety of +values, many of which are probably meaningless to most users, but may be useful +for some. So you may chose which values to collect, but if you don't, some +reasonable defaults will be collected. + + + + Collect "latency" + Collect "udp-answers" "udp-queries" + Socket "/var/run/pdns.controlsocket" + + + Collect "questions" + Collect "cache-hits" "cache-misses" + Socket "/var/run/pdns_recursor.controlsocket" + + LocalSocket "/opt/collectd/var/run/collectd-powerdns" + + +=over 4 + +=item B and B block + +The B block defines one authoritative server to query, the B +does the same for an recursing server. The possible options in both blocks are +the same, though. The argument defines a name for the serverE/ recursor +and is required. + +=over 4 + +=item B I + +Using the B statement you can select which values to collect. Here, +you specify the name of the values as used by the PowerDNS servers, e.Eg. +C, C. + +The method of getting the values differs for B and B blocks: +When querying the server a C command is issued in any case, because +that's the only way of getting multiple values out of the server at once. +collectd then picks out the values you have selected. When querying the +recursor, a command is generated to query exactly these values. So if you +specify invalid fields when querying the recursor, a syntax error may be +returned by the daemon and collectd may not collect any values at all. + +If no B statement is given, the following B values will be +collected: + +=over 4 + +=item latency + +=item packetcache-hit + +=item packetcache-miss + +=item packetcache-size + +=item query-cache-hit + +=item query-cache-miss + +=item recursing-answers + +=item recursing-questions + +=item tcp-answers + +=item tcp-queries + +=item udp-answers + +=item udp-queries + +=back + +The following B values will be collected by default: + +=over 4 + +=item noerror-answers + +=item nxdomain-answers + +=item servfail-answers + +=item sys-msec + +=item user-msec + +=item qa-latency + +=item cache-entries + +=item cache-hits + +=item cache-misses + +=item questions + +=back + +Please note that up to that point collectd doesn't know what values are +available on the server and values that are added do not need a change of the +mechanism so far. However, the values must be mapped to collectd's naming +scheme, which is done using a lookup table that lists all known values. If +values are added in the future and collectd does not know about them, you will +get an error much like this: + + powerdns plugin: submit: Not found in lookup table: foobar = 42 + +In this case please file a bug report with the collectd team. + +=item B I + +Configures the path to the UNIX domain socket to be used when connecting to the +daemon. By default C will be used for an +authoritative server and C will be used +for the recursor. + +=back + +=item B I + +Querying the recursor is done using UDP. When using UDP over UNIX domain +sockets, the client socket needs a name in the file system, too. You can set +this local name to I using the B option. The default is +C/var/run/collectd-powerdns>. + +=back + =head2 Plugin C =over 4 @@ -903,7 +1343,7 @@ 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/preferred 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 +I the effect of B is inverted: All selected sensors are ignored and all other sensors are collected. =back @@ -929,6 +1369,143 @@ debugging support. =back +=head2 Plugin C + +The C plugins follows logfiles, just like L does, parses +each line and dispatches found values. What is matched can be configured by the +user using (extended) regular expressions, as described in L. + + + + Instance "exim" + + Regex "S=([1-9][0-9]*)" + DSType "CounterAdd" + Type "ipt_bytes" + Instance "total" + + + Regex "\\" + DSType "CounterInc" + Type "email_count" + Instance "local_user" + + + + +The config consists of one or more B blocks, each of which configures one +logfile to parse. Within each B block, there are one or more B +blocks, which configure a regular expression to search for. + +The B option in the B block may be used to set the plugin +instance. So in the above example the plugin name C would be used. +This plugin instance is for all B blocks that B it, until the +next B option. This way you can extract several plugin instances from +one logfile, handy when parsing syslog and the like. + +Each B block has the following options to describe how the match should +be performed: + +=over 4 + +=item B I + +Sets the regular expression to use for matching against a line. The first +subexpression has to match something that can be turned into a number by +L or L, depending on the value of C, see +below. Because B regular expressions are used, you do not need to use +backslashes for subexpressions! If in doubt, please consult L. Due to +collectd's config parsing you need to escape backslashes, though. So if you +want to match literal parentheses you need to do the following: + + Regex "SPAM \\(Score: (-?[0-9]+\\.[0-9]+)\\)" + +=item B I + +Sets how the values are cumulated. I is one of: + +=over 4 + +=item B + +Calculate the average. + +=item B + +Use the smallest number only. + +=item B + +Use the greatest number only. + +=item B + +Use the last number found. + +=item B + +The matched number is a counter. Simply sets the internal counter to this +value. + +=item B + +Add the matched value to the internal counter. + +=item B + +Increase the internal counter by one. This B is the only one that does +not use the matched subexpression, but simply counts the number of matched +lines. Thus, you may use a regular expression without submatch in this case. + +=back + +As you'd expect the B types interpret the submatch as a floating point +number, using L. The B and B interpret the +submatch as an integer using L. B does not use the +submatch at all and it may be omitted in this case. + +=item B I + +Sets the type used to dispatch this value. Detailed information about types and +their configuration can be found in L. + +=item B I + +This optional setting sets the type instance to use. + +=back + +=head2 Plugin C + +The C connects to the query port of a teamspeak2 server and +polls interesting global and virtual server data. The plugin can query only one +physical server but unlimited virtual servers. You can use the following +options to configure it: + +=over 4 + +=item B I + +The hostname or ip which identifies the physical server. +Default: 127.0.0.1 + +=item B I + +The query port of the physical server. This needs to be a string. +Default: "51234" + +=item B I + +This option has to be added once for every virtual server the plugin should +query. If you want to query the virtual server on port 8767 this is what the +option would look like: + + Server "8767" + +This option, although numeric, needs to be a string, i.Ee. you B +use quotes around it! If no such statement is given only global information +will be collected. + =head2 Plugin C The C counts the number of currently established TCP @@ -939,6 +1516,8 @@ fine-tune the ports you are interested in: =over 4 +=back + =item B I|I If this option is set to I, statistics for all local ports for which a @@ -967,6 +1546,32 @@ port in numeric form. =back +=head2 Plugin C + +=over 4 + +=item B I|I + +By default, the C plugin tries to read the statistics from the Linux +C interface. If that is not available, the plugin falls back to the +C interface. By setting this option to I, you can force the +plugin to use the latter. This option defaults to I. + +=item B I + +Selects the name of the thermal device that you want to collect or ignore, +depending on the value of the B option. This option may be +used multiple times to specify a list of devices. + +=item B I|I + +Invert the selection: If set to true, all devices B the ones that +match the device names specified by the B option are collected. By +default only selected devices are collected if a selection is made. If no +selection is configured at all, B devices are selected. + +=back + =head2 Plugin C =over 4 @@ -1029,6 +1634,24 @@ Take the UUID from the given file (default I). =back +=head2 Plugin C + +The C plugin collects information about the usage of virtual memory. +Since the statistics provided by the Linux kernel are very detailed, they are +collected very detailed. However, to get all the details, you have to switch +them on manually. Most people just want an overview over, such as the number of +pages read from swap space. + +=over 4 + +=item B B|B + +Enables verbose collection of information. This will start collecting page +"actions", e.Eg. page allocations, (de)activations, steals and so on. +Part of these statistics are collected on a "per zone" basis. + +=back + =head2 Plugin C This plugin doesn't have any options. B support is only available for @@ -1068,8 +1691,10 @@ information. - Min 0.00 - Max 1000.00 + WarningMin 0.00 + WarningMax 1000.00 + FailureMin 0.00 + FailureMax 1200.00 Invert false Instance "bar" @@ -1077,20 +1702,21 @@ information. Instance "eth0" - Max 10000000 + FailureMax 10000000 + DataSource "rx" Instance "idle" - Min 10 + FailureMin 10 Instance "cached" - Min 100000000 + WarningMin 100000000 @@ -1110,21 +1736,42 @@ included in a C block. Currently the following statements are recognized: =over 4 -=item B I +=item B I + +=item B I Sets the upper bound of acceptable values. If unset defaults to positive -infinity. +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 +=item B I Sets the lower bound of acceptable values. If unset defaults to negative -infinity. +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 I + +Some data sets have more than one "data source". Interesting examples are the +C data set, which has received (C) and sent (C) bytes and +the C data set, which holds C and C operations. The +system load data set, C, even has three data sources: C, +C, and C. + +Normally, all data sources are checked against a configured threshold. If this +is undesirable, or if you want to specify different limits for each data +source, you can use the B option to have a threshold apply only to +one data source. =item B B|B If set to B the range of acceptable values is inverted, i.Ee. -values between B and B are not okay. Defaults, of course, to -B. +values between B and B (B and +B) are not okay. Defaults to B. =item B B|B @@ -1149,6 +1796,7 @@ L, L, L, L, +L, L, L