Este conteúdo não está disponível no idioma selecionado.
Chapter 5. collectd plugins
You can configure multiple collectd plugins depending on your Red Hat OpenStack Platform (RHOSP) 16.2 environment.
The following list of plugins shows the available heat template ExtraConfig parameters that you can set to override the default values. Each section provides the general configuration name for the ExtraConfig option. For example, if there is a collectd plugin called example_plugin, the format of the plugin title is collectd::plugin::example_plugin.
Reference the tables of available parameters for specific plugins, such as in the following example:
ExtraConfig: collectd::plugin::example_plugin::<parameter>: <value>
ExtraConfig:
collectd::plugin::example_plugin::<parameter>: <value>
Reference the metrics tables of specific plugins for Prometheus or Grafana queries.
collectd::plugin::aggregation
You can aggregate several values into one with the aggregation plugin. Use the aggregation functions such as sum, average, min, and max to calculate metrics, for example average and total CPU statistics.
| Parameter | Type |
|---|---|
| host | String |
| plugin | String |
| plugininstance | Integer |
| agg_type | String |
| typeinstance | String |
| sethost | String |
| setplugin | String |
| setplugininstance | Integer |
| settypeinstance | String |
| groupby | Array of Strings |
| calculatesum | Boolean |
| calculatenum | Boolean |
| calculateaverage | Boolean |
| calculateminimum | Boolean |
| calculatemaximum | Boolean |
| calculatestddev | Boolean |
Example configuration:
Deploy three aggregate configurations to create the following files:
-
aggregator-calcCpuLoadAvg.conf: average CPU load for all CPU cores grouped by host and state -
aggregator-calcCpuLoadMinMax.conf: minimum and maximum CPU load groups by host and state -
aggregator-calcMemoryTotalMaxAvg.conf: maximum, average, and total for memory grouped by type
The aggregation configurations use the default cpu and memory plugin configurations.
collectd::plugin::amqp1
Use the amqp1 plugin to write values to an amqp1 message bus, for example, AMQ Interconnect.
| Parameter | Type |
|---|---|
| manage_package | Boolean |
| transport | String |
| host | String |
| port | Integer |
| user | String |
| password | String |
| address | String |
| instances | Hash |
| retry_delay | Integer |
| send_queue_limit | Integer |
| interval | Integer |
Use the send_queue_limit parameter to limit the length of the outgoing metrics queue.
If there is no AMQP1 connection, the plugin continues to queue messages to send, which can result in unbounded memory consumption. The default value is 0, which disables the outgoing metrics queue.
Increase the value of the send_queue_limit parameter if metrics are missing.
Example configuration:
collectd::plugin::apache
Use the apache plugin to collect Apache data from the mod_status plugin that is provided by the Apache web server. Each instance provided has a per-interval value specified in seconds. If you provide the timeout interval parameter for an instance, the value is in milliseconds.
| Parameter | Type |
|---|---|
| instances | Hash |
| interval | Integer |
| manage-package | Boolean |
| package_install_options | List |
| Parameter | Type |
|---|---|
| url | HTTP URL |
| user | String |
| password | String |
| verifypeer | Boolean |
| verifyhost | Boolean |
| cacert | AbsolutePath |
| sslciphers | String |
| timeout | Integer |
Example configuration:
In this example, the instance name is localhost, which connects to the Apache web server at http://10.0.0.111/mod_status?auto. You must append ?auto to the end of the URL to prevent the status page returning as a type that is incompatible with the plugin.
Additional resources
For more information about configuring the apache plugin, see apache.
collectd::plugin::battery
Use the battery plugin to report the remaining capacity, power, or voltage of laptop batteries.
| Parameter | Type |
|---|---|
| values_percentage | Boolean |
| report_degraded | Boolean |
| query_state_fs | Boolean |
| interval | Integer |
Additional resources
For more information about configuring the battery plugin, see battery.
collectd::plugin::bind
Use the bind plugin to retrieve encoded statistics about queries and responses from a DNS server, and submit those values to collectd.
| Parameter | Type |
|---|---|
| url | HTTP URL |
| memorystats | Boolean |
| opcodes | Boolean |
| parsetime | Boolean |
| qtypes | Boolean |
| resolverstats | Boolean |
| serverstats | Boolean |
| zonemaintstats | Boolean |
| views | Array |
| interval | Integer |
| Parameter | Type |
|---|---|
| name | String |
| qtypes | Boolean |
| resolverstats | Boolean |
| cacherrsets | Boolean |
| zones | List of strings |
Example configuration:
collectd::plugin::ceph
Use the ceph plugin to gather data from ceph daemons.
| Parameter | Type |
|---|---|
| daemons | Array |
| longrunavglatency | Boolean |
| convertspecialmetrictypes | Boolean |
| package_name | String |
Example configuration:
If an Object Storage Daemon (OSD) is not on every node, you must list the OSDs.
When you deploy collectd, the ceph plugin is added to the Ceph nodes. Do not add the ceph plugin on Ceph nodes to CollectdExtraPlugins because this results in a deployment failure.
Additional resources
For more information about configuring the ceph plugin, see ceph.
collectd::plugins::cgroups
Use the cgroups plugin to collect information for processes in a cgroup.
| Parameter | Type |
|---|---|
| ignore_selected | Boolean |
| interval | Integer |
| cgroups | List |
Additional resources
For more information about configuring the cgroups plugin, see cgroups.
collectd::plugin::connectivity
Use the connectivity plugin to monitor the state of network interfaces.
If no interfaces are listed, all interfaces are monitored by default.
| Parameter | Type |
|---|---|
| interfaces | Array |
Example configuration:
parameter_defaults:
ExtraConfig:
collectd::plugin::connectivity::interfaces:
- eth0
- eth1
parameter_defaults:
ExtraConfig:
collectd::plugin::connectivity::interfaces:
- eth0
- eth1
Additional resources
For more information about configuring the connectivity plugin, see connectivity.
collectd::plugin::conntrack
Use the conntrack plugin to track the number of entries in the Linux connection-tracking table. There are no parameters for this plugin.
collectd::plugin::contextswitch
Use the ContextSwitch plugin to collect the number of context switches that the system handles. The only parameter available is interval, which is a polling interval defined in seconds.
Additional resources
For more information about configuring the contextswitch plugin, see contextswitch.
collectd::plugin::cpu
Use the cpu plugin to monitor the time that the CPU spends in various states, for example, idle, executing user code, executing system code, waiting for IO-operations, and other states.
The cpu plugin collects jiffies, not percentage values. The value of a jiffy depends on the clock frequency of your hardware platform, and therefore is not an absolute time interval unit.
To report a percentage value, set the Boolean parameters reportbycpu and reportbystate to true, and then set the Boolean parameter valuespercentage to true.
This plugin is enabled by default.
| Name | Description | Query |
|---|---|---|
| idle | Amount of idle time |
|
| interrupt | CPU blocked by interrupts |
|
| nice | Amount of time running low priority processes |
|
| softirq | Amount of cycles spent in servicing interrupt requests |
|
| steal | The percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor |
|
| system | Amount of time spent on system level (kernel) |
|
| user | Jiffies that user processes use |
|
| wait | CPU waiting on outstanding I/O request |
|
| Parameter | Type | Defaults |
|---|---|---|
| reportbystate | Boolean | true |
| valuespercentage | Boolean | true |
| reportbycpu | Boolean | true |
| reportnumcpu | Boolean | false |
| reportgueststate | Boolean | false |
| subtractgueststate | Boolean | true |
| interval | Integer | 120 |
Example configuration:
parameter_defaults:
CollectdExtraPlugins:
- cpu
ExtraConfig:
collectd::plugin::cpu::reportbystate: true
parameter_defaults:
CollectdExtraPlugins:
- cpu
ExtraConfig:
collectd::plugin::cpu::reportbystate: true
Additional resources
For more information about configuring the cpu plugin, see cpu.
collectd::plugin::cpufreq
Use the cpufreq plugin to collect the current CPU frequency. There are no parameters for this plugin.
collectd::plugin::csv
Use the csv plugin to write values to a local file in CSV format.
| Parameter | Type |
|---|---|
| datadir | String |
| storerates | Boolean |
| interval | Integer |
collectd::plugin::df
Use the df plugin to collect disk space usage information for file systems.
This plugin is enabled by default.
| Name | Description | Query |
|---|---|---|
| free | Amount of free disk space |
|
| reserved | Amount of reserved disk space |
|
| used | Amount of used disk space |
|
| Parameter | Type | Defaults |
|---|---|---|
| devices | Array |
|
| fstypes | Array |
|
| ignoreselected | Boolean | true |
| mountpoints | Array |
|
| reportbydevice | Boolean | true |
| reportinodes | Boolean | true |
| reportreserved | Boolean | true |
| valuesabsolute | Boolean | true |
| valuespercentage | Boolean | false |
Example configuration:
parameter_defaults:
ExtraConfig:
collectd::plugin::df::fstypes: ['tmpfs','xfs']
parameter_defaults:
ExtraConfig:
collectd::plugin::df::fstypes: ['tmpfs','xfs']
Additional resources
For more information about configuring the df plugin, see df.
collectd::plugin::disk
Use the disk plugin to collect performance statistics of hard disks and, if supported, partitions.
The disk plugin monitors all disks by default. You can use the ignoreselected parameter to ignore a list of disks. The example configuration ignores the sda, sdb, and sdc disks, and monitors all disks not included in the list.
This plugin is enabled by default.
| Parameter | Type | Defaults |
|---|---|---|
| disks | Array |
|
| ignoreselected | Boolean | false |
| udevnameattr | String | <undefined> |
| Name | Description |
|---|---|
| merged | The number of queued operations that can be merged together, for example, one physical disk access served two or more logical operations. |
| time | The average time an I/O-operation takes to complete. The values might not be accurate. |
| io_time | Time spent doing I/Os (ms). You can use this metric as a device load percentage. A value of 1 second matches 100% of load. |
| weighted_io_time | Measure of both I/O completion time and the backlog that might be accumulating. |
| pending_operations | Shows queue size of pending I/O operations. |
Example configuration:
parameter_defaults:
ExtraConfig:
collectd::plugin::disk::disks: ['sda', 'sdb', 'sdc']
collectd::plugin::disk::ignoreselected: true
parameter_defaults:
ExtraConfig:
collectd::plugin::disk::disks: ['sda', 'sdb', 'sdc']
collectd::plugin::disk::ignoreselected: true
Additional resources
For more information about configuring the disk plugin, see disk.
collectd::plugin::hugepages
Use the hugepages plugin to collect hugepages information.
This plugin is enabled by default.
This plugin is enabled by default.
| Parameter | Type | Defaults |
|---|---|---|
| report_per_node_hp | Boolean | true |
| report_root_hp | Boolean | true |
| values_pages | Boolean | true |
| values_bytes | Boolean | false |
| values_percentage | Boolean | false |
Example configuration:
parameter_defaults:
ExtraConfig:
collectd::plugin::hugepages::values_percentage: true
parameter_defaults:
ExtraConfig:
collectd::plugin::hugepages::values_percentage: true
Additional resources
-
For more information about configuring the
hugepagesplugin, see hugepages.
collectd::plugin::interface
Use the interface plugin to measure interface traffic in octets, packets per second, and error rate per second.
This plugin is enabled by default.
This plugin is enabled by default.
| Parameter | Type | Default |
|---|---|---|
| interfaces | Array |
|
| ignoreselected | Boolean | false |
| reportinactive | Boolean | true |
Example configuration:
parameter_defaults:
ExtraConfig:
collectd::plugin::interface::interfaces:
- lo
collectd::plugin::interface::ignoreselected: true
parameter_defaults:
ExtraConfig:
collectd::plugin::interface::interfaces:
- lo
collectd::plugin::interface::ignoreselected: true
Additional resources
-
For more information about configuring the
interfacesplugin, see interfaces.
collectd::plugin::load
Use the load plugin to collect the system load and an overview of the system use.
This plugin is enabled by default.
This plugin is enabled by default.
| Parameter | Type | Default |
|---|---|---|
| report_relative | Boolean | true |
Example configuration:
parameter_defaults:
ExtraConfig:
collectd::plugin::load::report_relative: false
parameter_defaults:
ExtraConfig:
collectd::plugin::load::report_relative: false
Additional resources
-
For more information about configuring the
loadplugin, see load.
collectd::plugin::mcelog
Use the mcelog plugin to send notifications and statistics that are relevant to Machine Check Exceptions when they occur. Configure mcelog to run in daemon mode and enable logging capabilities.
| Parameter | Type |
|---|---|
| Mcelogfile | String |
| Memory |
Hash |
Example configuration:
parameter_defaults:
CollectdExtraPlugins: mcelog
CollectdEnableMcelog: true
parameter_defaults:
CollectdExtraPlugins: mcelog
CollectdEnableMcelog: true
Additional resources
-
For more information about configuring the
mcelogplugin, see mcelog.
collectd::plugin::memcached
Use the memcached plugin to retrieve information about memcached cache usage, memory, and other related information.
| Parameter | Type |
|---|---|
| instances | Hash |
| interval | Integer |
Example configuration:
Additional resources
-
For more information about configuring the
memcachedplugin, see memcached.
collectd::plugin::memory
Use the memory plugin to retrieve information about the memory of the system.
This plugin is enabled by default.
This plugin is enabled by default.
| Parameter | Type |
|---|---|
| Defaults | valuesabsolute |
| Boolean | true |
| valuespercentage | Boolean |
Example configuration:
parameter_defaults:
ExtraConfig:
collectd::plugin::memory::valuesabsolute: true
collectd::plugin::memory::valuespercentage: false
parameter_defaults:
ExtraConfig:
collectd::plugin::memory::valuesabsolute: true
collectd::plugin::memory::valuespercentage: false
Additional resources
-
For more information about configuring the
memoryplugin, see memory.
collectd::plugin::ntpd
Use the ntpd plugin to query a local NTP server that is configured to allow access to statistics, and retrieve information about the configured parameters and the time sync status.
| Parameter | Type |
|---|---|
| host | Hostname |
| port | Port number (Integer) |
| reverselookups | Boolean |
| includeunitid | Boolean |
| interval | Integer |
Example configuration:
Additional resources
-
For more information about configuring the
ntpdplugin, see ntpd.
collectd::plugin::ovs_stats
Use the ovs_stats plugin to collect statistics of OVS-connected interfaces. The ovs_stats plugin uses the OVSDB management protocol (RFC7047) monitor mechanism to get statistics from OVSDB.
| Parameter | Type |
|---|---|
| address | String |
| bridges | List |
| port | Integer |
| socket | String |
Example configuration:
The following example shows how to enable the ovs_stats plugin. If you deploy your overcloud with OVS, you do not need to enable the ovs_stats plugin.
parameter_defaults:
CollectdExtraPlugins:
- ovs_stats
ExtraConfig:
collectd::plugin::ovs_stats::socket: '/run/openvswitch/db.sock'
parameter_defaults:
CollectdExtraPlugins:
- ovs_stats
ExtraConfig:
collectd::plugin::ovs_stats::socket: '/run/openvswitch/db.sock'
Additional resources
-
For more information about configuring the
ovs_statsplugin, see ovs_stats.
collectd::plugin::processes
The processes plugin provides information about system processes. If you do not specify custom process matching, the plugin collects only the number of processes by state and the process fork rate.
To collect more details about specific processes, you can use the process parameter to specify a process name or the process_match option to specify process names that match a regular expression. The statistics for a process_match output are grouped by process name.
| Parameter | Type | Defaults |
|---|---|---|
| processes | Array | <undefined> |
| process_matches | Array | <undefined> |
| collect_context_switch | Boolean | <undefined> |
| collect_file_descriptor | Boolean | <undefined> |
| collect_memory_maps | Boolean | <undefined> |
Additional resources
-
For more information about configuring the
processesplugin, see processes.
collectd::plugin::smart
Use the smart plugin to collect SMART (self-monitoring, analysis and reporting technology) information from physical disks on the node. You must also set the parameter CollectdContainerAdditionalCapAdd to CAP_SYS_RAWIO to allow the smart plugin to read SMART telemetry. If you do not set the CollectdContainerAdditionalCapAdd parameter, the following message is written to the collectd error logs:
smart plugin: Running collectd as root, but the CAP_SYS_RAWIO capability is missing. The plugin's read function will probably fail. Is your init system dropping capabilities?.
| Parameter | Type |
|---|---|
| disks | Array |
| ignoreselected | Boolean |
| interval | Integer |
Example configuration:
parameter_defaults: CollectdExtraPlugins: - smart CollectdContainerAdditionalCapAdd: "CAP_SYS_RAWIO"
parameter_defaults:
CollectdExtraPlugins:
- smart
CollectdContainerAdditionalCapAdd: "CAP_SYS_RAWIO"
Additional information
-
For more information about configuring the
smartplugin, see smart.
collectd::plugin::swap
Use the swap plugin to collect information about the available and used swap space.
| Parameter | Type |
|---|---|
| reportbydevice | Boolean |
| reportbytes | Boolean |
| valuesabsolute | Boolean |
| valuespercentage | Boolean |
| reportio | Boolean |
Example configuration:
collectd::plugin::tcpconns
Use the tcpconns plugin to collect information about the number of TCP connections inbound or outbound from the configured port. The local port configuration represents ingress connections. The remote port configuration represents egress connections.
| Parameter | Type |
|---|---|
| localports | Port (Array) |
| remoteports | Port (Array) |
| listening | Boolean |
| allportssummary | Boolean |
Example configuration:
collectd::plugin::thermal
Use the thermal plugin to retrieve ACPI thermal zone information.
| Parameter | Type |
|---|---|
| devices | Array |
| ignoreselected | Boolean |
| interval | Integer |
Example configuration:
parameter_defaults: CollectdExtraPlugins: - thermal
parameter_defaults:
CollectdExtraPlugins:
- thermal
collectd::plugin::uptime
Use the uptime plugin to collect information about system uptime.
This plugin is enabled by default.
This plugin is enabled by default.
| Parameter | Type |
|---|---|
| interval | Integer |
collectd::plugin::virt
Use the virt plugin to collect CPU, disk, network load, and other metrics through the libvirt API for virtual machines on the host.
This plugin is enabled by default on compute hosts.
| Parameter | Type |
|---|---|
| connection | String |
| refresh_interval | Hash |
| domain | String |
| block_device | String |
| interface_device | String |
| ignore_selected | Boolean |
| plugin_instance_format | String |
| hostname_format | String |
| interface_format | String |
| extra_stats | String |
Example configuration:
ExtraConfig: collectd::plugin::virt::hostname_format: "name uuid hostname" collectd::plugin::virt::plugin_instance_format: metadata
ExtraConfig:
collectd::plugin::virt::hostname_format: "name uuid hostname"
collectd::plugin::virt::plugin_instance_format: metadata
Additional resources
For more information about configuring the virt plugin, see virt.
collectd::plugin::vmem
Use the vmem plugin to collect information about virtual memory from the kernel subsystem.
| Parameter | Type |
|---|---|
| verbose | Boolean |
| interval | Integer |
Example configuration:
collectd::plugin::write_http
Use the write_http output plugin to submit values to an HTTP server by using POST requests and encoding metrics with JSON, or by using the PUTVAL command.
| Parameter | Type |
|---|---|
| ensure | Enum[present, absent] |
| nodes | Hash[String, Hash[String, Scalar]] |
| urls | Hash[String, Hash[String, Scalar]] |
| manage_package | Boolean |
Example configuration:
Additional resources
-
For more information about configuring the
write_httpplugin, see write_http.
collectd::plugin::write_kafka
Use the write_kafka plugin to send values to a Kafka topic. Configure the write_kafka plugin with one or more topic blocks. For each topic block, you must specify a unique name and one Kafka producer. You can use the following per-topic parameters inside the topic block:
| Parameter | Type |
|---|---|
| kafka_hosts | Array[String] |
| topics | Hash |
| properties | Hash |
| meta | Hash |
Example configuration:
Additional resources:
For more information about how to configure the write_kafka plugin, see write_kafka.
5.1. Other collectd plugins Copiar o linkLink copiado para a área de transferência!
The following plugins are available, but with undefined use cases for many Red Hat OpenStack Platform (RHOSP) environments.
| Parameter | Notes |
|---|---|
| cURL |
You can use this plugin to read files with |
| cURL-JSON | You can use this plugin to query JSON data using the cURL library and parse the data according to the configuration. |
| DNS | You can use this plugin to interpret the packets and collect statistics of your DNS traffic on UDP port 53. |
| Entropy | You can use this plugin to report the available entropy on a system. |
| Ethstat | You can use this plugin to read performance statistics from the Ethernet cards. |
| Exec | You can use this plugin to execute scripts or applications and print to STDOUT. |
| fhcount | You can use this plugin to provide statistics about used, unused, and total number of file handles on Linux. |
| FileCount | You can use this plugin to count the number of files in a directory and its subdirectories. |
| FSCache | You can use this plugin to collect information about the file-system-based caching infrastructure for network file systems and other slow media. |
| HDDTemp | You can use this plugin to collect the temperature of hard disks. |
| IntelRDT | You can use this plugin to collect information provided by monitoring features of Intel Resource Director Technology. |
| IPMI | You can use this plugin to read hardware sensors from servers using the Intelligent Platform Management Interface (IPMI). |
| IRQ | You can use this plugin to collect the number of times each interrupt is handled by the operating system. |
| LogFile | You can use this plugin to write to a log file. |
| MySQL | You can use this plugin to connect to a MySQL database and issue a SHOW STATS command periodically. The command returns the server status variables, many of which are collected. |
| Netlink | You can use this plugin to get statistics for interfaces, qdiscs, classes, or filters. |
| Network |
You can use this plugin to interact with other |
| NFS | You can use this plugin to get information about the usage of the Network File System (NFS), version 2, 3, and 4. |
| numa | You can use this plugin to report statistics of the Non-Uniform Memory Access (NUMA) subsystem of Linux. |
| OpenLDAP | You can use this plugin to report the status of OpenLDAP. |
| OpenVPN | You can use this plugin to read the status file printed by OpenVPN. |
| OVS Events | You can use this plugin to monitor the link status of OpenvSwitch-connected interfaces and send notifications when the link state change occurs. |
| PCIe Errors | You can use this plugin to monitor and report PCI Express errors. |
| Ping | You can use this plugin to measure network latency using Internet Control Message Protocol (ICMP) echo requests. |
| procevent | You can use this plugin to monitor process starts and exits. |
| Python | You can use this plugin to bind to python. |
| Sensors |
You can use this plugin to read hardware sensors using |
| Serial | You can use this plugin to collect traffic on the serial interface. |
| SNMP | You can use this plugin to read values from network devices using the Simple Network Management Protocol (SNMP). |
| SNMP Agent | You can use this plugin to handle queries from the principal SNMP agent and return the data collected by read plugins. |
| StatsD |
You can use this plugin to implement the |
| sysevent |
You can use this plugin to listen for incoming |
| SysLog |
You can use this plugin to receive log messages from the |
| Table | You can use this plugin to parse plain text files in table format. |
| Tail |
You can use this plugin to tail log files, in a similar way as the |
| Tail CSV | You can use this plugin to tail CSV files. |
| threshold | You can use this plugin to generate notifications on given thresholds. |
| turbostat | You can use this plugin to read CPU frequency and C-state residency on modern Intel turbo-capable processors. |
| UnixSock |
You can use this plugin to communicate with the |
| Users | You can use this plugin to count the number of users currently logged into the system. |
| UUID | You can use this plugin to determine the uniquie identifier (UUID) of the system that it is running on. |
| Write Graphite |
You can use this plugin to store values in |
| Write HTTP |
You can use this plugin to send the values collected by |
| Write Log | You can use this plugin to write metrics as INFO log messages. |
| Write Prometheus | You can use this plugin to implement a web server that can be scraped by Prometheus. |