Chapter 5. collectd plugins

Important

Red Hat is currently updating the plugin information in this guide for this release.

You can configure multiple collectd plugins to suit your Red Hat OpenStack Platform 16.1 environment.

Reference the tables of available parameters for specific plugins, such as in the following example:

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.

  • collectd::plugin::aggregation::aggregators
  • collectd::plugin::aggregation::interval

collectd::plugin::ampq

collectd::plugin::amqp1

Use the amqp1 plugin to write values to an amqp1 message bus, for example, AMQ Interconnect.

Table 5.1. amqp1 parameters

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

Example configuration

  Parameter_defaults:
    CollectdExtraPlugins:
      - amqp1
    ExtraConfig:
      collectd::plugin::amqp1::send_queue_limit: 50

collectd::plugin::apache

Use the apache plugin to collect Apache data.

Table 5.2. apache parameters

Parameter  Type

instances

Hash

interval

Integer

manage-package

Boolean

package_install_options

List

Example configuration

parameter_defaults:
    ExtraConfig:
        collectd::plugin::apache:
          localhost:
              url: "http://10.0.0.111/status?auto"

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.

Table 5.3. battery parameters

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. The plugin submits the values to collectd.

collectd::plugin::ceph

Use the ceph plugin to gather data from ceph daemons.

Table 5.4. ceph parameters

Parameter  Type

daemons

Array

longrunavglatency

Boolean

convertspecialmetrictypes

Boolean

manage_package

Boolean

package_name

String

Example configuration

parameter_defaults:
    ExtraConfig:
        collectd::plugin::ceph::daemons:
           - ceph-osd.0
           - ceph-osd.1
           - ceph-osd.2
           - ceph-osd.3
           - ceph-osd.4

Note

If an Object Storage Daemon (OSD) is not on every node, you must list the OSDs.

Note

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.

Table 5.5. cgroups parameters

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.

Note

If no interfaces are listed, all interfaces are monitored by default.

Table 5.6. connectivity parameters

Parameter  Type

interfaces

Array

Example configuration

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 handled by the system.

Additional resources

For more information about configuring the contextswitch plugin, see contextswitch.

collectd::plugin::cpu

Use the cpu plugin to monitor the time 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.

Table 5.7. cpu metrics

NameDescriptionQuery

idle

Amount of idle time

collectd_cpu_total{…​,type_instance=idle}

interrupt

CPU blocked by interrupts

collectd_cpu_total{…​,type_instance=interrupt}

nice

Amount of time running low priority processes

collectd_cpu_total{…​,type_instance=nice}

softirq

Amount of cycles spent in servicing interrupt requests

collectd_cpu_total{…​,type_instance=waitirq}

steal

The percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor

collectd_cpu_total{…​,type_instance=steal}

system

Amount of time spent on system level (kernel)

collectd_cpu_total{…​,type_instance=system}

user

Jiffies used by user processes

collectd_cpu_total{…​,type_instance=user}

wait

CPU waiting on outstanding I/O request

collectd_cpu_total{…​,type_instance=wait}

Table 5.8. cpu parameters

Parameter  Type

reportbystate

Boolean

valuespercentage

Boolean

reportbycpu

Boolean

reportnumcpu

Boolean

reportgueststate

Boolean

subtractgueststate

Boolean

interval

Integer

Example configuration

parameter_defaults:
    CollectdExtraPlugins:
      - cpu
    ExtraConfig:
        collectd::plugin::cpu::reportbystate: true

Additional resources

For more information about configuring the cpu plugin, see cpu plugin.

collectd::plugin::cpufreq

  • None

collectd::plugin::cpusleep

collectd::plugin::csv

  • collectd::plugin::csv::datadir
  • collectd::plugin::csv::storerates
  • collectd::plugin::csv::interval

collectd::plugin::curl_json

collectd::plugin::curl

collectd::plugin::curl_xml

collectd::plugin::dbi

collectd::plugin::df

Use the df plugin to collect disk space usage information for file systems.

Table 5.9. df metrics

NameDescriptionQuery

free

Amount of free disk space

collectd_df_df_complex{…​, type_instance="free"}

reserved

Amount of reserved disk space

collectd_df_df_complex{…​, type_instance="reserved"}

used

Amount of used disk space

collectd_df_df_complex{…​, type_instance="used"}

Table 5.10. df parameters

Parameter  Type

devices

Array

fstypes

Array

ignoreselected

Boolean

mountpoints

Array

reportbydevice

Boolean

reportinodes

Boolean

