第 5 章 collectd 插件


您可以根据 Red Hat OpenStack Platform(RHOSP)16.2 环境来配置多个 collectd 插件。

以下插件列表显示了可用于 heat 模板 ExtraConfig 参数,这些参数可设为覆盖默认值。每个部分提供 ExtraConfig 选项的一般配置名称。例如,如果存在名为 example_plugin 的 collectd 插件,则插件标题格式为 collectd::plugin::example_plugin

请参考特定插件的可用参数表,如下例所示:

ExtraConfig:
  collectd::plugin::example_plugin::<parameter>: <value>

引用用于 Prometheus 或 Grafana 查询的特定插件的指标表。

collectd::plugin::aggregation

您可以使用 聚合 插件将几个值聚合到一个中。使用聚合功能,如 sumaverageminmax 来计算指标,如平均 CPU 统计和总 CPU 统计。

表 5.1. 聚合参数
参数类型

主机

字符串

plugin

字符串

plugininstance

整数

agg_type

字符串

typeinstance

字符串

sethost

字符串

setplugin

字符串

setplugininstance

整数

settypeinstance

字符串

groupby

String 数组

calculatesum

布尔值

calculatenum

布尔值

calculateaverage

布尔值

calculateminimum

布尔值

calculatemaximum

布尔值

calculatestddev

布尔值

配置示例:

部署三个聚合配置以创建以下文件:

  1. aggregator-calcCpuLoadAvg.conf :按主机和状态分组的所有 CPU 内核的平均 CPU 负载
  2. aggregator-calcCpuLoadMinMax.conf :主机和状态最大 CPU 负载组
  3. aggregator-calcMemoryTotalMaxAvg.conf :最大、平均和总内存,按类型分组

聚合配置使用默认的 cpu 和内存 插件配置。

parameter_defaults:
  CollectdExtraPlugins:
    - aggregation

  ExtraConfig:
    collectd::plugin::aggregation::aggregators:
      calcCpuLoadAvg:
        plugin: "cpu"
        agg_type: "cpu"
        groupby:
          - "Host"
          - "TypeInstance"
        calculateaverage: True
      calcCpuLoadMinMax:
        plugin: "cpu"
        agg_type: "cpu"
        groupby:
          - "Host"
          - "TypeInstance"
        calculatemaximum: True
        calculateminimum: True
      calcMemoryTotalMaxAvg:
        plugin: "memory"
        agg_type: "memory"
        groupby:
          - "TypeInstance"
        calculatemaximum: True
        calculateaverage: True
        calculatesum: True

collectd::plugin::amqp1

使用 amqp1 插件将值写入 amqp1 消息总线,如 AMQ Interconnect。

表 5.2. amqp1 parameters
参数类型

manage_package

布尔值

传输

字符串

主机

字符串

port

整数

user

字符串

password

字符串

address

字符串

实例

hash

retry_delay

整数

send_queue_limit

整数

interval

整数

使用 send_queue_limit 参数来限制传出指标队列的长度。

注意

如果没有 AMQP1 连接,插件将继续队列要发送的消息,这可能导致不绑定的内存消耗。默认值为 0,它禁用传出的指标队列。

如果缺少指标,则增加 send_queue_limit 参数的值。

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
    - amqp1

  ExtraConfig:
    collectd::plugin::amqp1::send_queue_limit: 5000

collectd::plugin::apache

使用 apache 插件从 Apache Web 服务器提供的 mod_status 插件收集 Apache 数据。提供的每个实例都有一个以秒数为单位的间隔 值。如果您为实例提供 超时 间隔参数,则该值为毫秒。

表 5.3. Apache 参数
参数类型

实例

hash

interval

整数

manage-package

布尔值

package_install_options

list

表 5.4. Apache 实例参数
参数类型

url

HTTP URL

user

字符串

password

字符串

verifypeer

布尔值

verifyhost

布尔值

cacert

AbsolutePath

sslciphers

字符串

timeout

整数

配置示例:

在本例中,实例名称是 localhost,它连接到位于 http://10.0.0.111/mod_status?auto 的 Apache Web 服务器。您必须在 URL 的末尾附加 ?auto 以防止状态页面返回为与插件不兼容的类型。

parameter_defaults:
  CollectdExtraPlugins:
  - apache

  ExtraConfig:
    collectd::plugin::apache::instances:
      localhost:
        url: "http://10.0.0.111/mod_status?auto"

