X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.conf.pod;h=41597edd18ac0ca151670cc7dc88d8d6abf8a788;hb=aceb06f41f0a046983fa443c0452bbde546314cf;hp=32d877af2b8ba529f5b6b7285d4aba6daed0db7f;hpb=8f40e8dacad2bfcb9d659e12740aa3ebc15ada65;p=collectd.git diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index 32d877af..41597edd 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -501,12 +501,121 @@ 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. +=item B B|B + +Measure response time for the request. If this setting is enabled, B +blocks (see below) are optional. Disabled by default. + =item BMatchE> One or more B blocks that define how to match information in the data returned by C. The C plugin uses the same infrastructure that's used by the C plugin, so please see the documentation of the C -plugin below on how matches are defined. +plugin below on how matches are defined. If the B option +is set to B, B blocks are optional. + +=back + +=head2 Plugin C + +The B uses B (L) and +B (L) to retrieve JSON data +via cURL. This can be used to collect values from CouchDB documents (which are +stored JSON notation), for example. + +The following example will collect several values from the built-in `_stats' +runtime statistics module of CouchDB +(L). + + + + Instance "httpd" + + Type "http_requests" + + + + Type "http_request_methods" + + + + Type "http_response_codes" + + + + +Another CouchDB example: +The following example will collect the status values from each database: + + + Instance "dbs" + + Type "gauge" + + + Type "counter" + + + Type "bytes" + + + +In the B block, there may be one or more B blocks, each defining +a URL to be fetched via HTTP (using libcurl) and one or more B blocks. +The B string argument must be in a path format, of which is used to collect +a value from a JSON map object. If a B path element is that of a I<*> wildcard, +the values for all keys will be collectd. + +The following options are valid within B blocks: + +=over 4 + +=item B I + +Sets the plugin instance to I. + +=item B I + +Username to use if authorization is required to read the page. + +=item B I + +Password to use if authorization is required to read the page. + +=item B B|B + +Enable or disable peer SSL certificate verification. See +L for details. Enabled by default. + +=item B 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 + +The following options are valid within B blocks: + +=over 4 + +=item B I + +Sets the type used to dispatch the values to the daemon. Detailed information +about types and their configuration can be found in L. This +option is mandatory. + +=item B I + +Type-instance to use. Defaults to the current map key or current string array element value. =back @@ -763,13 +872,44 @@ Select partitions based on the mountpoint. Select partitions based on the filesystem type. -=item B I|I +=item B B|B 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 configured at all, B partitions are selected. +=item B B|B + +Report using the device name rather than the mountpoint. i.e. with this I, +(the default), it will report a disk as "root", but with it I, it will be +"sda1" (or whichever). + +=item B B|B + +When enabled, the blocks reserved for root are reported separately. When +disabled (the default for backwards compatibility reasons) the reserved space +will be included in the "free" space. + +When disabled, the "df" type will be used to store "free" and "used" space. The +mount point or disk name (see option B) is used as type +instance in this case (again: backwards compatibility). + +When enabled, the type "df_complex" is used and three files are created. The +mount point or disk name is used as plugin instance and the type instance is +set to "free", "reserved" and "used" as appropriate. + +Enabling this option is recommended. + +=item B B|B + +Enables or disables reporting of free, reserved and used inodes. Defaults to +inode collection being disabled. + +Enable this option if inodes are a scarce resource for you, usually because +many small files are stored on the disk. This is a usual scenario for mail +transfer agents and web caches. + =back =head2 Plugin C @@ -821,6 +961,10 @@ may not work on certain platforms, such as MacEOSEX. Ignore packets that originate from this address. +=item B B|B + +Enabled by default, collects unknown (and thus presented as numeric only) query types. + =back =head2 Plugin C @@ -962,6 +1106,11 @@ Controls whether or not to recurse into subdirectories. Enabled by default. =back +=head2 Plugin C + +The I is written in I and therefore documented in +L. + =head2 Plugin C The I plugin received the multicast traffic sent by B, the @@ -1522,6 +1671,463 @@ or SQL threads are not running. =back +=head2 Plugin C + +The netapp plugin can collect various performance and capacity informations +from a NetApp filer using the NetApp API. + +Please note that NetApp has a wide line of products and a lot of different +software versions for each of these products. This plugin was developed for a +NetApp FAS3040 running OnTap 7.2.3P8 and tested on FAS2050 7.3.1.1L1, +FAS3140 7.2.5.1 and FAS3020 7.2.4P9. It I work for most combinations of +model and software version but it is very hard to test this. +If you have used this plugin with other models and/or software version, feel +free to send us a mail to tell us about the results, even if it's just a short +"It works". + +To collect these data collectd will log in to the NetApp via HTTP(S) and HTTP +basic authentication. + +B Create a special collectd user with just +the minimum of capabilities needed. The user only needs the "login-http-admin" +capability as well as a few more depending on which data will be collected. +Required capabilities are documented below. + +=head3 Synopsis + + + + Protocol "https" + Address "10.0.0.1" + Port 443 + User "username" + Password "aef4Aebe" + Interval 30 + + + Interval 30 + GetNameCache true + GetDirCache true + GetBufferCache true + GetInodeCache true + + + + Interval 30 + GetBusy true + + + + Interval 30 + GetIO "volume0" + IgnoreSelectedIO false + GetOps "volume0" + IgnoreSelectedOps false + GetLatency "volume0" + IgnoreSelectedLatency false + + + + Interval 30 + GetCapacity "vol0" + GetCapacity "vol1" + IgnoreSelectedCapacity false + GetSnapshot "vol1" + GetSnapshot "vol3" + IgnoreSelectedSnapshot false + + + + Interval 30 + GetCPULoad true + GetInterfaces true + GetDiskOps true + GetDiskIO true + + + + +The netapp plugin accepts the following configuration options: + +=over 4 + +=item B I + +A host block defines one NetApp filer. It will appear in collectd with the name +you specify here which does not have to be its real name nor its hostname. + +=item B B|B + +The protocol collectd will use to query this host. + +Optional + +Type: string + +Default: https + +Valid options: http, https + +=item B
I
+ +The hostname or IP address of the host. + +Optional + +Type: string + +Default: The "host" block's name. + +=item B I + +The TCP port to connect to on the host. + +Optional + +Type: integer + +Default: 80 for protocol "http", 443 for protocol "https" + +=item B I + +=item B I + +The username and password to use to login to the NetApp. + +Mandatory + +Type: string + +=item B I + +B + +=back + +The following options decide what kind of data will be collected. You can +either use them as a block and fine tune various parameters inside this block, +use them as a single statement to just accept all default values, or omit it to +not collect any data. + +The following options are valid inside all blocks: + +=over 4 + +=item B I + +Collect the respective statistics every I seconds. Defaults to the +host specific setting. + +=back + +=head3 The System block + +This will collect various performance data about the whole system. + +B To get this data the collectd user needs the +"api-perf-object-get-instances" capability. + +=over 4 + +=item B I + +Collect disk statistics every I seconds. + +=item B B|B + +If you set this option to true the current CPU usage will be read. This will be +the average usage between all CPUs in your NetApp without any information about +individual CPUs. + +B These are the same values that the NetApp CLI command "sysstat" +returns in the "CPU" field. + +Optional + +Type: boolean + +Default: true + +Result: Two value lists of type "cpu", and type instances "idle" and "system". + +=item B B|B + +If you set this option to true the current traffic of the network interfaces +will be read. This will be the total traffic over all interfaces of your NetApp +without any information about individual interfaces. + +B This is the same values that the NetApp CLI command "sysstat" returns +in the "Net kB/s" field. + +B + +Optional + +Type: boolean + +Default: true + +Result: One value list of type "if_octects". + +=item B B|B + +If you set this option to true the current IO throughput will be read. This +will be the total IO of your NetApp without any information about individual +disks, volumes or aggregates. + +B This is the same values that the NetApp CLI command "sysstat" returns +in the "DiskEkB/s" field. + +Optional + +Type: boolean + +Default: true + +Result: One value list of type "disk_octets". + +=item B B|B + +If you set this option to true the current number of HTTP, NFS, CIFS, FCP, +iSCSI, etc. operations will be read. This will be the total number of +operations on your NetApp without any information about individual volumes or +aggregates. + +B These are the same values that the NetApp CLI command "sysstat" +returns in the "NFS", "CIFS", "HTTP", "FCP" and "iSCSI" fields. + +Optional + +Type: boolean + +Default: true + +Result: A variable number of value lists of type "disk_ops_complex". Each type +of operation will result in one value list with the name of the operation as +type instance. + +=back + +=head3 The WAFL block + +This will collect various performance data about the WAFL file system. At the +moment this just means cache performance. + +B To get this data the collectd user needs the +"api-perf-object-get-instances" capability. + +B The interface to get these values is classified as "Diagnostics" by +NetApp. This means that it is not guaranteed to be stable even between minor +releases. + +=over 4 + +=item B I + +Collect disk statistics every I seconds. + +=item B B|B + +Optional + +Type: boolean + +Default: true + +Result: One value list of type "cache_ratio" and type instance +"name_cache_hit". + +=item B B|B + +Optional + +Type: boolean + +Default: true + +Result: One value list of type "cache_ratio" and type instance "find_dir_hit". + +=item B B|B + +Optional + +Type: boolean + +Default: true + +Result: One value list of type "cache_ratio" and type instance +"inode_cache_hit". + +=item B B|B + +B This is the same value that the NetApp CLI command "sysstat" returns +in the "Cache hit" field. + +Optional + +Type: boolean + +Default: true + +Result: One value list of type "cache_ratio" and type instance "buf_hash_hit". + +=back + +=head3 The Disks block + +This will collect performance data about the individual disks in the NetApp. + +B To get this data the collectd user needs the +"api-perf-object-get-instances" capability. + +=over 4 + +=item B I + +Collect disk statistics every I seconds. + +=item B B|B + +If you set this option to true the busy time of all disks will be calculated +and the value of the busiest disk in the system will be written. + +B This is the same values that the NetApp CLI command "sysstat" returns +in the "Disk util" field. Probably. + +Optional + +Type: boolean + +Default: true + +Result: One value list of type "percent" and type instance "disk_busy". + +=back + +=head3 The VolumePerf block + +This will collect various performance data about the individual volumes. + +You can select which data to collect about which volume using the following +options. They follow the standard ignorelist semantic. + +B To get this data the collectd user needs the +I capability. + +=over 4 + +=item B I + +Collect volume performance data every I seconds. + +=item B I + +=item B I + +=item B I + +Select the given volume for IO, operations or latency statistics collection. +The argument is the name of the volume without the C prefix. + +Since the standard ignorelist functionality is used here, you can use a string +starting and ending with a slash to specify regular expression matching: To +match the volumes "vol0", "vol2" and "vol7", you can use this regular +expression: + + GetIO "/^vol[027]$/" + +If no regular expression is specified, an exact match is required. Both, +regular and exact matching are case sensitive. + +If no volume was specified at all for either of the three options, that data +will be collected for all available volumes. + +=item B B|B + +=item B B|B + +=item B B|B + +When set to B, the volumes selected for IO, operations or latency +statistics collection will be ignored and the data will be collected for all +other volumes. + +When set to B, data will only be collected for the specified volumes and +all other volumes will be ignored. + +If no volumes have been specified with the above B options, all volumes +will be collected regardless of the B option. + +Defaults to B + +=back + +=head3 The VolumeUsage block + +This will collect capacity data about the individual volumes. + +B To get this data the collectd user needs the I +capability. + +=over 4 + +=item B I + +Collect volume usage statistics every I seconds. + +=item B I + +The current capacity of the volume will be collected. This will result in two +to four value lists, depending on the configuration of the volume. All data +sources are of type "df_complex" with the name of the volume as +plugin_instance. + +There will be type_instances "used" and "free" for the number of used and +available bytes on the volume. If the volume has some space reserved for +snapshots, a type_instance "snap_reserved" will be available. If the volume +has SIS enabled, a type_instance "sis_saved" will be available. This is the +number of bytes saved by the SIS feature. + +B The current NetApp API has a bug that results in this value being +reported as a 32Ebit number. This plugin tries to guess the correct +number which works most of the time. If you see strange values here, bug +NetApp support to fix this. + +Repeat this option to specify multiple volumes. + +=item B B|B + +Specify whether to collect only the volumes selected by the B +option or to ignore those volumes. B defaults to +B. However, if no B option is specified at all, all +capacities will be selected anyway. + +=item B I + +Select volumes from which to collect snapshot information. + +Usually, the space used for snapshots is included in the space reported as +"used". If snapshot information is collected as well, the space used for +snapshots is subtracted from the used space. + +To make things even more interesting, it is possible to reserve space to be +used for snapshots. If the space required for snapshots is less than that +reserved space, there is "reserved free" and "reserved used" space in addition +to "free" and "used". If the space required for snapshots exceeds the reserved +space, that part allocated in the normal space is subtracted from the "used" +space again. + +Repeat this option to specify multiple volumes. + +=item B + +Specify whether to collect only the volumes selected by the B +option or to ignore those volumes. B defaults to +B. However, if no B option is specified at all, all +capacities will be selected anyway. + +=back + =head2 Plugin C The C plugin uses a netlink socket to query the Linux kernel about @@ -1722,6 +2328,11 @@ 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. +=item B I<1024-65535> + +Set the maximum size for datagrams received over the network. Packets larger +than this will be truncated. + =item B I If set to I, write packets that were received via the network plugin to @@ -1741,6 +2352,14 @@ normally doesn't do much, this value should not be too small. The default is 1800 seconds, but setting this to 86400 seconds (one day) will not do much harm either. +=item B B|B + +The network plugin cannot only receive and send statistics, it can also create +statistics about itself. Collected data included the number of received and +sent octets and packets, the length of the receive queue and the number of +values handled. When set to B, the I will make these +statistics available. Defaults to B. + =back =head2 Plugin C @@ -1902,6 +2521,55 @@ L. =back +=head2 Plugin C + +The I plugin connects to the TCP port opened by the I plugin of +the Optimized Link State Routing daemon and reads information about the current +state of the meshed network. + +The following configuration options are understood: + +=over 4 + +=item B I + +Connect to I. Defaults to B<"localhost">. + +=item B I + +Specifies the port to connect to. This must be a string, even if you give the +port as a number rather than a service name. Defaults to B<"2006">. + +=item B B|B|B + +Specifies what information to collect about links, i.Ee. direct +connections of the daemon queried. If set to B, no information is +collected. If set to B, the number of links and the average of all +I (LQ) and I (NLQ) values is calculated. +If set to B LQ and NLQ are collected per link. + +Defaults to B. + +=item B B|B|B + +Specifies what information to collect about routes of the daemon queried. If +set to B, no information is collected. If set to B, the number of +routes and the average I and I is calculated. If set to B +metric and ETX are collected per route. + +Defaults to B. + +=item B B|B|B + +Specifies what information to collect about the global topology. If set to +B, no information is collected. If set to B, the number of links +in the entire topology and the average I (LQ) is calculated. +If set to B LQ and NLQ are collected for each link in the entire topology. + +Defaults to B. + +=back + =head2 Plugin C B See notes below. @@ -1993,6 +2661,12 @@ Available options: Specifies the location of the status file. +=item B B|B + +Sets whether or not statistics about the compression used by OpenVPN should be +collected. This information is only available in I mode. Enabled by +default. + =back =head2 Plugin C @@ -2102,6 +2776,17 @@ Default: B<0.9> Sets the Time-To-Live of generated ICMP packets. +=item B I + +Sets the source address to use. I may either be a numerical network +address or a network hostname. + +=item B I + +Sets the outgoing network device to be used. I has to specify an +interface name (e.Eg. C). This might not be supported by all +operating systems. + =back =head2 Plugin C @@ -2578,7 +3263,7 @@ C/var/run/collectd-powerdns>. Select more detailed statistics of processes matching this name. The statistics collected for these selected processes are size of the resident segment size (RSS), user- and system-time used, number of processes and number of threads, -and minor and major pagefaults. +io data (where available) and minor and major pagefaults. =item B I I @@ -2624,6 +3309,71 @@ matching values will be ignored. =back +=head2 Plugin C + +This plugin embeds a Python-interpreter into collectd and provides an interface +to collectd's plugin system. See L for its documentation. + +=head2 Plugin C + +The C plugin connects to a device running I, the +Linux-based operating system for routers by I. The plugin uses +I to connect and reads information about the interfaces and +wireless connections of the device. The configuration supports querying +multiple routers: + + + + Host "router0.example.com" + User "collectd" + Password "secr3t" + CollectInterface true + + + Host "router1.example.com" + User "collectd" + Password "5ecret" + CollectInterface true + CollectRegistrationTable true + + + +As you can see above, the configuration of the I plugin consists of +one or more BRouterE> blocks. Within each block, the following +options are understood: + +=over 4 + +=item B I + +Hostname or IP-address of the router to connect to. + +=item B I + +Port name or port number used when connecting. If left unspecified, the default +will be chosen by I, currently "8728". This option expects a +string argument, even when a numeric port number is given. + +=item B I + +Use the user name I to authenticate. Defaults to "admin". + +=item B I + +Set the password used to authenticate. + +=item B B|B + +When set to B, interface statistics will be collected for all interfaces +present on the device. Defaults to B. + +=item B B|B + +When set to B, information about wireless LAN connections will be +collected. Defaults to B. + +=back + =head2 Plugin C The C plugin uses the RRDtool accelerator daemon, L, @@ -2775,6 +3525,14 @@ updates per second, writing all values to disk will take approximately "collection3" you'll end up with a responsive and fast system, up to date graphs and basically a "backup" of your values every hour. +=item B I + +When set, the actual timeout for each value is chosen randomly between +I-I and I+I. The +intention is to avoid high load situations that appear when many values timeout +at the same time. This is especially a problem shortly after the daemon starts, +because all values were added to the internal cache at roughly the same time. + =back =head2 Plugin C @@ -3163,6 +3921,26 @@ selection is configured at all, B devices are selected. =back +=head2 Plugin C + +The C connects to a TokyoTyrant server and collects a +couple metrics: number of records, and database size on disk. + +=over 4 + +=item B I + +The hostname or ip which identifies the server. +Default: B<127.0.0.1> + +=item B I + +The query port of the server. This needs to be a string, even if the port is +given in its numeric form. +Default: B<1978> + +=back + =head2 Plugin C =over 4 @@ -3259,6 +4037,64 @@ traffic (e.Eg. due to headers and retransmission). If you want to collect on-wire traffic you could, for example, use the logging facilities of iptables to feed data for the guest IPs into the iptables plugin. +=head2 Plugin C + +This output plugin submits values to an http server by POST them using the +PUTVAL plain-text protocol. Each destination you want to post data to needs to +have one B block, within which the destination can be configured further, +for example by specifying authentication data. + +Synopsis: + + + + User "collectd" + Password "weCh3ik0" + + + +B blocks need one string argument which is used as the URL to which data +is posted. The following options are understood within B blocks. + +=over 4 + +=item B I + +Optional user name needed for authentication. + +=item B I + +Optional password needed for authentication. + +=item B 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. + +=item B B|B + +Format of the output to generate. If set to B, will create output that +is understood by the I and I plugins. When set to B, will +create output in the I (JSON). + +Defaults to B. + +=back + =head1 THRESHOLD CONFIGURATION Starting with version C<4.3.0> collectd has support for B. By that @@ -3384,6 +4220,13 @@ 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. +=item B B|B + +If set to B, the minimum and maximum values given are interpreted as +percentage value, relative to the other data sources. This is helpful for +example for the "df" type, where you may want to issue a warning when less than +5E% of the total space is available. Defaults to B. + =back =head1 FILTER CONFIGURATION @@ -3877,6 +4720,90 @@ Example: Satisfy "Any" +=item B + +Matches all values with one or more data sources of type B and where +all counter values are zero. These counters usually I increased since +they started existing (and are therefore uninteresting), or got reset recently +or overflowed and you had really, I bad luck. + +Please keep in mind that ignoring such counters can result in confusing +behavior: Counters which hardly ever increase will be zero for long periods of +time. If the counter is reset for some reason (machine or service restarted, +usually), the graph will be empty (NAN) for a long time. People may not +understand why. + +=item B + +Calculates a hash value of the host name and matches values according to that +hash value. This makes it possible to divide all hosts into groups and match +only values that are in a specific group. The intended use is in load +balancing, where you want to handle only part of all data and leave the rest +for other servers. + +The hashing function used tries to distribute the hosts evenly. First, it +calculates a 32Ebit hash value using the characters of the hostname: + + hash_value = 0; + for (i = 0; host[i] != 0; i++) + hash_value = (hash_value * 251) + host[i]; + +The constant 251 is a prime number which is supposed to make this hash value +more random. The code then checks the group for this host according to the +I and I arguments: + + if ((hash_value % Total) == Match) + matches; + else + does not match; + +Please note that when you set I to two (i.Ee. you have only two +groups), then the least significant bit of the hash value will be the XOR of +all least significant bits in the host name. One consequence is that when you +have two hosts, "server0.example.com" and "server1.example.com", where the host +name differs in one digit only and the digits differ by one, those hosts will +never end up in the same group. + +Available options: + +=over 4 + +=item B I I + +Divide the data into I groups and match all hosts in group I as +described above. The groups are numbered from zero, i.Ee. I must +be smaller than I. I must be at least one, although only values +greater than one really do make any sense. + +You can repeat this option to match multiple groups, for example: + + Match 3 7 + Match 5 7 + +The above config will divide the data into seven groups and match groups three +and five. One use would be to keep every value on two hosts so that if one +fails the missing data can later be reconstructed from the second host. + +=back + +Example: + + # Operate on the pre-cache chain, so that ignored values are not even in the + # global cache. + + + + # Divide all received hosts in seven groups and accept all hosts in + # group three. + Match 3 7 + + # If matched: Return and continue. + Target "return" + + # If not matched: Return and stop. + Target "stop" + + =back =head2 Available targets