X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.conf.pod;h=14222c63adfc8ecf383c4ad10f5ef76c52730764;hb=a18a9abda421484791f8eaac270794903f1438be;hp=80ba758b5123366a9774c3e883e58ceae8e79863;hpb=1ecde57a53fc7c50e6b0139ad745b868413d420c;p=collectd.git diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index 80ba758b..800c0d22 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -530,9 +530,9 @@ are disabled by default. =head2 Plugin C The I can be used to communicate with other instances of -I or third party applications using an AMQP message broker. Values -are sent to or received from the broker, which handles routing, queueing and -possibly filtering out messages. +I or third party applications using an AMQP 0.9.1 message broker. +Values are sent to or received from the broker, which handles routing, +queueing and possibly filtering out messages. B @@ -738,6 +738,171 @@ is preserved, i.e. passed through. =back +=head2 Plugin C + +The I can be used to communicate with other instances of +I or third party applications using an AMQP 1.0 message +intermediary. Metric values or notifications are sent to the +messaging intermediary which may handle direct messaging or +queue based transfer. + +B + + + # Send values to an AMQP 1.0 intermediary + + Host "localhost" + Port "5672" + User "guest" + Password "guest" + Address "collectd" +# RetryDelay 1 + + Format "command" + PreSettle false + Notify false + # StoreRates false + # GraphitePrefix "collectd." + # GraphiteEscapeChar "_" + # GraphiteSeparateInstances false + # GraphiteAlwaysAppendDS false + # GraphitePreserveSeparator false + + + + +The plugin's configuration consists of a I that configures +communications to the AMQP 1.0 messaging bus and one or more I +corresponding to metric or event publishers to the messaging system. + +The address in the I block concatenated with the name given in the +I block starting tag will be used as the send-to address for +communications over the messaging link. + +The following options are accepted within each I block: + +=over 4 + +=item B I + +Hostname or IP-address of the AMQP 1.0 intermediary. Defaults to the +default behavior of the underlying communications library, +I, which is "localhost". + +=item B I + +Service name or port number on which the AMQP 1.0 intermediary accepts +connections. This argument must be a string, even if the numeric form +is used. Defaults to "5672". + +=item B I + +=item B I + +Credentials used to authenticate to the AMQP 1.0 intermediary. By +default "guest"/"guest" is used. + +=item B
I
+ +This option specifies the prefix for the send-to value in the message. +By default, "collectd" will be used. + +=item B I + +When the AMQP1 connection is lost, defines the time in seconds to wait +before attempting to reconnect. Defaults to 1, which implies attempt +to reconnect at 1 second intervals. + +=back + +The following options are accepted within each I block: + +=over 4 + +=item B B|B|B + +Selects the format in which messages are sent to the intermediary. If set to +B (the default), values are sent as C commands which are +identical to the syntax used by the I and I. In this +case, the C header field will be set to C. + +If set to B, the values are encoded in the I, +an easy and straight forward exchange format. The C header field +will be set to C. + +If set to B, values are encoded in the I format, which is +" \n". The C header field will be set to +C. + +A subscribing client I use the C header field to +determine how to decode the values. + +=item B B|B + +If set to B (the default), the plugin will wait for a message +acknowledgement from the messaging bus before sending the next +message. This indicates transfer of ownership to the messaging +system. If set to B, the plugin will not wait for a message +acknowledgement and the message may be dropped prior to transfer of +ownership. + +=item B B|B + +If set to B (the default), the plugin will service the +instance write call back as a value list. If set to B the +plugin will service the instance as a write notification callback +for alert formatting. + +=item B B|B + +Determines whether or not C, C and C data sources +are converted to a I (i.e. a C value). If set to B (the +default), no conversion is performed. Otherwise the conversion is performed +using the internal value cache. + +Please note that currently this option is only used if the B option has +been set to B. + +=item B + +A prefix can be added in the metric name when outputting in the I format. +It's added before the I name. +Metric name will be "" + +=item B + +A postfix can be added in the metric name when outputting in the I format. +It's added after the I name. +Metric name will be "" + +=item B + +Specify a character to replace dots (.) in the host part of the metric name. +In I metric name, dots are used as separators between different +metric parts (host, plugin, type). +Default is "_" (I). + +=item B B|B + +If set to B, the plugin instance and type instance will be in their own +path component, for example C. If set to B (the +default), the plugin and plugin instance (and likewise the type and type +instance) are put into one component, for example C. + +=item B B|B + +If set to B, append the name of the I (DS) to the "metric" +identifier. If set to B (the default), this is only done when there is +more than one DS. + +=item B B|B + +If set to B (the default) the C<.> (dot) character is replaced with +I. Otherwise, if set to B, the C<.> (dot) character +is preserved, i.e. passed through. + +=back + =head2 Plugin C To configure the C-plugin you first need to configure the Apache @@ -1474,16 +1639,42 @@ in the un-aggregated (per-CPU, per-state) mode as well. When set to B, reports the number of available CPUs. Defaults to B. +=item B B|B + +When set to B, reports the "guest" and "guest_nice" CPU states. +Defaults to B. + +=item B B|B + +This option is only considered when B is set to B. +"guest" and "guest_nice" are included in respectively "user" and "nice". +If set to B, "guest" will be subtracted from "user" and "guest_nice" +will be subtracted from "nice". +Defaults to B. + =back =head2 Plugin C -This plugin doesn't have any options. It reads +This plugin is available on Linux and FreeBSD only. It doesn't have any +options. On Linux it reads F (for the first CPU installed) to get the current CPU frequency. If this file does not exist make sure B (L) or a similar tool is installed and an "cpu governor" (that's a kernel module) is loaded. +On Linux, if the system has the I kernel module loaded, this +plugin reports the rate of p-state (cpu frequency) transitions and the +percentage of time spent in each p-state. + +On FreeBSD it does a sysctl dev.cpu.0.freq and submits this as instance 0. +At this time FreeBSD only has one frequency setting for all cores. +See the BUGS section in the FreeBSD man page for cpufreq(4) for more details. + +On FreeBSD the plugin checks the success of sysctl dev.cpu.0.freq and +unregisters the plugin when this fails. A message will be logged to indicate +this. + =head2 Plugin C This plugin doesn't have any options. It reads CLOCK_BOOTTIME and @@ -1611,6 +1802,7 @@ finance page and dispatch the value to collectd. + Plugin "quotes" URL "http://finance.google.com/finance?q=NYSE%3AAMD" User "foo" Password "bar" @@ -1642,6 +1834,11 @@ The following options are valid within B blocks: =over 4 +=item B I + +Use I as the plugin name when submitting values. +Defaults to C. + =item B I URL of the web site to retrieve. Since a regular expression will be used to @@ -1724,6 +1921,11 @@ plugin below on how matches are defined. If the B or B options are set to B, B blocks are optional. +=item B I + +Sets the interval (in seconds) in which the values will be collected from this +URL. By default the global B setting will be used. + =item B I The B option sets the overall timeout for HTTP requests to B, in @@ -1802,6 +2004,11 @@ The following options are valid within B blocks: Use I as the host name when submitting values. Defaults to the global host name setting. +=item B I + +Use I as the plugin name when submitting values. +Defaults to C. + =item B I Sets the plugin instance to I. @@ -1864,6 +2071,7 @@ The B uses B (L) and B Host "my_host" + #Plugin "curl_xml" Instance "some_instance" User "collectd" Password "thaiNg0I" @@ -1877,6 +2085,7 @@ The B uses B (L) and B Type "magic_level" #InstancePrefix "prefix-" InstanceFrom "td[1]" + #PluginInstanceFrom "td[1]" ValuesFrom "td[2]/span[@class=\"level\"]" @@ -1902,10 +2111,21 @@ Within the B block the following options are accepted: Use I as the host name when submitting values. Defaults to the global host name setting. +=item B I + +Use I as the plugin name when submitting values. +Defaults to 'curl_xml'. + =item B I -Use I as the plugin instance when submitting values. Defaults to an -empty string (no plugin instance). +Use I as the plugin instance when submitting values. +May be overridden by B option inside B blocks. +Defaults to an empty string (no plugin instance). + +=item B I + +Sets the interval (in seconds) in which the values will be collected from this +URL. By default the global B setting will be used. =item B I I @@ -1976,9 +2196,19 @@ Specifies a XPath expression to use for determining the I. The XPath expression must return exactly one element. The element's value is then used as I, possibly prefixed with I (see above). -This value is required. As a special exception, if the "base XPath expression" -(the argument to the B block) returns exactly one argument, then this -option may be omitted. +=item B I + +Specifies a XPath expression to use for determining the I. The +XPath expression must return exactly one element. The element's value is then +used as I. + +=back + +If the "base XPath expression" (the argument to the B block) returns +exactly one argument, then I and I may be omitted. +Otherwise, at least one of I or I is required. + +=over 4 =item B I [I ...] @@ -1987,6 +2217,7 @@ number of XPath expressions must match the number of data sources in the I specified with B (see above). Each XPath expression must return exactly one element. The element's value is then parsed as a number and used as value for the appropriate value in the value list dispatched to the daemon. +This option is required. =back @@ -2017,6 +2248,7 @@ than those of other plugins. It usually looks something like this: + #Plugin "warehouse" Driver "mysql" Interval 120 DriverOption "host" "localhost" @@ -2198,6 +2430,11 @@ the daemon. Other than that, that name is not used. =over 4 +=item B I + +Use I as the plugin name when submitting query results from +this B. Defaults to C. + =item B I Sets the interval (in seconds) in which the values will be collected from this @@ -2523,6 +2760,8 @@ B MemoryChannels "4" FilePrefix "rte" SocketMemory "1024" + LogLevel "7" + RteDriverLibPath "/usr/lib/dpdk-pmd" SharedMemObj "dpdk_collectd_stats_0" EnabledPortMask 0xffff @@ -2555,6 +2794,20 @@ The prefix text used for hugepage filenames. The filename will be set to A string containing amount of Memory to allocate from hugepages on specific sockets in MB. This is an optional value. +=item B I + +A string containing log level number. This parameter is optional. +If parameter is not present then default value "7" - (INFO) is used. +Value "8" - (DEBUG) can be set to enable debug traces. + +=item B I + +A string containing path to shared pmd driver lib or path to directory, +where shared pmd driver libs are available. This parameter is optional. +This parameter enable loading of shared pmd driver libs from defined path. +E.g.: "/usr/lib/dpdk-pmd/librte_pmd_i40e.so" +or "/usr/lib/dpdk-pmd" + =back =over 3 @@ -2730,12 +2983,16 @@ blocks, the following options are recognized: =over 4 +=item B I + +Use I as the plugin name when submitting values. +Defaults to B. + =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. +Sets the plugin instance to I. If not given, the instance is set to +the directory name with all slashes replaced by underscores and all leading +underscores removed. Empty value is allowed. =item B I @@ -2781,6 +3038,26 @@ Controls whether or not to include "hidden" files and directories in the count. "Hidden" files and directories are those, whose name begins with a dot. Defaults to I, i.e. by default hidden files and directories are ignored. +=item B I|I + +Controls whether or not to include only regular files in the count. +Defaults to I, i.e. by default non regular files are ignored. + +=item B I + +Sets the type used to dispatch files combined size. Empty value ("") disables +reporting. Defaults to B. + +=item B I + +Sets the type used to dispatch number of files. Empty value ("") disables +reporting. Defaults to B. + +=item B I + +Sets the I used to dispatch values. Defaults to an empty string +(no plugin instance). + =back =head2 Plugin C @@ -2942,6 +3219,30 @@ Pause to apply between attempts of connection to gpsd in seconds (default 5 sec) =back +=head2 Plugin C + +Efficiently collects various statistics from the system's NVIDIA GPUs using the +NVML library. Currently collected are fan speed, core temperature, percent +load, percent memory used, compute and memory frequencies, and power +consumption. + +=over 4 + +=item B + +If one or more of these options is specified, only GPUs at that index (as +determined by nvidia-utils through I) have statistics collected. +If no instance of this option is specified, all GPUs are monitored. + +=item B + +If set to true, all detected GPUs B the ones at indices specified by +B entries are collected. For greater clarity, setting IgnoreSelected +without any GPUIndex directives will result in B statistics being +collected. + +=back + =head2 Plugin C The I plugin provides an RPC interface to submit values to or query @@ -3005,6 +3306,13 @@ Whether to enable SSL for incoming connections. Default: false. Filenames specifying SSL certificate and key material to be used with SSL connections. +=item B B|B + +When enabled, a valid client certificate is required to connect to the server. +When disabled, a client certifiacte is not requested and any unsolicited client +certificate is accepted. +Enabled by default. + =back =back @@ -3086,6 +3394,7 @@ B ReportSoftwareEvents true EventList "/var/cache/pmu/GenuineIntel-6-2D-core.json" HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD" + Cores "0-3" "4,6" "[12-15]" B @@ -3157,6 +3466,23 @@ event_download.py script to download event list for current CPU. This field is a list of event names or groups of comma separated event names. This option requires B option to be configured. +=item B I + +All events are reported on a per core basis. Monitoring of the events can be +configured for a group of cores (aggregated statistics). This field defines +groups of cores on which to monitor supported events. The field is represented +as list of strings with core group values. Each string represents a list of +cores in a group. If a group is enclosed in square brackets each core is added +individually to a separate group (that is statistics are not aggregated). +Allowed formats are: + 0,1,2,3 + 0-10,20-18 + 1,3,5-8,10,0x10-12 + [4-15,32-63] + +If an empty string is provided as value for this field default cores +configuration is applied - that is separate group is created for each core. + =back =head2 Plugin C @@ -3181,6 +3507,7 @@ B Cores "0-2" "3,4,6" "8-10,15" + Processes "sshd,qemu-system-x86" "bash" B @@ -3196,11 +3523,10 @@ recommended to set interval higher than 1 sec. =item B I -All events are reported on a per core basis. Monitoring of the events can be -configured for group of cores (aggregated statistics). This field defines groups -of cores on which to monitor supported events. The field is represented as list -of strings with core group values. Each string represents a list of cores in a -group. Allowed formats are: +Monitoring of the events can be configured for group of cores +(aggregated statistics). This field defines groups of cores on which to monitor +supported events. The field is represented as list of strings with core group +values. Each string represents a list of cores in a group. Allowed formats are: 0,1,2,3 0-10,20-18 1,3,5-8,10,0x10-12 @@ -3208,6 +3534,15 @@ group. Allowed formats are: If an empty string is provided as value for this field default cores configuration is applied - a separate group is created for each core. +=item B I + +Monitoring of the events can be configured for group of processes +(aggregated statistics). This field defines groups of processes on which to +monitor supported events. The field is represented as list of strings with +process names group values. Each string represents a list of processes in a +group. Allowed format is: + sshd,bash,qemu + =back B By default global interval is used to retrieve statistics on monitored @@ -3283,8 +3618,43 @@ This option is only available on Solaris. =head2 Plugin C +The B allows to monitor server platform status using the Intelligent +Platform Management Interface (IPMI). Local and remote interfaces are supported. + +The plugin configuration consists of one or more B blocks which +specify one I connection each. Each block requires one unique string +argument as the instance name. If instances are not configured, an instance with +the default option values will be created. + +For backwards compatibility, any option other than B block will trigger +legacy config handling and it will be treated as an option within B +block. This support will go away in the next major version of Collectd. + +Within the B blocks, the following options are allowed: + =over 4 +=item B
I
+ +Hostname or IP to connect to. If not specified, plugin will try to connect to +local management controller (BMC). + +=item B I + +=item B I + +The username and the password to use for the connection to remote BMC. + +=item B I|I + +Forces the authentication type to use for the connection to remote BMC. +By default most secure type is seleted. + +=item B I + +Sets the B field of dispatched values. Defaults to the global hostname +setting. + =item B I Selects sensors to collect or to ignore, depending on B. @@ -3313,6 +3683,39 @@ If a sensor disappears a notification is sent. If you have for example dual power supply and one of them is (un)plugged then a notification is sent. +=item B I|I + +If a IPMI connection state changes after initialization time of a minute +a notification is sent. Defaults to B. + +=item B I|I + +If system event log (SEL) is enabled, plugin will listen for sensor threshold +and discrete events. When event is received the notification is sent. +SEL event filtering can be configured using B and B +config options. +Defaults to B. + +=item B I + +Selects sensors to get events from or to ignore, depending on B. + +See F for details. + +=item B I|I + +If no configuration is given, the B plugin will pass events from all +sensors. This option enables you to do that: By setting B +to I the effect of B is inverted: All events from selected +sensors are ignored and all events from other sensors are passed. + +=item B I|I + +If SEL clear event is enabled, plugin will delete event from SEL list after +it is received and successfully handled. In this case other tools that are +subscribed for SEL events will receive an empty event. +Defaults to B. + =back =head2 Plugin C @@ -3641,6 +4044,7 @@ Synopsis of the configuration: Server "localhost" Key "page_key" + Plugin "plugin_name" Regex "(\\d+) bytes sent" DSType CounterAdd @@ -3668,6 +4072,11 @@ B block. When connected to the memcached server, asks for the page I. +=item B I + +Use I as the plugin name when submitting values. +Defaults to C. + =item EBE Match blocks define which strings to look for and how matches substrings are @@ -3904,8 +4313,9 @@ which the sizes of physical memory vary. The B connects to a Modbus "slave" via Modbus/TCP or Modbus/RTU and reads register values. It supports reading single registers (unsigned 16Ebit -values), large integer values (unsigned 32Ebit values) and floating point -values (two registers interpreted as IEEE floats in big endian notation). +values), large integer values (unsigned 32Ebit and 64Ebit values) and +floating point values (two registers interpreted as IEEE floats in big endian +notation). B @@ -3915,6 +4325,8 @@ B RegisterCmd ReadHolding Type voltage Instance "input-1" + #Scale 1.0 + #Shift 0.0 @@ -3973,11 +4385,22 @@ Configures the base register to read from the device. If the option B has been set to B or B, this and the next register will be read (the register number is increased by one). -=item B B|B|B|B|B - -Specifies what kind of data is returned by the device. If the type is B, -B or B, two 16Ebit registers will be read and the data is -combined into one value. Defaults to B. +=item B B|B|B|B|B|B|B|B|B|B + +Specifies what kind of data is returned by the device. This defaults to +B. If the type is B, B, B, B, +B or B, two 16Ebit registers at B +and B will be read and the data is combined into one +32Evalue. For B, B and B the most significant +16Ebits are in the register at B and the least +significant 16Ebits are in the register at B. +For B, B, or B, the high and low order +registers are swapped with the most significant 16Ebits in +the B and the least significant 16Ebits in +B. If the type is B or B, four 16Ebit +registers at B, B, B and +B will be read and the data combined into one +64Evalue. =item B B|B @@ -3992,9 +4415,19 @@ supported. =item B I -Sets the type instance to use when dispatching the value to I. If +Sets the type instance to use when dispatching the value to I. If unset, an empty string (no type instance) is used. +=item B I + +The values taken from device are multiplied by I. The field is optional +and the default is B<1.0>. + +=item B I + +I is added to values from device after they have been multiplied by +B value. The field is optional and the default value is B<0.0>. + =back =item EB IE blocks @@ -4029,6 +4462,12 @@ For Modbus/RTU, specifies the path to the serial device being used. For Modbus/RTU, specifies the baud rate of the serial device. Note, connections currently support only 8/N/1. +=item B I + +For Modbus/RTU, specifies the type of the serial device. +RS232, RS422 and RS485 are supported. Defaults to RS232. +Available only on Linux systems with libmodbus>=2.9.4. + =item B I Sets the interval (in seconds) in which the values will be collected from this @@ -4173,18 +4612,18 @@ the B branch. Path to the PEM-encoded CA certificate file. Setting this option enables TLS communication with the MQTT broker, and as such, B should be the TLS-enabled port of the MQTT broker. -A valid TLS configuration requires B, B and B. +This option enables the use of TLS. =item B I Path to the PEM-encoded certificate file to use as client certificate when connecting to the MQTT broker. -A valid TLS configuration requires B, B and B. +Only valid if B and B are also set. =item B I Path to the unencrypted PEM-encoded key file corresponding to B. -A valid TLS configuration requires B, B and B. +Only valid if B and B are also set. =item B I @@ -4192,13 +4631,14 @@ If configured, this specifies the string protocol version (e.g. C, C) to use for the TLS connection to the broker. If not set a default version is used which depends on the version of OpenSSL the Mosquitto library was linked against. +Only valid if B is set. =item B I A string describing the ciphers available for use. See L and the C utility for more information. If unset, the default ciphers will be used. - +Only valid if B is set. =back @@ -4328,11 +4768,11 @@ If enabled, the plugin sends a notification if the replication slave I/O and / or SQL threads are not running. Defaults to B. =item B I - + Enable the collection of wsrep plugin statistics, used in Master-Master replication setups like in MySQL Galera/Percona XtraDB Cluster. User needs only privileges to execute 'SHOW GLOBAL STATUS' - + =item B I Sets the connect timeout for the MySQL client. @@ -4917,8 +5357,9 @@ 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. +When configured with B all counters B the basic ones +will be collected, 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: @@ -5060,6 +5501,12 @@ behavior is to let the kernel choose the appropriate interface. Be warned that the manual selection of an interface for unicast traffic is only necessary in rare cases. +=item B I + +Set the outgoing IP address for IP packets. This option can be used instead of +the I option to explicitly define the IP address which will be used +to send Packets to the remote server. + =item B I Sets the interval at which to re-resolve the DNS for the I. This is @@ -5166,6 +5613,25 @@ statistics available. Defaults to B. =back +=head2 Plugin C + +The I collects information about the usage of the Network File +System (NFS). It counts the number of procedure calls for each procedure, +grouped by version and whether the system runs as server or client. + +It is possibly to omit metrics for a specific NFS version by setting one or +more of the following options to B (all of them default to B). + +=over 4 + +=item B B|B + +=item B B|B + +=item B B|B + +=back + =head2 Plugin C This plugin collects the number of connections and requests handled by the @@ -5636,15 +6102,12 @@ The OpenVPN plugin reads a status file maintained by OpenVPN and gathers traffic statistics about connected clients. To set up OpenVPN to write to the status file periodically, use the -B<--status> option of OpenVPN. Since OpenVPN can write two different formats, -you need to set the required format, too. This is done by setting -B<--status-version> to B<2>. +B<--status> option of OpenVPN. So, in a nutshell you need: openvpn $OTHER_OPTIONS \ - --status "/var/run/openvpn-status" 10 \ - --status-version 2 + --status "/var/run/openvpn-status" 10 Available options: @@ -5699,6 +6162,7 @@ plugin's documentation above for details. + #Plugin "warehouse" ConnectID "db01" Username "oracle" Password "secret" @@ -5721,6 +6185,11 @@ values submitted to the daemon. Other than that, that name is not used. =over 4 +=item B I + +Use I as the plugin name when submitting query results from +this B. Defaults to C. + =item B I Defines the "database alias" or "service name" to connect to. Usually, these @@ -5776,7 +6245,7 @@ The address of the OVS DB server JSON-RPC interface used by the plugin. To enable the interface, OVS DB daemon should be running with C<--remote=ptcp:> option. See L for more details. The option may be either network hostname, IPv4 numbers-and-dots notation or IPv6 hexadecimal string -format. Defaults to B<'localhost'>. +format. Defaults to C. =item B I @@ -5830,6 +6299,7 @@ B Address "127.0.0.1" Socket "/var/run/openvswitch/db.sock" Bridges "br0" "br_ext" + InterfaceStats false The plugin provides the following configuration options: @@ -5842,7 +6312,7 @@ The address of the OVS DB server JSON-RPC interface used by the plugin. To enable the interface, OVS DB daemon should be running with C<--remote=ptcp:> option. See L for more details. The option may be either network hostname, IPv4 numbers-and-dots notation or IPv6 hexadecimal string -format. Defaults to B<'localhost'>. +format. Defaults to C. =item B I @@ -5863,17 +6333,70 @@ omitted or is empty then all OVS bridges will be monitored. Default: empty (monitor all bridges) +=item B B|B + +Indicates that the plugin should gather statistics for individual interfaces +in addition to ports. This can be useful when monitoring an OVS setup with +bond ports, where you might wish to know individual statistics for the +interfaces included in the bonds. Defaults to B. + =back -=head2 Plugin C +=head2 Plugin C -This plugin embeds a Perl-interpreter into collectd and provides an interface -to collectd's plugin system. See L for its documentation. +The I plugin collects PCI Express errors from Device Status in Capability +structure and from Advanced Error Reporting Extended Capability where available. +At every read it polls config space of PCI Express devices and dispatches +notification for every error that is set. It checks for new errors at every read. +The device is indicated in plugin_instance according to format "domain:bus:dev.fn". +Errors are divided into categories indicated by type_instance: "correctable", and +for uncorrectable errors "non_fatal" or "fatal". +Fatal errors are reported as I and all others as I. -=head2 Plugin C +B -The I receives profiling information from I, an extension -for the I interpreter. At the end of executing a script, i.e. after a + + Source "sysfs" + AccessDir "/sys/bus/pci" + ReportMasked false + PersistentNotifications false + + +B + +=over 4 + +=item B B|B + +Use B or B to read data from /sysfs or /proc. +The default value is B. + +=item B I + +Directory used to access device config space. It is optional and defaults to +/sys/bus/pci for B and to /proc/bus/pci for B. + +=item B B|B + +If true plugin will notify about errors that are set to masked in Error Mask register. +Such errors are not reported to the PCI Express Root Complex. Defaults to B. + +=item B B|B + +If false plugin will dispatch notification only on set/clear of error. +The ones already reported will be ignored. Defaults to B. + +=back + +=head2 Plugin C + +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 + +The I receives profiling information from I, an extension +for the I interpreter. At the end of executing a script, i.e. after a PHP-based webpage has been delivered, the extension will send a UDP packet containing timing information, peak memory usage and so on. The plugin will wait for such packets, parse them and account the provided information, which @@ -5999,6 +6522,11 @@ long string is used so that the packet size of an ICMPv4 packet is exactly Sets the source address to use. I may either be a numerical network address or a network hostname. +=item B I + +Sets the address family to use. I may be "any", "ipv4" or "ipv6". This +option will be ignored if you set a B. + =item B I Sets the outgoing network device to be used. I has to specify an @@ -6074,6 +6602,7 @@ L. + Plugin "kingdom" Host "hostname" Port "5432" User "username" @@ -6086,7 +6615,7 @@ L. Interval 300 Service "service_name" - Query backend # predefined + Query backends # predefined Query rt36_tickets @@ -6395,6 +6924,11 @@ activating this option. The draw-back is, that data covering the specified amount of time will be lost, for example, if a single statement within the transaction fails or if the database server crashes. +=item B I + +Use I as the plugin name when submitting query results from +this B. Defaults to C. + =item B I Specify the plugin instance name that should be used instead of the database @@ -6648,39 +7182,99 @@ C/var/run/collectd-powerdns>. =head2 Plugin C -=over 4 +Collects information about processes of local system. -=item B I +By default, with no process matches configured, only general statistics is +collected: the number of processes in each state and fork rate. + +Process matches can be configured by B and B options. +These may also be a block in which further options may be specified. -Select more detailed statistics of processes matching this name. The statistics -collected for these selected processes are: +The statistics collected for matched processes are: - size of the resident segment size (RSS) - user- and system-time used - number of processes - number of threads - number of open files (under Linux) + - number of memory mapped files (under Linux) - io data (where available) - context switches (under Linux) - - minor and major pagefaults. + - minor and major pagefaults + - Delay Accounting information (Linux only, requires libmnl) -Some platforms have a limit on the length of process names. I must stay -below this limit. +B + + + CollectFileDescriptor true + CollectContextSwitch true + CollectDelayAccounting false + Process "name" + ProcessMatch "name" "regex" + + CollectFileDescriptor false + CollectContextSwitch false + CollectDelayAccounting true + + + CollectFileDescriptor false + CollectContextSwitch true + + + +=over 4 + +=item B I + +Select more detailed statistics of processes matching this name. + +Some platforms have a limit on the length of process names. +I must stay below this limit. =item B I I -Similar to the B option this allows one to select more detailed -statistics of processes matching the specified I (see L for -details). The statistics of all matching processes are summed up and -dispatched to the daemon using the specified I as an identifier. This -allows one to "group" several processes together. I must not contain -slashes. +Select more detailed statistics of processes matching the specified I +(see L for details). The statistics of all matching processes are +summed up and dispatched to the daemon using the specified I as an +identifier. This allows one to "group" several processes together. +I must not contain slashes. =item B I -Collect context switch of the process. +Collect the number of context switches for matched processes. +Disabled by default. + +=item B I + +If enabled, collect Linux Delay Accounding information for matching processes. +Delay Accounting provides the time processes wait for the CPU to become +available, for I/O operations to finish, for pages to be swapped in and for +freed pages to be reclaimed. The metrics are reported as "seconds per second" +using the C type, e.g. C. +Disabled by default. + +This option is only available on Linux, requires the C library and +requires the C capability at runtime. + +=item B I + +Collect number of file descriptors of matched processes. +Disabled by default. + +=item B I + +Collect the number of memory mapped files of the process. +The limit for this number is configured via F in +the Linux kernel. =back +The B, B, +B and B options may be used inside +B and B blocks. When used there, these options affect +reporting the corresponding processes only. Outside of B and +B blocks these options set the default value for subsequent +matches. + =head2 Plugin C Collects a lot of information about various network protocols, such as I, @@ -6746,6 +7340,7 @@ multiple routers: CollectRegistrationTable true CollectDF true CollectDisk true + CollectHealth true @@ -6806,29 +7401,37 @@ Defaults to B. When enabled, the number of sectors written and bad blocks will be collected. Defaults to B. +=item B B|B + +When enabled, the health statistics will be collected. This includes the +voltage and temperature on supported hardware. +Defaults to B. + =back =head2 Plugin C -The I connects to one or more Redis servers and gathers -information about each server's state. For each server there is a I block -which configures the connection parameters for this node. +The I connects to one or more Redis servers, gathers +information about each server's state and executes user-defined queries. +For each server there is a I block which configures the connection +parameters and set of user-defined queries for this node. Host "localhost" Port "6379" + #Socket "/var/run/redis/redis.sock" Timeout 2000 + ReportCommandStats false + ReportCpuUsage true + #Database 0 Type "queue_length" Instance "myqueue" - + -The information shown in the synopsis above is the I -which is used by the plugin if no configuration is present. - =over 4 =item B I @@ -6836,7 +7439,9 @@ which is used by the plugin if no configuration is present. The B block identifies a new Redis node, that is a new Redis instance running in an specified host and port. The name for node is a canonical identifier which is used as I. It is limited to -64Echaracters in length. +128Echaracters in length. + +When no B is configured explicitly, plugin connects to "localhost:6379". =item B I @@ -6849,6 +7454,11 @@ The B option is the TCP port on which the Redis instance accepts connections. Either a service name of a port number may be given. Please note that numerical port numbers must be given as a string, too. +=item B I + +Connect to Redis using the UNIX domain socket at I. If this +setting is given, the B and B settings are ignored. + =item B I Use I to authenticate when connecting to I. @@ -6856,25 +7466,47 @@ Use I to authenticate when connecting to I. =item B I The B option set the socket timeout for node response. Since the Redis -read function is blocking, you should keep this value as low as possible. Keep -in mind that the sum of all B values for all B should be lower -than B defined globally. +read function is blocking, you should keep this value as low as possible. +It is expected what B values should be lower than B defined +globally. + +Defaults to 2000 (2 seconds). + +=item B B|B + +Enables or disables reporting of statistics based on the command type, including +rate of command calls and average CPU time consumed by command processing. +Defaults to B. + +=item B B|B + +Enables or disables reporting of CPU consumption statistics. +Defaults to B. =item B I The B block identifies a query to execute against the redis server. -There may be an arbitrary number of queries to execute. +There may be an arbitrary number of queries to execute. Each query should +return single string or integer. =item B I -Within a query definition, a valid collectd type to use as when submitting +Within a query definition, a valid I to use as when submitting the result of the query. When not supplied, will default to B. +Currently only types with one datasource are supported. +See L for more details on types and their configuration. + =item B I Within a query definition, an optional type instance to use when submitting the result of the query. When not supplied will default to the escaped -command, up to 64 chars. +command, up to 128 chars. + +=item B I + +This index selects the Redis logical database to use for query. Defaults +to C<0>. =back @@ -7314,7 +7946,9 @@ B IndexOID "IF-MIB::ifIndex" SizeOID "IF-MIB::ifNumber" - Instance true + + Source "PluginInstance" + Plugin "interface" OIDs "IF-MIB::ifDescr" @@ -7325,12 +7959,44 @@ B OIDs "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets" + + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhAffinityDomainName" + + + Plugin "virt" + + Source "TypeInstance" + Regex "^vcpu_([0-9]{1,3})-cpu_[0-9]{1,3}$" + Group 1 + + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhVCPUIndex" + + + Plugin "virt" + + Source "TypeInstance" + Regex "^vcpu_[0-9]{1,3}-cpu_([0-9]{1,3})$" + Group 1 + + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhCPUIndex" + + + Plugin "virt" + Type "cpu_affinity" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhCPUAffinity" + +
There are two types of blocks that can be contained in the CPluginE snmp_agentE> block: B and B: -=head3 The B block +=head3 B block The B block defines a list OIDs that are to be handled. This block can define scalar or table OIDs. If B block is defined inside of B
@@ -7339,11 +8005,34 @@ The following options can be set: =over 4 -=item B I +=item B block + +B block contains all data needed for proper index build of snmp table. +In case more than +one table B block has B block present then multiple key index is +built. If B block defines scalar data type B has no effect and can +be omitted. + +=over 8 + +=item B I + +B can be set to one of the following values: "Hostname", "Plugin", +"PluginInstance", "Type", "TypeInstance". This value indicates which field of +corresponding collectd metric is taken as a SNMP table index. + +=item B I + +B option can also be used to parse strings or numbers out of +specific field. For example: type-instance field which is "vcpu1-cpu2" can be +parsed into two numeric fields CPU = 2 and VCPU = 1 and can be later used +as a table index. + +=item B I + +B number can be specified in case groups are used in regex. -When B is set to B, the value for requested OID is copied from -plugin instance field of corresponding collectd value. If B block defines -scalar data type B has no effect and can be omitted. +=back =item B I @@ -7471,6 +8160,8 @@ Calculate and dispatch various values out of I metrics received during an interval. If set to B, the default, these values aren't calculated / dispatched. +Please note what reported timer values less than 0.001 are ignored in all B reports. + =back =head2 Plugin C @@ -7508,6 +8199,13 @@ available and free. Defaults to B. This is useful for deploying I in a heterogeneous environment, where swap sizes differ and you want to specify generic thresholds or similar. +=item B B|B + +Enables or disables reporting swap IO. Defaults to B. + +This is useful for the cases when swap IO is not neccessary, is not available, +or is not reliable. + =back =head2 Plugin C @@ -7543,6 +8241,7 @@ filesystem or CSV (comma separated values) files.
+ #Plugin "slab" Instance "slabinfo" Separator " " @@ -7569,10 +8268,14 @@ The following options are available inside a B
block: =over 4 +=item B I + +If specified, I is used as the plugin name when submitting values. +Defaults to B
. + =item B I -If specified, I is used as the plugin instance. So, in the above -example, the plugin name C would be used. If omitted, the +If specified, I is used as the plugin instance. If omitted, the filename of the table is used instead, with all special characters replaced with an underscore (C<_>). @@ -7642,6 +8345,7 @@ user using (extended) regular expressions, as described in L. + Plugin "mail" Instance "exim" Interval 60 @@ -7662,6 +8366,7 @@ user using (extended) regular expressions, as described in L. Percentile 99 Bucket 0 100 + #BucketType "bucket" Type "latency" Instance "foo" @@ -7673,11 +8378,13 @@ 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. +The B and B options in the B block may be used to set +the plugin name and instance respectively. So in the above example the plugin name +C would be used. + +These options are applied for all B blocks that B it, until the +next B or B option. This way you can extract several plugin +instances from one logfile, handy when parsing syslog and the like. The B option allows you to define the length of time between reads. If this is not set, the default Interval will be used. @@ -7714,26 +8421,26 @@ Sets how the values are cumulated. I is one of: =item B -Calculate the average. +Calculate the average of all values matched during the interval. =item B -Use the smallest number only. +Report the smallest value matched during the interval. =item B -Use the greatest number only. +Report the greatest value matched during the interval. =item B -Use the last number found. +Report the last value matched during the interval. =item B -Use the last number found. The number is not reset at the end of an interval. -It is continously reported until another number is matched. This is intended -for cases in which only state changes are reported, for example a thermometer -that only reports the temperature when it changes. +Report the last matching value. The metric is I reset to C at the end +of an interval. It is continuously reported until another value is matched. +This is intended for cases in which only state changes are reported, for +example a thermometer that only reports the temperature when it changes. =item B @@ -7764,6 +8471,9 @@ Increase the internal counter by one. These B are the only ones that do not use the matched subexpression, but simply count the number of matched lines. Thus, you may use a regular expression without submatch in this case. +B is reset to I after every read, unlike other B +metrics which are reset to C. + =item B Type to do calculations based on the distribution of values, primarily @@ -7781,6 +8491,7 @@ B Percentile 99 Bucket 0 100 + BucketType "bucket" =over 4 @@ -7817,11 +8528,17 @@ the following schema: Bucket 20 50 Bucket 50 0 -Metrics are reported with the I C and the I +Metrics are reported with the I set by B option (C +by default) and the I CTypeE[-EInstanceE]-Elower_boundE_Eupper_boundE>. This option may be repeated to calculate more than one rate. +=item B I + +Sets the type used to dispatch B metrics. +Optional, by default C will be used. + =back =back @@ -7830,8 +8547,12 @@ The B and B types interpret the submatch as a floating point number, using L. The B and B types interpret the submatch as an unsigned integer using L. The B types interpret the submatch as a signed integer using -L. B and B do not use the submatch at all -and it may be omitted in this case. +L. B, B and B do not use the +submatch at all and it may be omitted in this case. + +The B types, unless noted otherwise, are reset to C after being +reported. In other words, B reports the average of all values +matched since the last metric was reported (or C if there was no match). =item B I @@ -7855,12 +8576,14 @@ B Type "percent" Instance "dropped" - Index 1 + ValueFrom 1 - Instance "snort-eth0" + Plugin "snortstats" + Instance "eth0" Interval 600 Collect "snort-dropped" + #TimeFrom 0 @@ -7910,6 +8633,11 @@ I block but there can be multiple if you have multiple CSV files. =over 4 +=item B I + +Use I as the plugin name when submitting values. +Defaults to C. + =item B I Sets the I used when dispatching the values. @@ -8173,9 +8901,36 @@ collections. The different bits of this bit mask accepted by this plugin are: Boolean enabling the use of logical core numbering for per core statistics. When enabled, CnE> is used as plugin instance, where I is a -sequential number assigned by the kernel. Otherwise, CnE> is used -where I is the n-th core of the socket, causing name conflicts when there is -more than one socket. +dynamic number assigned by the kernel. Otherwise, CnE> is used +if there is only one package and CnE-coreEmE> if there is +more than one, where I is the n-th core of package I. + +=item B I|I + +Reading data from CPU has side-effect: collectd process's CPU affinity mask +changes. After reading data is completed, affinity mask needs to be restored. +This option allows to set restore policy. + +B (the default): Restore the affinity by setting affinity to any/all +CPUs. + +B: Save affinity using sched_getaffinity() before reading data and +restore it after. + +On some systems, sched_getaffinity() will fail due to inconsistency of the CPU +set size between userspace and kernel. In these cases plugin will detect the +unsuccessful call and fail with an error, preventing data collection. +Most of configurations does not need to save affinity as Collectd process is +allowed to run on any/all available CPUs. + +If you need to save and restore affinity and get errors like 'Unable to save +the CPU affinity', setting 'possible_cpus' kernel boot option may also help. + +See following links for details: + +L +L +L =back @@ -8281,6 +9036,12 @@ Synopsis: CollectVCL false CollectVSM false CollectWorkers false + CollectLock false + CollectMempool false + CollectManagement false + CollectSMF false + CollectVBE false + CollectMSE false @@ -8356,8 +9117,9 @@ log messages which is flushed to disk when full. True by default. =item B B|B malloc or umem (umem_alloc(3MALLOC) based) storage statistics. The umem storage -component is Solaris specific. Only available with Varnish 2.x. False by -default. +component is Solaris specific. Note: SMA, SMF and MSE share counters, enable +only the one used by the Varnish instance. Only available with Varnish 2.x. +False by default. =item B B|B @@ -8366,7 +9128,8 @@ component is used internally only. False by default. =item B B|B -file (memory mapped file) storage statistics. Only available with Varnish 2.x. +file (memory mapped file) storage statistics. Only available with Varnish 2.x., +in varnish 4.x. use CollectSMF. False by default. =item B B|B @@ -8397,6 +9160,35 @@ statistics subsystems). Only available with Varnish 4.x. False by default. Collect statistics about worker threads. False by default. +=item B B|B + +Backend counters. Only available with Varnish 4.x. False by default. + +=item B B|B + +file (memory mapped file) storage statistics. Only available with Varnish 4.x. +Note: SMA, SMF and MSE share counters, enable only the one used by the Varnish +instance. Used to be called SM in Varnish 2.x. False by default. + +=item B B|B + +Management process counters. Only available with Varnish 4.x. False by default. + +=item B B|B + +Lock counters. Only available with Varnish 4.x. False by default. + +=item B B|B + +Memory pool counters. Only available with Varnish 4.x. False by default. + +=item B B|B + +Varnish Massive Storage Engine 2.0 (MSE2) is an improved storage backend for +Varnish, replacing the traditional malloc and file storages. Only available +with Varnish-Plus 4.x. Note: SMA, SMF and MSE share counters, enable only the +one used by the Varnish instance. False by default. + =back =head2 Plugin C @@ -8409,6 +9201,40 @@ only on the host system. Only I is required. +Consider the following example config: + + + Connection "qemu:///system" + HostnameFormat "hostname" + InterfaceFormat "address" + PluginInstanceFormat "name" + + +It will generate the following values: + + node42.example.com/virt-instance-0006f26c/disk_octets-vda + node42.example.com/virt-instance-0006f26c/disk_ops-vda + node42.example.com/virt-instance-0006f26c/if_dropped-ca:fe:ca:fe:ca:fe + node42.example.com/virt-instance-0006f26c/if_errors-ca:fe:ca:fe:ca:fe + node42.example.com/virt-instance-0006f26c/if_octets-ca:fe:ca:fe:ca:fe + node42.example.com/virt-instance-0006f26c/if_packets-ca:fe:ca:fe:ca:fe + node42.example.com/virt-instance-0006f26c/memory-actual_balloon + node42.example.com/virt-instance-0006f26c/memory-available + node42.example.com/virt-instance-0006f26c/memory-last_update + node42.example.com/virt-instance-0006f26c/memory-major_fault + node42.example.com/virt-instance-0006f26c/memory-minor_fault + node42.example.com/virt-instance-0006f26c/memory-rss + node42.example.com/virt-instance-0006f26c/memory-swap_in + node42.example.com/virt-instance-0006f26c/memory-swap_out + node42.example.com/virt-instance-0006f26c/memory-total + node42.example.com/virt-instance-0006f26c/memory-unused + node42.example.com/virt-instance-0006f26c/memory-usable + node42.example.com/virt-instance-0006f26c/virt_cpu_total + node42.example.com/virt-instance-0006f26c/virt_vcpu-0 + +You can get information on the metric's units from the online libvirt documentation. +For instance, I is in nanoseconds. + =over 4 =item B I @@ -8450,18 +9276,56 @@ 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: +B B and B options are related to +corresponding B<*Format> options. Specifically, B filtering depends +on B setting - if user wants to filter block devices by +'target' name then B option has to be set to 'target' and +B option must be set to a valid block device target +name("/:hdb/"). Mixing formats and filter values from different worlds (i.e., +using 'target' name as B value with B set to +'source') may lead to unexpected results (all devices filtered out or all +visible, depending on the value of B option). +Similarly, option B is related to B setting +(i.e., when user wants to use MAC address as a filter then B +has to be set to 'address' - using wrong type here may filter out all of the +interfaces). + +B + +Ignore all I devices on any domain, but other block devices (eg. I) +will be collected: BlockDevice "/:hdb/" IgnoreSelected "true" + BlockDeviceFormat "target" -Ignore all I devices on any domain, but other block devices (eg. I) -will be collected. +B + +Collect metrics only for block device on 'baremetal0' domain when its +'source' matches given path: + + BlockDevice "baremetal0:/var/lib/libvirt/images/baremetal0.qcow2" + BlockDeviceFormat source + +As you can see it is possible to filter devices/interfaces using +various formats - for block devices 'target' or 'source' name can be +used. Interfaces can be filtered using 'name', 'address' or 'number'. + +B + +Collect metrics only for domains 'baremetal0' and 'baremetal1' and +ignore any other domain: + + Domain "baremetal0" + Domain "baremetal1" + +It is possible to filter multiple block devices/domains/interfaces by +adding multiple filtering entries in separate lines. =item B B|B If I is set to B, the default, then the device name -seen by the guest will be used for reporting metrics. +seen by the guest will be used for reporting metrics. This corresponds to the CtargetE> node in the XML definition of the domain. @@ -8487,6 +9351,11 @@ to C. Setting C will cause the I to be set to C. +B this option determines also what field will be used for +filtering over block devices (filter value in B +will be applied to target or source). More info about filtering +block devices can be found in the description of B. + =item B B|B The B controls whether the full path or the @@ -8501,7 +9370,7 @@ be set to C. Setting C will cause the I to be set to C. -=item B B +=item B B When the virt 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 @@ -8511,7 +9380,11 @@ 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. +useful on its own because all guests will appear to have the same name. This is +useful in conjunction with B though. + +B means use information from guest's metadata. Use +B and B to localize this information. You can also specify combinations of these fields. For example B means to concatenate the guest name and UUID (with a literal colon character @@ -8521,7 +9394,7 @@ At the moment of writing (collectd-5.5), hostname string is limited to 62 characters. In case when combination of fields exceeds 62 characters, hostname will be truncated without a warning. -=item B B|B
+=item B B|B
|B When the virt plugin logs interface data, it sets the name of the collected data according to this setting. The default is to use the path as provided by @@ -8531,23 +9404,47 @@ setting B. B
means use the interface's mac address. This is useful since the interface path might change between reboots of a guest or across migrations. -=item B B +B means use the interface's number in guest. + +B this option determines also what field will be used for +filtering over interface device (filter value in B +will be applied to name, address or number). More info about filtering +interfaces can be found in the description of B. + +=item B B When the virt plugin logs data, it sets the plugin_instance of the collected data according to this setting. The default is to not set the plugin_instance. B means use the guest's name as provided by the hypervisor. B means use the guest's UUID. +B means use information from guest's metadata. You can also specify combinations of the B and B 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">). -=item B B +=item B B -How many read instances you want to use for this plugin. The default is one, -and the sensible setting is a multiple of the B value. -If you are not sure, just use the default setting. +When B is used in B or B, this +selects in which metadata namespace we will pick the hostname. The default is +I. + +=item B B + +When B is used in B or B, this +describes where the hostname is located in the libvirt metadata. The default is +I. + +=item B B|B + +Enabled by default. Allows to disable stats reporting of block devices for +whole plugin. + +=item B B|B + +Enabled by default. Allows to disable stats reporting of network interfaces for +whole plugin. =item B B @@ -8569,9 +9466,7 @@ I<0.9.5> or later. =item B: report disk errors if any occured. Requires libvirt API version I<0.9.10> or later. -=item B: report domain state and reason in human-readable format as -a notification. If libvirt API version I<0.9.2> or later is available, domain -reason will be included in notification. +=item B: report domain state and reason as 'domain_state' metric. =item B: report file system information as a notification. Requires libvirt API version I<1.2.11> or later. Can be collected only if I @@ -8596,8 +9491,53 @@ B: I metrics can't be collected if I plugin is enabled. =item B: report pinning of domain VCPUs to host physical CPUs. +=item B: report 'disk_physical' statistic for disk device. +B: This statistic is only reported for disk devices with 'source' +property available. + +=item B: report 'disk_allocation' statistic for disk device. +B: This statistic is only reported for disk devices with 'source' +property available. + +=item B: report 'disk_capacity' statistic for disk device. +B: This statistic is only reported for disk devices with 'source' +property available. + =back +=item B B|B + +Override default configuration to only send notifications when there is a change +in the lifecycle state of a domain. When set to true notifications will be sent +for every read cycle. Default is false. Does not affect the stats being +dispatched. + +=item B B + +How many read instances you want to use for this plugin. The default is one, +and the sensible setting is a multiple of the B value. + +This option is only useful when domains are specially tagged. +If you are not sure, just use the default setting. + +The reader instance will only query the domains with attached matching tag. +Tags should have the form of 'virt-X' where X is the reader instance number, +starting from 0. + +The special-purpose reader instance #0, guaranteed to be always present, +will query all the domains with missing or unrecognized tag, so no domain will +ever be left out. + +Domain tagging is done with a custom attribute in the libvirt domain metadata +section. Value is selected by an XPath I +expression in the I namespace. +(XPath and namespace values are not configurable yet). + +Tagging could be used by management applications to evenly spread the +load among the reader threads, or to pin on the same threads all +the libvirt domains which use the same shared storage, to minimize +the disruption in presence of storage outages. + =back =head2 Plugin C @@ -8651,6 +9591,8 @@ Synopsis: Protocol "tcp" LogSendErrors true Prefix "collectd" + UseTags false + ReverseHost false @@ -8688,13 +9630,20 @@ approach and logging errors fills syslog with unneeded messages. =item B I -When set, I is added in front of the host name. Dots and whitespace are -I escaped in this string (see B below). +When B is I, B value is added in front of the host name. +When B is I, B value is added in front of series name. + +Dots and whitespace are I escaped in this string (see B +below). =item B I -When set, I is appended to the host name. Dots and whitespace are -I escaped in this string (see B below). +When B is I, B value appended to the host name. +When B is I, B value appended to the end of series name +(before the first ; that separates the name from the tags). + +Dots and whitespace are I escaped in this string (see B +below). =item B I @@ -8716,6 +9665,8 @@ path component, for example C. If set to B (the default), the plugin and plugin instance (and likewise the type and type instance) are put into one component, for example C. +Option value is not used when B is I. + =item B B|B If set to B, append the name of the I (DS) to the "metric" @@ -8728,12 +9679,55 @@ If set to B (the default) the C<.> (dot) character is replaced with I. Otherwise, if set to B, the C<.> (dot) character is preserved, i.e. passed through. +Option value is not used when B is I. + =item B B|B If set to B, detect and remove duplicate components in Graphite metric names. For example, the metric name C will be shortened to C. +=item B B|B + +If set to B, Graphite metric names will be generated as tagged series. +This allows for much more flexibility than the traditional hierarchical layout. + +Example: +C + +You can use B option to add more tags by specifying it like +C<;tag1=value1;tag2=value2>. Note what tagging support was added since Graphite +version 1.1.x. + +If set to B, the B and B settings +are not used. + +Default value: B. + +=item B B|B + +If set to B, the (dot separated) parts of the B field of the +I will be rewritten in reverse order. The rewrite happens I +special characters are replaced with the B. + +This option might be convenient if the metrics are presented with Graphite in a +DNS like tree structure (probably without replacing dots in hostnames). + +Example: + Hostname "node3.cluster1.example.com" + LoadPlugin "cpu" + LoadPlugin "write_graphite" + + + EscapeCharacter "." + ReverseHost true + + + + result on the wire: com.example.cluster1.node3.cpu-0.cpu-idle 99.900993 1543010932 + +Default value: B. + =back =head2 Plugin C @@ -8902,6 +9896,13 @@ B =over 4 +=item B I + +Bind to the hostname / address I. By default, the plugin will bind to the +"any" address, i.e. accept packets sent to any of the hosts addresses. + +This option is supported only for libmicrohttpd newer than 0.9.0. + =item B I Port the embedded webserver should listen on. Defaults to B<9103>. @@ -9041,6 +10042,12 @@ Sets the Cassandra ttl for the data points. Please refer to L +=item B I + +Only available for the KAIROSDB output format. + +Sets the metrics prefix I. Defaults to I. + =item B B|B Controls whether I are POSTed to this location. Defaults to B. @@ -9153,17 +10160,26 @@ been set to B. =item B (B=I only) A prefix can be added in the metric name when outputting in the I -format. It's added before the I name. +format. + +When B is I, prefix is added before the I name. Metric name will be CprefixEEhostEEpostfixEEpluginEEtypeEEnameE> +When B is I, prefix is added in front of series name. + =item B (B=I only) A postfix can be added in the metric name when outputting in the I -format. It's added after the I name. +format. + +When B is I, postfix is added after the I name. Metric name will be CprefixEEhostEEpostfixEEpluginEEtypeEEnameE> +When B is I, prefix value appended to the end of series +name (before the first ; that separates the name from the tags). + =item B (B=I only) Specify a character to replace dots (.) in the host part of the metric name. @@ -9178,6 +10194,8 @@ path component, for example C. If set to B (the default), the plugin and plugin instance (and likewise the type and type instance) are put into one component, for example C. +Option value is not used when B is I. + =item B B|B If set to B, append the name of the I (DS) to the "metric" @@ -9190,6 +10208,14 @@ If set to B (the default) the C<.> (dot) character is replaced with I. Otherwise, if set to B, the C<.> (dot) character is preserved, i.e. passed through. +Option value is not used when B is I. + +=item B B|B + +If set to B Graphite metric names will be generated as tagged series. + +Default value: B. + =item B B|B If set to B (the default), convert counter values to rates. If set to @@ -9222,6 +10248,7 @@ Synopsis: Prefix "collectd/" Database 1 MaxSetSize -1 + MaxSetDuration -1 StoreRates true @@ -9284,6 +10311,12 @@ to C<0>. The B option limits the number of items that the I can hold. Negative values for I sets no limit, which is the default behavior. +=item B I + +The B option limits the duration of items that the +I can hold. Negative values for I sets no duration, which +is the default behavior. + =item B B|B If set to B (the default), convert counter values to rates. If set to @@ -9543,6 +10576,268 @@ attribute for each metric being sent out to I. =back +=head2 Plugin C + +The C plugin writes metrics to the +I service. + +This plugin supports two authentication methods: When configured, credentials +are read from the JSON credentials file specified with B. +Alternatively, when running on +I (GCE), an I token is retrieved from the +I and used to authenticate to GCM. + +B + + + CredentialFile "/path/to/service_account.json" + + Label "project_id" "monitored_project" + + + +=over 4 + +=item B I + +Path to a JSON credentials file holding the credentials for a GCP service +account. + +If B is not specified, the plugin uses I. That means which credentials are used depends on the environment: + +=over 4 + +=item + +The environment variable C is checked. If this +variable is specified it should point to a JSON file that defines the +credentials. + +=item + +The path C<${HOME}/.config/gcloud/application_default_credentials.json> is +checked. This where credentials used by the I command line utility are +stored. You can use C to create these +credentials. + +Please note that these credentials are often of your personal account, not a +service account, and are therefore unfit to be used in a production +environment. + +=item + +When running on GCE, the built-in service account associated with the virtual +machine instance is used. +See also the B option below. + +=back + +=item B I + +The I or the I of the I. The +I is a string identifying the GCP project, which you can chose +freely when creating a new project. The I is a 12-digit decimal +number. You can look up both on the I. + +This setting is optional. If not set, the project ID is read from the +credentials file or determined from the GCE's metadata service. + +=item B I (GCE only) + +Choses the GCE I used for authentication. + +Each GCE instance has a C I but may also be +associated with additional I. This is often used to restrict +the permissions of services running on the GCE instance to the required +minimum. The I requires the +C scope. When multiple I are available, this option selects which one is used by +I. + +=item B I + +Configures the I to use when storing metrics. +More information on I and I are +available at L. + +This block takes one string argument, the I. Inside the block are +one or more B