reportreserved

Boolean

valuesabsolute

Boolean

valuespercentage

Boolean

Example configuration

parameter_defaults:
    CollectdExtraPlugins:
      - df
    ExtraConfig:
        collectd::plugin::df::FStype: "ext4"

Additional resources

For more information about configuring the df plugin, see df plugin.

collectd::plugin::disk

Use the disk plugin to collect performance statistics of hard-disks and, if supported, partitions.

  • collectd::plugin::disk::disks
  • collectd::plugin::disk::ignoreselected
  • collectd::plugin::disk::udevnameattr
  • collectd::plugin::disk::interval

collectd::plugin::dns

collectd::plugin::dpdk_telemetry

collectd::plugin::entropy

  • collectd::plugin::entropy::interval

collectd::plugin::ethstat

  • collectd::plugin::ethstat::interfaces
  • collectd::plugin::ethstat::maps
  • collectd::plugin::ethstat::mappedonly
  • collectd::plugin::ethstat::interval

collectd::plugin::exec

  • collectd::plugin::exec::commands
  • collectd::plugin::exec::commands_defaults
  • collectd::plugin::exec::globals
  • collectd::plugin::exec::interval

collectd::plugin::fhcount

  • collectd::plugin::fhcount::valuesabsolute
  • collectd::plugin::fhcount::valuespercentage
  • collectd::plugin::fhcount::interval

collectd::plugin::filecount

  • collectd::plugin::filecount::directories
  • collectd::plugin::filecount::interval

collectd::plugin::fscache

  • None

collectd-hddtemp

  • collectd::plugin::hddtemp::host
  • collectd::plugin::hddtemp::port
  • collectd::plugin::hddtemp::interval

collectd-hugepages

  • collectd::plugin::hugepages::report_per_node_hp
  • collectd::plugin::hugepages::report_root_hp
  • collectd::plugin::hugepages::values_pages
  • collectd::plugin::hugepages::values_bytes
  • collectd::plugin::hugepages::values_percentage
  • collectd::plugin::hugepages::interval

collectd::plugin::intel_pmu

collectd::plugin::intel_rdt

collectd::plugin::interface

  • collectd::plugin::interface::interfaces
  • collectd::plugin::interface::ignoreselected
  • collectd::plugin::interface::reportinactive
  • Collectd::plugin::interface::interval

collectd::plugin::ipc

  • None

collectd::plugin::ipmi

  • collectd::plugin::ipmi::ignore_selected
  • collectd::plugin::ipmi::notify_sensor_add
  • collectd::plugin::ipmi::notify_sensor_remove
  • collectd::plugin::ipmi::notify_sensor_not_present
  • collectd::plugin::ipmi::sensors
  • collectd::plugin::ipmi::interval

collectd::plugin::iptables

collectd::plugin::irq

  • collectd::plugin::irq::irqs
  • collectd::plugin::irq::ignoreselected
  • collectd::plugin::irq::interval

collectd::plugin::load

Use the load plugin to collect the system load and to get overview on system use.

  • collectd::plugin::load::report_relative
  • collectd::plugin::load::interval

collectd::plugin::logfile

  • collectd::plugin::logfile::log_level
  • collectd::plugin::logfile::log_file
  • collectd::plugin::logfile::log_timestamp
  • collectd::plugin::logfile::print_severity
  • collectd::plugin::logfile::interval

collectd::plugin::log_logstash

collectd::plugin::madwifi

collectd::plugin::match_empty_counter

collectd::plugin::match_hashed

collectd::plugin::match_regex

collectd::plugin::match_timediff

collectd::plugin::match_value

collectd::plugin::mbmon

collectd::plugin::mcelog

Use the mcelog plugin to send notifications and statistics relevant to Machine Check Exceptions when they occur. Configure mcelog to run in daemon mode and ensure that logging capabilities are enabled.

Table 5.11. mcelog parameters

Parameter  Type

Mcelogfile

String

Memory

Hash { mcelogclientsocket[string], persistentnotification[boolean] }

Example configuration

parameter_defaults:
    CollectdExtraPlugins: mcelog
    CollectdEnableMcelog: true

Additional resources

  • For more information about configuring the mcelog plugin, see mcelog.

collectd::plugin::md

collectd::plugin::memcachec

collectd::plugin::memcached

  • collectd::plugin::memcached::instances
  • collectd::plugin::memcached::interval

collectd::plugin::memory

  • collectd::plugin::memory::valuesabsolute
  • collectd::plugin::memory::valuespercentage
  • collectd::plugin::memory::interval collectd-multimeter