其他资源

有关配置 apache 插件的详情,请参考 apache

collectd::plugin::battery

使用 battery 插件报告笔记本电脑 Batteries 剩余容量、power 或 voltage。

表 5.5. battery 参数
参数类型

values_percentage

布尔值

report_degraded

布尔值

query_state_fs

布尔值

interval

整数

其他资源

有关配置 battery 插件的详情,请参考 https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_ceph

collectd::plugin::bind

使用 bind 插件检索有关 DNS 服务器的查询和响应的编码统计,并将这些值提交至 collectd。

表 5.6. 绑定参数
参数类型

url

HTTP URL

memorystats

布尔值

opcode

布尔值

parsetime

布尔值

qtypes

布尔值

resolverstats

布尔值

serverstats

布尔值

zonemaintstats

布尔值

视图

数组

interval

整数

表 5.7. 绑定视图参数
参数类型

name

字符串

qtypes

布尔值

resolverstats

布尔值

cacherrsets

布尔值

zones

字符串列表

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - bind

  ExtraConfig:
    collectd::plugins::bind:
      url: http://localhost:8053/
      memorystats: true
      opcodes: true
      parsetime: false
      qtypes: true
      resolverstats: true
      serverstats: true
      zonemaintstats: true
      views:
      - name: internal
        qtypes: true
        resolverstats: true
        cacherrsets: true
      - name: external
        qtypes: true
        resolverstats: true
        cacherrsets: true
        zones:
        - "example.com/IN"

collectd::plugin::ceph

使用 ceph 插件从 ceph 守护进程收集数据。

表 5.8. Ceph 参数
参数类型

daemons

数组

longrunavglatency

布尔值

convertspecialmetrictypes

布尔值

package_name

字符串

配置示例:

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

注意

如果 Object Storage Daemon(OSD)不在每个节点中,您必须列出 OSD。

部署 collectd 时,ceph 插件将添加到 Ceph 节点。不要在 Ceph 节点上添加 ceph 插件到 CollectdExtraPlugins,因为这会导致部署失败。

其他资源

有关配置 ceph 插件的更多信息,请参阅 ceph

collectd::plugins::cgroups

使用 cgroups 插件收集 cgroup 中进程的信息。

表 5.9. Cgroups 参数
参数类型

ignore_selected

布尔值

interval

整数

Cgroups

list

其他资源

有关配置 cgroups 插件的更多信息,请参阅 cgroups

collectd::plugin::connectivity

使用 connectivity 插件监控网络接口的状态。

注意

如果没有列出接口,则默认监控所有接口。

表 5.10. 连接参数
参数类型

interfaces

数组

配置示例:

parameter_defaults:
    ExtraConfig:
        collectd::plugin::connectivity::interfaces:
        - eth0
        - eth1

其他资源

有关配置连接插件的详情,请参考 连接

collectd::plugin::conntrack

使用 conntrack 插件跟踪 Linux 连接跟踪表中的条目数。此插件没有参数。

collectd::plugin::contextswitch

使用 ContextSwitch 插件收集系统处理的上下文切换的数量。唯一可用的参数是 间隔,这是以秒为单位定义的轮询间隔。

其他资源

有关配置 contextswitch 插件的详情,请参考 contextswitch

collectd::plugin::cpu

使用 cpu 插件监控 CPU 处于各种状态的时间,如 idle、执行用户代码、执行系统代码、等待 IO-operations 和其他状态。

cpu 插件收集 jiffies,而不是百分比值。jiffy 的值取决于您的硬件平台的时钟频率,因此不是绝对时间间隔单元。

要报告百分比值,请将布尔值参数 reportbycpureportbystate 设为 true,然后将布尔值 参数值percentage 设置为 true。

此插件默认为启用。

表 5.11. CPU 指标
Name描述查询

idle

空闲时间

collectd_cpu_total{...,type_instance='idle'}

interrupt

中断的 CPU 阻断

collectd_cpu_total{...,type_instance='interrupt'}

nice

运行低优先级进程的时间

collectd_cpu_total{...,type_instance='nice'}

softirq

在服务中断请求中花费的时间量

collectd_cpu_total{...,type_instance='waitirq'}

steal

虚拟 CPU 等待实际 CPU 的时间百分比,同时虚拟机监控程序为另一个虚拟处理器提供服务

