X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fcollectd.conf.pod;h=353a5062c92823cf32b22162386c87ab2028d569;hp=b73ab681e1fc81954cd320f90eb66bd6edeb15c0;hb=7045c4b543304ffabaa30a2ca9183489e75eafe3;hpb=1c671085c3b5f42d852f143c986c6a2e268be5db diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index b73ab681..353a5062 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -1662,6 +1662,10 @@ 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. + =head2 Plugin C This plugin doesn't have any options. It reads CLOCK_BOOTTIME and @@ -3206,6 +3210,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 @@ -3470,6 +3498,7 @@ B Cores "0-2" "3,4,6" "8-10,15" + Processes "sshd,qemu-system-x86" "bash" B @@ -3485,11 +3514,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 @@ -3497,6 +3525,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 @@ -4416,6 +4453,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 @@ -5305,8 +5348,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: @@ -6246,6 +6290,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: @@ -6279,6 +6324,13 @@ 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 @@ -8360,26 +8412,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 @@ -8410,6 +8462,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 @@ -8483,8 +8538,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 @@ -8837,6 +8896,33 @@ 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 =head2 Plugin C @@ -9106,6 +9192,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 @@ -9147,13 +9267,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 @@ -9184,6 +9342,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 @@ -9198,7 +9361,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 @@ -9208,7 +9371,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 @@ -9218,7 +9385,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 @@ -9228,23 +9395,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 @@ -9293,14 +9484,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 @@ -9355,6 +9585,7 @@ Synopsis: LogSendErrors true Prefix "collectd" UseTags false + ReverseHost false @@ -9466,6 +9697,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 @@ -9634,6 +9889,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>. @@ -10323,7 +10585,7 @@ B CredentialFile "/path/to/service_account.json" - project_id "monitored_project" + Label "project_id" "monitored_project" @@ -10347,7 +10609,7 @@ credentials. =item -The patch C<${HOME}/.config/gcloud/application_default_credentials.json> is +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. @@ -10388,30 +10650,44 @@ I. =item B I -Configures the I to use when storing metrics. This option -takes a I and arbitrary string options which are used as labels. +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