collectd::plugin::multimeter

collectd::plugin::mysql

  • collectd::plugin::mysql::interval
  • collectd::plugin::netlink::interfaces
  • collectd::plugin::netlink::verboseinterfaces
  • collectd::plugin::netlink::qdiscs
  • collectd::plugin::netlink::classes
  • collectd::plugin::netlink::filters
  • collectd::plugin::netlink::ignoreselected
  • collectd::plugin::netlink::interval

collectd::plugin::network

  • collectd::plugin::network::timetolive
  • collectd::plugin::network::maxpacketsize
  • collectd::plugin::network::forward
  • collectd::plugin::network::reportstats
  • collectd::plugin::network::listeners
  • collectd::plugin::network::servers
  • collectd::plugin::network::interval

collectd::plugin::nfs

  • collectd::plugin::nfs::interval

collectd::plugin::notify_nagios

collectd::plugin::ntpd

  • collectd::plugin::ntpd::host
  • collectd::plugin::ntpd::port
  • collectd::plugin::ntpd::reverselookups
  • collectd::plugin::ntpd::includeunitid
  • collectd::plugin::ntpd::interval

collectd::plugin::numa

  • None

collectd::plugin::olsrd

collectd::plugin::openldap

collectd::plugin::openvpn

  • collectd::plugin::openvpn::statusfile
  • collectd::plugin::openvpn::improvednamingschema
  • collectd::plugin::openvpn::collectcompression
  • collectd::plugin::openvpn::collectindividualusers
  • collectd::plugin::openvpn::collectusercount
  • collectd::plugin::openvpn::interval

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.

Table 5.12. ovs_stats parameters

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'

Additional resources

  • For more information about configuring the ovs_stats plugin, see ovs_stats.

collectd::plugin::pcie_errors

Use the pcie_errors plugin to poll PCI config space for baseline and Advanced Error Reporting (AER) errors, and to parse syslog for AER events. Errors are reported through notifications.

Table 5.13. pcie_errors parameters

Parameter  Type

source

Enum (sysfs, proc)

access

String

reportmasked

Boolean

persistent_notifications

Boolean

Example configuration

parameter_defaults:
    CollectdExtraPlugins:
       - pcie_errors

Additional resources

collectd::plugin::ping

  • collectd::plugin::ping::hosts
  • collectd::plugin::ping::timeout
  • collectd::plugin::ping::ttl
  • collectd::plugin::ping::source_address
  • collectd::plugin::ping::device
  • collectd::plugin::ping::max_missed
  • collectd::plugin::ping::size
  • collectd::plugin::ping::interval

collectd::plugin::powerdns

  • collectd::plugin::powerdns::interval
  • collectd::plugin::powerdns::servers
  • collectd::plugin::powerdns::recursors
  • collectd::plugin::powerdns::local_socket
  • collectd::plugin::powerdns::interval

collectd::plugin::processes

  • collectd::plugin::processes::processes
  • collectd::plugin::processes::process_matches
  • collectd::plugin::processes::collect_context_switch
  • collectd::plugin::processes::collect_file_descriptor
  • collectd::plugin::processes::collect_memory_maps
  • collectd::plugin::powerdns::interval

collectd::plugin::protocols

  • collectd::plugin::protocols::ignoreselected
  • collectd::plugin::protocols::values

collectd::plugin::python

collectd::plugin::sensors

collectd::plugin::serial

collectd::plugin::smart

  • collectd::plugin::smart::disks
  • collectd::plugin::smart::ignoreselected
  • collectd::plugin::smart::interval

collectd::plugin::snmp

collectd::plugin::snmp_agent

Use the snmp_agent plugin as an SNMP subagent to map collectd metrics to relevant OIDs. The snmp agent also requires a running snmpd service.

Example configuration:

parameter_defaults:
    CollectdExtraPlugins:
        snmp_agent
resource_registry:
    OS::TripleO::Services::Snmp: /usr/share/openstack-tripleo-heat-
templates/deployment/snmp/snmp-baremetal-puppet.yaml

Additional resources:

For more information about how to configure snmp_agent, see snmp_agent.

collectd::plugin::statsd

  • collectd::plugin::statsd::host
  • collectd::plugin::statsd::port
  • collectd::plugin::statsd::deletecounters
  • collectd::plugin::statsd::deletetimers
  • collectd::plugin::statsd::deletegauges
  • collectd::plugin::statsd::deletesets
  • collectd::plugin::statsd::countersum
  • collectd::plugin::statsd::timerpercentile
  • collectd::plugin::statsd::timerlower
  • collectd::plugin::statsd::timerupper
  • collectd::plugin::statsd::timersum
  • collectd::plugin::statsd::timercount
  • collectd::plugin::statsd::interval