collectd_cpu_total{...,type_instance='steal'}

system

在系统级别花费的时间(内核)

collectd_cpu_total{...,type_instance='system'}

user

断言该用户进程使用

collectd_cpu_total{...,type_instance='user'}

wait

等待未完成 I/O 请求的 CPU

collectd_cpu_total{...,type_instance='wait'}

表 5.12. CPU 参数
参数类型默认值

reportbystate

布尔值

true

valuespercentage

布尔值

true

reportbycpu

布尔值

true

reportnumcpu

布尔值

false

reportgueststate

布尔值

false

subtractgueststate

布尔值

true

interval

整数

120

配置示例:

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

其他资源

有关配置 cpu 插件的更多信息,请参阅 cpu

collectd::plugin::cpufreq

使用 cpufreq 插件收集当前的 CPU 频率。此插件没有参数。

collectd::plugin::csv

使用 csv 插件将值写入 CSV 格式的本地文件。

表 5.13. CSV 参数
参数类型

datadir

字符串

storerates

布尔值

interval

整数

collectd::plugin::df

使用 df 插件收集文件系统的磁盘空间使用情况信息。

此插件默认为启用。

表 5.14. df 指标
Name描述查询

free

可用磁盘空间量

collectd_df_df_complex{...,type_instance="free"}

保留

保留磁盘空间量

collectd_df_df_complex{...,type_instance="reserved"}

使用的

已用磁盘空间量

collectd_df_df_complex{...,type_instance="used"}

表 5.15. df 参数
参数类型默认值

devices

数组

[]

fstypes

数组

['XFS']

ignoreselected

布尔值

true

mountpoints

数组

[]

reportbydevice

布尔值

true

reportinodes

布尔值

true

reportreserved

布尔值

true

valuesabsolute

布尔值

true

valuespercentage

布尔值

false

配置示例:

parameter_defaults:
  ExtraConfig:
    collectd::plugin::df::fstypes: ['tmpfs','xfs']

其他资源

有关配置 df 插件的更多信息,请参阅 df

collectd::plugin::disk

使用 磁盘插件 收集硬盘的性能统计信息,如果支持,分区。

注意

默认情况下,磁盘插件 会监控所有磁盘。您可以使用 ignoreselected 参数忽略磁盘列表。示例配置会忽略 sdasdbsdc 磁盘,并监控列表中不包含的所有磁盘。

此插件默认为启用。

表 5.16. 磁盘参数
参数类型默认值

disks

数组

[]

ignoreselected

布尔值

false

udevnameattr

字符串

<undefined>

表 5.17. 磁盘指标
Name描述

合并

可合并在一起的已排队操作数量,例如,一个物理磁盘访问提供了两个或多个逻辑操作。

time

I/O-operation 的平均时间完成。值可能不准确。

io_time

花费的时间用时 I/O(ms)。您可以使用此指标作为设备负载百分比。值 1 秒与 100% 负载匹配。

weighted_io_time

测量 I/O 完成时间和可能会累积的积压。

pending_operations

显示待处理的 I/O 操作的队列大小。

配置示例:

parameter_defaults:
  ExtraConfig:
    collectd::plugin::disk::disks: ['sda', 'sdb', 'sdc']
    collectd::plugin::disk::ignoreselected: true

其他资源

有关配置磁盘插件的详情,请参考 磁盘

collectd::plugin::hugepages

使用 hugepages 插件收集大页信息。

This plugin is enabled by default.
表 5.18. hugepages 参数
参数类型默认值

report_per_node_hp

布尔值

true

report_root_hp

布尔值

true

values_pages

布尔值

true

values_bytes

布尔值

false

values_percentage

布尔值

false

配置示例:

parameter_defaults:
  ExtraConfig:
    collectd::plugin::hugepages::values_percentage: true

其他资源

  • 有关配置 hugepages 插件的更多信息,请参阅 hugepages

collectd::plugin::interface

使用 interface 插件测量 octets、每秒数据包和每秒错误率中的接口流量。

This plugin is enabled by default.
表 5.19. 接口参数
参数类型默认

interfaces

数组

[]

ignoreselected

布尔值

false

reportinactive

布尔值

true

配置示例:

parameter_defaults:
  ExtraConfig:
    collectd::plugin::interface::interfaces:
      - lo
    collectd::plugin::interface::ignoreselected: true

