X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fcollectd.conf.pod;h=8dff63c195f6d700528618a9f5806c20215ce62f;hp=ba93cab182b0b1659fa4476ebbf13537395d6da9;hb=bf1c2612bc0405c895f754ebfbb24484122c7cfa;hpb=fcb1c0132cc046e0d2dfd7b4516f149f058c846f diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index ba93cab1..8dff63c1 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -1548,6 +1548,35 @@ at all, B cgroups are selected. =back +=head2 Plugin C + +The I designed to check and notify about host or service +status based on I metric. + +When new metric of I type appears in cache, OK notification is sent. +When new value for metric is less than previous value, WARNING notification is +sent about host/service restart. +When no new updates comes for metric and cache entry expires, then FAILURE +notification is sent about unreachable host or service. + +By default (when no explicit configuration), plugin checks for I metric. + +B + + + Type "uptime" + Type "my_uptime_type" + + +=over 4 + +=item B I + +Metric type to check for status/values. The type should consist single GAUGE +data source. + +=back + =head2 Plugin C The C plugin collects ntp data from a B server, such as clock @@ -1656,15 +1685,24 @@ Defaults to B. =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. -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 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 @@ -1795,6 +1833,7 @@ finance page and dispatch the value to collectd. Plugin "quotes" URL "http://finance.google.com/finance?q=NYSE%3AAMD" + AddressFamily "any" User "foo" Password "bar" Digest false @@ -1835,6 +1874,18 @@ Defaults to C. URL of the web site to retrieve. Since a regular expression will be used to extract information from this data, non-binary data is a big plus here ;) +=item B I + +IP version to resolve URL to. Useful in cases when hostname in URL resolves +to both IPv4 and IPv6 addresses, and you are interested in using one of them +specifically. +Use C to enforce IPv4, C to enforce IPv6, or C to keep the +default behavior of resolving addresses to all IP versions your system allows. +If C is compiled without IPv6 support, using C will result in +a warning and fallback to C. +If C cannot be parsed, a warning will be printed and the whole B +block will be ignored. + =item B I Username to use if authorization is required to read the page. @@ -1946,6 +1997,7 @@ C<_stats> runtime statistics module of I + AddressFamily "any" Instance "httpd" Type "http_requests" @@ -1990,6 +2042,18 @@ The following options are valid within B blocks: =over 4 +=item B I + +IP version to resolve URL to. Useful in cases when hostname in URL resolves +to both IPv4 and IPv6 addresses, and you are interested in using one of them +specifically. +Use C to enforce IPv4, C to enforce IPv6, or C to keep the +default behavior of resolving addresses to all IP versions your system allows. +If C is compiled without IPv6 support, using C will result in +a warning and fallback to C. +If C cannot be parsed, a warning will be printed and the whole B +block will be ignored. + =item B I Use I as the host name when submitting values. Defaults to the global @@ -2061,6 +2125,7 @@ The B uses B (L) and B + AddressFamily "any" Host "my_host" #Plugin "curl_xml" Instance "some_instance" @@ -2097,6 +2162,18 @@ Within the B block the following options are accepted: =over 4 +=item B I + +IP version to resolve URL to. Useful in cases when hostname in URL resolves +to both IPv4 and IPv6 addresses, and you are interested in using one of them +specifically. +Use C to enforce IPv4, C to enforce IPv6, or C to keep the +default behavior of resolving addresses to all IP versions your system allows. +If C is compiled without IPv6 support, using C will result in +a warning and fallback to C. +If C cannot be parsed, a warning will be printed and the whole B +block will be ignored. + =item B I Use I as the host name when submitting values. Defaults to the global @@ -4453,6 +4530,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 @@ -7260,6 +7343,40 @@ reporting the corresponding processes only. Outside of B and B blocks these options set the default value for subsequent matches. +=head2 Plugin C + +The I plugin monitors when processes start (EXEC) and stop (EXIT). + +B + + + BufferLength 10 + Process "name" + ProcessRegex "regex" + + +B + +=over 4 + +=item B I + +Maximum number of process events that can be stored in plugin's ring buffer. +By default, this is set to 10. Once an event has been read, its location +becomes available for storing a new event. + +=item B I + +Enumerate a process name to monitor. All processes that match this exact +name will be monitored for EXECs and EXITs. + +=item B I + +Enumerate a process pattern to monitor. All processes that match this +regular expression will be monitored for EXECs and EXITs. + +=back + =head2 Plugin C Collects a lot of information about various network protocols, such as I, @@ -8193,6 +8310,70 @@ or is not reliable. =back +=head2 Plugin C + +The I plugin monitors rsyslog messages. + +B + + + Listen "192.168.0.2" "6666" + BufferSize 1024 + BufferLength 10 + RegexFilter "regex" + + + rsyslog should be configured such that it sends data to the IP and port you + include in the plugin configuration. For example, given the configuration + above, something like this would be set in /etc/rsyslog.conf: + + if $programname != 'collectd' then + *.* @192.168.0.2:6666 + + This plugin is designed to consume JSON rsyslog data, so a more complete + rsyslog configuration would look like so (where we define a JSON template + and use it when sending data to our IP and port): + + $template ls_json,"{%timestamp:::date-rfc3339,jsonf:@timestamp%, \ + %source:::jsonf:@source_host%,\"@source\":\"syslog://%fromhost-ip:::json%\", \ + \"@message\":\"%timestamp% %app-name%:%msg:::json%\",\"@fields\": \ + {%syslogfacility-text:::jsonf:facility%,%syslogseverity:::jsonf:severity-num%, \ + %syslogseverity-text:::jsonf:severity%,%programname:::jsonf:program%, \ + %procid:::jsonf:processid%}}" + + if $programname != 'collectd' then + *.* @192.168.0.2:6666;ls_json + + Please note that these rsyslog.conf examples are *not* complete, as rsyslog + requires more than these options in the configuration file. These examples + are meant to demonstration the proper remote logging and JSON format syntax. + +B + +=over 4 + +=item B I I + +Listen on this IP on this port for incoming rsyslog messages. + +=item B I + +Maximum allowed size for incoming rsyslog messages. Messages that exceed +this number will be truncated to this size. Default is 4096 bytes. + +=item B I + +Maximum number of rsyslog events that can be stored in plugin's ring buffer. +By default, this is set to 10. Once an event has been read, its location +becomes available for storing a new event. + +=item B I + +Enumerate a regex filter to apply to all incoming rsyslog messages. If a +message matches this filter, it will be published. + +=back + =head2 Plugin C =over 4 @@ -9261,13 +9442,51 @@ 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 @@ -9298,6 +9517,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 @@ -9348,6 +9572,11 @@ interface path might change between reboots of a guest or across migrations. 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 @@ -9403,9 +9632,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 @@ -9420,6 +9647,9 @@ Requires libvirt API version I<1.2.9> or later. a domain. Only one type of job statistics can be collected at the same time. Requires libvirt API version I<1.2.9> or later. +=item B: report statistics about memory usage details, provided +by libvirt virDomainMemoryStats() function. + =item B: report the physical user/system cpu time consumed by the hypervisor, per-vm. Requires libvirt API version I<0.9.11> or later. @@ -9428,8 +9658,22 @@ metrics they must be enabled for domain and supported by the platform. Requires libvirt API version I<1.3.3> or later. B: I metrics can't be collected if I plugin is enabled. +=item B: report domain virtual CPUs utilisation. + =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 @@ -9519,6 +9763,7 @@ Synopsis: LogSendErrors true Prefix "collectd" UseTags false + ReverseHost false @@ -9630,6 +9875,30 @@ 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 @@ -10605,6 +10874,141 @@ C. =back +=head2 Plugin C + +The C plugin writes data in I format log messages. +It implements the basic syslog protocol, RFC 5424, extends it with +content-based filtering, rich filtering capabilities, +flexible configuration options and adds features such as using TCP for transport. +The plugin can connect to a I daemon, like syslog-ng and rsyslog, that will +ingest metrics, transform and ship them to the specified output. +The plugin uses I over the "line based" protocol with a default port 44514. +The data will be sent in blocks of at most 1428 bytes to minimize the number of +network packets. + +Synopsis: + + + ResolveInterval 60 + ResolveJitter 60 + + Host "syslog-1.my.domain" + Port "44514" + Prefix "collectd" + MessageFormat "human" + HostTags "" + + + +The configuration consists of one or more EBEIE +blocks and global directives. + +Global directives are: + +=over 4 + +=item B I + +=item B I + +When I connects to a syslog node, it will request the hostname from +DNS. This can become a problem if the syslog node is unavailable or badly +configured because collectd will request DNS in order to reconnect for every +metric, which can flood your DNS. So you can cache the last value for +I seconds. +Defaults to the I of the I, e.g. 10Eseconds. + +You can also define a jitter, a random interval to wait in addition to +I. This prevents all your collectd servers to resolve the +hostname at the same time when the connection fails. +Defaults to the I of the I, e.g. 10Eseconds. + +B If the DNS resolution has already been successful when the socket +closes, the plugin will try to reconnect immediately with the cached +information. DNS is queried only when the socket is closed for a longer than +I + I seconds. + +=back + +Inside the B blocks, the following options are recognized: + +=over 4 + +=item B I
+ +Hostname or address to connect to. Defaults to C. + +=item B I + +Service name or port number to connect to. Defaults to C<44514>. + + +=item B I + +When set, I is added to the end of the metric. +It is intended to be used for adding additional metadata to tag the metric with. +Dots and whitespace are I escaped in this string. + +Examples: + +When MessageFormat is set to "human". + + ["prefix1" "example1"="example1_v"]["prefix2" "example2"="example2_v"]" + +When MessageFormat is set to "JSON", text should be in JSON format. +Escaping the quotation marks is required. + + HostTags "\"prefix1\": {\"example1\":\"example1_v\",\"example2\":\"example2_v\"}" + +=item B I + +I selects the format in which messages are sent to the +syslog deamon, human or JSON. Defaults to human. + +Syslog message format: + +VERSION ISOTIMESTAMP HOSTNAME APPLICATION PID MESSAGEID STRUCTURED-DATA MSG + +The difference between the message formats are in the STRUCTURED-DATA and MSG parts. + +Human format: + + <166>1 ISOTIMESTAMP HOSTNAME collectd PID MESSAGEID + ["collectd" "value": "v1" "plugin"="plugin_v" "plugin_instance"="plugin_instance_v" + "type_instance"="type_instance_v" "type"="type_v" "ds_name"="ds_name_v" "interval"="interval_v" ] + "host_tag_example"="host_tag_example_v" plugin_v.type_v.ds_name_v="v1" + +JSON format: + + <166>1 ISOTIMESTAMP HOSTNAME collectd PID MESSAGEID STRUCTURED-DATA + { + "collectd": { + "time": time_as_epoch, "interval": interval_v, "plugin": "plugin_v", + "plugin_instance": "plugin_instance_v", "type":"type_v", + "type_instance": "type_instance_v", "plugin_v": {"type_v": v1} + } , "host":"host_v", "host_tag_example": "host_tag_example_v" + } + +=item B B|B + +If set to B, convert counter values to rates. If set to B +(the default) counter values are stored as is, as an increasing +integer number. + +=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 I + +When set, I is added to all metrics names as a prefix. It is intended in +case you want to be able to define the source of the specific metric. Dots and +whitespace are I escaped in this string. + +=back + =head2 Plugin C This plugin collects metrics of hardware CPU load for machine running Xen