collectd::plugin::swap

  • collectd::plugin::swap::reportbydevice
  • collectd::plugin::swap::reportbytes
  • collectd::plugin::swap::valuesabsolute
  • collectd::plugin::swap::valuespercentage
  • collectd::plugin::swap::reportio
  • collectd::plugin::swap::interval

collectd::plugin::sysevent

collectd::plugin::syslog

  • collectd::plugin::syslog::log_level
  • collectd::plugin::syslog::notify_level
  • collectd::plugin::syslog::interval

collectd::plugin::table

  • collectd::plugin::table::tables
  • collectd::plugin::table::interval

collectd::plugin::tail

  • collectd::plugin::tail::files
  • collectd::plugin::tail::interval

collectd::plugin::tail_csv

  • collectd::plugin::tail_csv::metrics
  • collectd::plugin::tail_csv::files

collectd::plugin::target_notification

collectd::plugin::target_replace

collectd::plugin::target_scale

collectd::plugin::target_set

collectd::plugin::target_v5upgrade

collectd::plugin::tcpconns

  • collectd::plugin::tcpconns::localports
  • collectd::plugin::tcpconns::remoteports
  • collectd::plugin::tcpconns::listening
  • collectd::plugin::tcpconns::allportssummary
  • collectd::plugin::tcpconns::interval

collectd::plugin::ted

collectd::plugin::thermal

  • collectd::plugin::thermal::devices
  • collectd::plugin::thermal::ignoreselected
  • collectd::plugin::thermal::interval

collectd::plugin::threshold

  • collectd::plugin::threshold::types
  • collectd::plugin::threshold::plugins
  • collectd::plugin::threshold::hosts
  • collectd::plugin::threshold::interval

collectd::plugin::turbostat

  • collectd::plugin::turbostat::core_c_states
  • collectd::plugin::turbostat::package_c_states
  • collectd::plugin::turbostat::system_management_interrupt
  • collectd::plugin::turbostat::digital_temperature_sensor
  • collectd::plugin::turbostat::tcc_activation_temp
  • collectd::plugin::turbostat::running_average_power_limit
  • collectd::plugin::turbostat::logical_core_names

collectd::plugin::unixsock

collectd::plugin::uptime

  • collectd::plugin::uptime::interval

collectd::plugin::users

  • collectd::plugin::users::interval

collectd::plugin::uuid

  • collectd::plugin::uuid::uuid_file
  • collectd::plugin::uuid::interval

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.

Table 5.14. virt parameters

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::plugin_instance_format: name

Additional resources

For more information about configuring the virt plugin, see virt.

collectd::plugin::vmem

  • collectd::plugin::vmem::verbose
  • collectd::plugin::vmem::interval

collectd::plugin::vserver

collectd::plugin::wireless

collectd::plugin::write_graphite

  • collectd::plugin::write_graphite::carbons
  • collectd::plugin::write_graphite::carbon_defaults
  • collectd::plugin::write_graphite::globals

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.

Table 5.15. write_http parameters

Parameter  Type

ensure

Enum[present, absent]

nodes

Hash[String, Hash[String, Scalar]]

urls

Hash[String, Hash[String, Scalar]]

manage_package

Boolean

Example configuration

parameter_defaults:
    CollectdExtraPlugins:
      - write_http
    ExtraConfig:
        collectd::plugin::write_http::nodes:
            collectd:
                url: “http://collectd.tld.org/collectd”
                metrics: true
                header: “X-Custom-Header: custom_value"

Additional resources

  • For more information about configuring the write_http plugin, 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:

Table 5.16. write_kafka parameters

Parameter  Type

kafka_hosts

Array[String]

kafka_port

Integer

topics

Hash

properties

Hash

meta

Hash

Example configuration:

parameter_defaults:
    CollectdExtraPlugins:
       - write_kafka
    ExtraConfig:
      collectd::plugin::write_kafka::kafka_hosts:
        - nodeA
        - nodeB
      collectd::plugin::write_kafka::topics:
        some_events:
          format: JSON

Additional resources:

For more information about how to configure the write_kafka plugin, see write_kafka.

collectd::plugin::write_log

  • collectd::plugin::write_log::format

collectd::plugin::zfs_arc

  • None