其他资源

  • 有关配置 接口 插件的详情,请参考 接口

collectd::plugin::load

使用 load 插件收集系统负载和系统使用的概述。

This plugin is enabled by default.
表 5.20. 插件参数
参数类型默认

report_relative

布尔值

true

配置示例:

parameter_defaults:
  ExtraConfig:
    collectd::plugin::load::report_relative: false

其他资源

collectd::plugin::mcelog

使用 mcelog 插件发送与 Machine Check Exception 相关的通知和统计数据。配置 mcelog 以以守护进程模式运行并启用日志记录功能。

表 5.21. mcelog 参数
参数类型

Mcelogfile

字符串

内存

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

配置示例:

parameter_defaults:
    CollectdExtraPlugins: mcelog
    CollectdEnableMcelog: true

其他资源

  • 有关配置 mcelog 插件的更多信息,请参阅 mcelog

collectd::plugin::memcached

使用 memcached 插件检索有关 memcached 缓存使用、内存和其他相关信息的信息。

表 5.22. memcached 参数
参数类型

实例

hash

interval

整数

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - memcached

  ExtraConfig:
    collectd::plugin::memcached::instances:
      local:
        host: "%{hiera('fqdn_canonical')}"
        port: 11211

其他资源

  • 有关配置 memcached 插件的更多信息,请参阅 memcached

collectd::plugin::memory

使用 memory 插件检索系统内存的信息。

This plugin is enabled by default.
表 5.23. 内存参数
参数类型

默认值

valuesabsolute

布尔值

true

valuespercentage

布尔值

配置示例:

parameter_defaults:
  ExtraConfig:
    collectd::plugin::memory::valuesabsolute: true
    collectd::plugin::memory::valuespercentage: false

其他资源

  • 有关配置 内存 插件的详情,请参考 内存

collectd::plugin::ntpd

使用 ntpd 插件查询配置为允许访问统计数据的本地 NTP 服务器,并检索关于配置的参数和时间同步状态的信息。

表 5.24. ntpd 参数
参数类型

主机

Hostname

port

端口号(整数)

reverselookups

布尔值

includeunitid

布尔值

interval

整数

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - ntpd

  ExtraConfig:
    collectd::plugin::ntpd::host: localhost
    collectd::plugin::ntpd::port: 123
    collectd::plugin::ntpd::reverselookups: false
    collectd::plugin::ntpd::includeunitid: false

其他资源

  • 有关配置 ntpd 插件的详情,请参考 ntpd

collectd::plugin::ovs_stats

使用 ovs_stats 插件收集 OVS 连接接口的统计信息。ovs_stats 插件使用 OVSDB 管理协议(RFC7047)监控机制从 OVSDB 获取统计信息。

表 5.25. ovs_stats parameters
参数类型

address

字符串

网桥

list

port

整数

套接字

字符串

配置示例:

以下示例演示了如何启用 ovs_stats 插件。如果使用 OVS 部署 overcloud,则不需要启用 ovs_stats 插件。

    parameter_defaults:
        CollectdExtraPlugins:
          - ovs_stats
        ExtraConfig:
          collectd::plugin::ovs_stats::socket: '/run/openvswitch/db.sock'

其他资源

  • 有关配置 ovs_stats 插件的更多信息,请参阅 ovs_stats

collectd::plugin::processes

process 插件提供有关系统进程的信息。如果您没有指定自定义进程匹配,则插件仅按状态和进程分叉率收集进程数量。

要收集有关特定进程的更多详细信息,您可以使用 process 参数指定进程名称或 process_match 选项,以指定与正则表达式匹配的进程名称。process_match 输出的统计数据按进程名称分组。

表 5.26. 插件参数
参数类型默认值

Process

数组

<undefined>

process_matches

数组

<undefined>

collect_context_switch

布尔值

<undefined>

collect_file_descriptor

布尔值

<undefined>

collect_memory_maps

布尔值

<undefined>

其他资源

  • 有关配置进程插件的详情,请参考 进程

collectd::plugin::smart

使用 智能 插件从节点上的物理磁盘收集 SMART(self-monitoring、分析和报告技术)。您还必须将参数 CollectdContainerAdditionalCapAdd 设置为 CAP_SYS_RAWIO,以允许 智能 插件读取 SMART 遥测。如果您没有设置 CollectdContainerAdditionalCapAdd 参数,则会将以下消息写入 collectd 错误日志:

智能插件:以 root 用户身份运行 collectd,但缺少 CAP_SYS_RAWIO 功能。插件的读取功能可能会失败。您的 init 系统丢弃功能吗?

表 5.27. 智能参数
参数类型

disks

数组

ignoreselected

布尔值

interval

整数

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - smart

  CollectdContainerAdditionalCapAdd: "CAP_SYS_RAWIO"

附加信息

collectd::plugin::swap

使用 swap 插件收集有关可用和已用 swap 空间的信息。

表 5.28. swap 参数
参数类型

reportbydevice

布尔值

reportbytes

布尔值

valuesabsolute

布尔值

valuespercentage

布尔值

reportio

布尔值

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - swap

  ExtraConfig:
    collectd::plugin::swap::reportbydevice: false
    collectd::plugin::swap::reportbytes: true
    collectd::plugin::swap::valuesabsolute: true
    collectd::plugin::swap::valuespercentage: false
    collectd::plugin::swap::reportio: true

collectd::plugin::tcpconns

使用 tcpconns 插件从配置的端口收集 TCP 连接数或出站的信息。本地端口配置代表入口连接。远程端口配置代表出口连接。

表 5.29. tcpconns parameters
参数类型

localports

端口(文章)

remoteports

端口(文章)

侦听

布尔值

allportssummary

布尔值

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - tcpconns

  ExtraConfig:
    collectd::plugin::tcpconns::listening: false
    collectd::plugin::tcpconns::localports:
    - 22
    collectd::plugin::tcpconns::remoteports:
    - 22

collectd::plugin::thermal

使用 rmal 插件检索 ACPIrmal 区信息。

表 5.30. rmal 参数
参数类型

devices

数组

ignoreselected

布尔值

interval

整数

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - thermal

collectd::plugin::uptime

使用 uptime 插件收集有关系统运行时间的信息。

This plugin is enabled by default.
表 5.31. uptime 参数
参数类型

interval

整数

collectd::plugin::virt

使用 virt 插件通过主机上虚拟机的 libvirt API 收集 CPU、磁盘、网络负载和其他指标。

此插件在计算节点上默认启用。

表 5.32. virt 参数
参数类型

连接

字符串

refresh_interval

hash

domain

字符串

block_device

字符串

interface_device

字符串

ignore_selected

布尔值

plugin_instance_format

字符串

hostname_format

字符串

interface_format

字符串

extra_stats

字符串

配置示例:

ExtraConfig:
  collectd::plugin::virt::hostname_format: "name uuid hostname"
  collectd::plugin::virt::plugin_instance_format: metadata

其他资源

有关配置 virt 插件的详情,请参考 virt

collectd::plugin::vmem

使用 vmem 插件从内核子系统收集虚拟内存的信息。

表 5.33. vmem 参数
参数类型

详细

布尔值

interval

整数

配置示例:

parameter_defaults:
  CollectdExtraPlugins:
  - vmem

  ExtraConfig:
    collectd::plugin::vmem::verbose: true

collectd::plugin::write_http

使用 write_http 输出插件,通过使用带有 JSON 的 POST 请求和编码指标向 HTTP 服务器提交值,或使用 PUTVAL 命令。

表 5.34. write_http parameters
参数类型

确保

enum[present,absent]

节点

hash[String, Hash[String, Scalar]]

urls

hash[String, Hash[String, Scalar]]

manage_package

布尔值

配置示例:

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"

其他资源

  • 有关配置 write_http 插件的更多信息,请参阅 write_http

collectd::plugin::write_kafka

使用 write_kafka 插件将值发送到 Kafka 主题。使用一个或多个 topic 块配置 write_kafka 插件。对于每个主题块,您必须指定一个唯一名称和一个 Kafka producer。您可以在主题块中使用以下内容( per-topic)参数:

表 5.35. write_kafka parameters
参数类型

kafka_hosts

数组[字符串]

topics

hash

属性

hash

meta

hash

配置示例:

parameter_defaults:
    CollectdExtraPlugins:
       - write_kafka
    ExtraConfig:
      collectd::plugin::write_kafka::kafka_hosts:
        - remote.tld:9092
      collectd::plugin::write_kafka::topics:
        mytopic:
          format: JSON

其他资源:

有关如何配置 write_kafka 插件的更多信息,请参阅 write_kafka

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.