第 5 章 collectd 插件
您可以根据 Red Hat OpenStack Platform (RHOSP) 16.1 环境配置多个 collectd 插件。
以下插件列表显示了可设置为覆盖默认值的可用 heat 模板 ExtraConfig 参数。每个部分都提供 ExtraConfig 选项的一般配置名称。例如,如果存在一个名为 example_plugin 的 collectd 插件,则插件标题的格式是 collectd::plugin::example_plugin。
请参考特定插件的可用参数表,如下例所示:
ExtraConfig: collectd::plugin::example_plugin::<parameter>: <value>
ExtraConfig:
collectd::plugin::example_plugin::<parameter>: <value>
引用 Prometheus 或 Grafana 查询的特定插件的指标表。
collectd::plugin::aggregation
您可以使用 聚合 插件将多个值聚合到一起。使用聚合函数,如 sum、average、min 和 max 来计算指标,如平均和 CPU 统计。
| 参数 | 类型 |
|---|---|
| 主机 | 字符串 |
| plugin | 字符串 |
| plugininstance | 整数 |
| agg_type | 字符串 |
| 类型实例 | 字符串 |
| sethost | 字符串 |
| setplugin | 字符串 |
| setplugininstance | 整数 |
| settypeinstance | 字符串 |
| groupby | 字符串数组 |
| computesum | 布尔值 |
| computenum | 布尔值 |
| Computeaverage | 布尔值 |
| 计算最小值 | 布尔值 |
| 计算最大大小 | 布尔值 |
| calculatestddev | 布尔值 |
配置示例:
部署三个聚合配置以创建以下文件:
-
aggregator-calcCpuLoadAvg.conf:按主机和状态分组的所有 CPU 内核的平均 CPU 负载 -
aggregator-calcCpuLoadMinMax.conf: : minimum and maximum CPU load groups by host and state -
aggregator-calcMemoryTotalMaxAvg.conf:最大、平均值和总计内存,按类型分组的内存总数
聚合配置使用默认的 CPU 和内存插件配置。
collectd::plugin::amqp1
使用 amqp1 插件将值写入 amqp1 消息总线,例如 AMQ Interconnect。
| 参数 | 类型 |
|---|---|
| manage_package | 布尔值 |
| 传输 | 字符串 |
| 主机 | 字符串 |
| port | 整数 |
| user | 字符串 |
| password | 字符串 |
| address | 字符串 |
| 实例 | hash |
| retry_delay | 整数 |
| send_queue_limit | 整数 |
| interval | 整数 |
使用 send_queue_limit 参数来限制传出指标队列的长度。
如果没有 AMQP1 连接,则插件将继续队列消息来发送,这会导致未绑定的内存消耗。默认值为 0,即禁用传出指标队列。
如果缺少指标,则增大 send_queue_limit 参数的值。
配置示例:
collectd::plugin::apache
使用 apache 插件从 Apache Web 服务器提供的 mod_status 插件收集 Apache 数据。提供的每个实例都有一个按间隔 值(以秒为单位)。如果您为实例提供 超时 间隔参数,则该值为 毫秒。
| 参数 | 类型 |
|---|---|
| 实例 | hash |
| interval | 整数 |
| manage-package | 布尔值 |
| package_install_options | list |
| 参数 | 类型 |
|---|---|
| url | HTTP URL |
| user | 字符串 |
| password | 字符串 |
| verifypeer | 布尔值 |
| verifyhost | 布尔值 |
| cacert | AbsolutePath |
| sslciphers | 字符串 |
| timeout | 整数 |
配置示例:
在本例中,实例名称为 localhost,它连接到 Apache Web 服务器,地址为 http://10.0.0.111/mod_status?auto。您必须将 ?auto 附加到 URL 的末尾,以防止状态页面返回为与插件不兼容的类型。
其他资源
有关配置 apache 插件的更多信息,请参阅 apache。
collectd::plugin::battery
使用 battery 插件报告笔记本电脑的剩余容量、能力或自愿。
| 参数 | 类型 |
|---|---|
| values_percentage | 布尔值 |
| report_degraded | 布尔值 |
| query_state_fs | 布尔值 |
| interval | 整数 |
其他资源
有关配置 btery 插件 的更多信息,请参阅 battery。
collectd::plugin::bind
使用 bind 插件检索与 DNS 服务器查询和响应相关的编码统计。插件将值提交到 collectd。
| 参数 | 类型 |
|---|---|
| url | HTTP URL |
| memorystats | 布尔值 |
| opcodes | 布尔值 |
| parsetime | 布尔值 |
| qtypes | 布尔值 |
| resolverstats | 布尔值 |
| serverstats | 布尔值 |
| zonemaintstats | 布尔值 |
| 视图 | 数组 |
| interval | 整数 |
| 参数 | 类型 |
|---|---|
| name | 字符串 |
| qtypes | 布尔值 |
| resolverstats | 布尔值 |
| cacherrsets | 布尔值 |
| zones | 字符串列表 |
配置示例:
collectd::plugin::ceph
使用 ceph 插件从 ceph 守护进程收集数据。
| 参数 | 类型 |
|---|---|
| Daemon | 数组 |
| longrunavglatency | 布尔值 |
| convertspecialmetrictypes | 布尔值 |
| package_name | 字符串 |
配置示例:
如果 Object Storage Daemon (OSD)不在每个节点中,您必须列出 OSD。
当您部署 collectd 时,ceph 插件添加到 Ceph 节点。不要将 Ceph 节点上的 ceph 插件添加到 CollectdExtraPlugins,因为这会导致部署失败。
其他资源
有关配置 ceph 插件的更多信息,请参阅 ceph。
collectd::plugins::cgroups
使用 cgroup 插件收集 cgroup 中进程的信息。
| 参数 | 类型 |
|---|---|
| ignore_selected | 布尔值 |
| interval | 整数 |
| Cgroups | list |
其他资源
有关配置 cgroups 插件的更多信息,请参阅 cgroups。
collectd::plugin::connectivity
使用 connectivity 插件监控网络接口的状态。
如果没有列出接口,则默认监控所有接口。
| 参数 | 类型 |
|---|---|
| interfaces | 数组 |
配置示例:
parameter_defaults:
ExtraConfig:
collectd::plugin::connectivity::interfaces:
- eth0
- eth1
parameter_defaults:
ExtraConfig:
collectd::plugin::connectivity::interfaces:
- eth0
- eth1
其他资源
有关配置连接插件的更多信息,请参阅 连接 。
collectd::plugin::conntrack
使用 conntrack 插件跟踪 Linux 连接跟踪表中的条目数。此插件没有参数。
collectd::plugin::contextswitch
使用 ContextSwitch 插件收集系统处理的上下文切换数。唯一可用的参数是 interval,这是以秒为单位定义的轮询间隔。
其他资源
有关配置 contextswitch 插件的更多信息,请参阅 contextswitch。
collectd::plugin::cpu
使用 cpu 插件监控 CPU 在各种状态花费的时间,如空闲、执行用户代码、执行系统代码、等待 IO-operations 和其他状态。
cpu 插件会收集 jiffies,而不是百分比值。jiffy 的值取决于您的硬件平台的时钟频率,因此不是一个绝对的时间间隔单位。
要报告百分比值,请将布尔值参数 reportbycpu 和 reportbystate 设置为 true,然后将布尔值 值percentage 设置为 true。
此插件默认为启用。
| Name | 描述 | 查询 |
|---|---|---|
| idle | 空闲时间量 |
|
| interrupt | 由中断阻止的 CPU |
|
| nice | 运行低优先级进程的时间 |
|
| softirq | 保留中断请求所花费的周期数量 |
|
| steal | 虚拟 CPU 等待实际 CPU 的时间百分比,而虚拟机监控程序为另一个虚拟处理器提供服务 |
|
| system | 系统级别花费的时间(内核) |
|
| user | 用户进程使用的差异 |
|
| wait | CPU 在未完成的 I/O 请求时等待 |
|
| 参数 | 类型 | 默认值 |
|---|---|---|
| reportbystate | 布尔值 | true |
| valuespercentage | 布尔值 | true |
| reportbycpu | 布尔值 | true |
| reportnumcpu | 布尔值 | false |
| reportgueststate | 布尔值 | false |
| subtractgueststate | 布尔值 | true |
| interval | 整数 | 120 |
配置示例:
parameter_defaults:
CollectdExtraPlugins:
- cpu
ExtraConfig:
collectd::plugin::cpu::reportbystate: true
parameter_defaults:
CollectdExtraPlugins:
- cpu
ExtraConfig:
collectd::plugin::cpu::reportbystate: true
其他资源
有关配置 cpu 插件的更多信息,请参阅 cpu。
collectd::plugin::cpufreq
使用 cpufreq 插件收集当前的 CPU 频率。此插件没有参数。
collectd::plugin::csv
使用 csv 插件将值写入 CSV 格式的本地文件。
| 参数 | 类型 |
|---|---|
| datadir | 字符串 |
| storerates | 布尔值 |
| interval | 整数 |
collectd::plugin::df
使用 df 插件收集文件系统的磁盘空间使用信息。
此插件默认为启用。
| Name | 描述 | 查询 |
|---|---|---|
| free | 可用磁盘空间量 |
|
| 保留 | 保留磁盘空间量 |
|
| 使用的 | 已用磁盘空间量 |
|
| 参数 | 类型 | 默认值 |
|---|---|---|
| devices | 数组 |
|
| fstypes | 数组 |
|
| ignoreselected | 布尔值 | true |
| 挂载点 | 数组 |
|
| reportbydevice | 布尔值 | true |
| reportinodes | 布尔值 | true |
| reportreserved | 布尔值 | true |
| valuesabsolute | 布尔值 | true |
| valuespercentage | 布尔值 | false |
配置示例:
parameter_defaults:
ExtraConfig:
collectd::plugin::df::fstypes: ['tmpfs','xfs']
parameter_defaults:
ExtraConfig:
collectd::plugin::df::fstypes: ['tmpfs','xfs']
其他资源
有关配置 df 插件的更多信息,请参阅 df。
collectd::plugin::disk
使用 disk 插件收集硬盘的性能统计信息,如果支持,则需使用分区。
所有磁盘会被默认监控。您可以使用 ignoreselected 参数来忽略磁盘列表。示例配置会忽略 sda、sdb 和 sdc 磁盘,并监控列表中不包含的所有磁盘。
此插件默认为启用。
| 参数 | 类型 | 默认值 |
|---|---|---|
| disks | 数组 |
|
| ignoreselected | 布尔值 | false |
| udevnameattr | 字符串 | <undefined> |
| Name | 描述 |
|---|---|
| 合并 | 可以合并在一起的已排队操作数量,例如,一个物理磁盘访问服务两个或者多个逻辑操作。 |
| time | I/O 合作完成的平均时间。该值可能不正确。 |
| 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
parameter_defaults:
ExtraConfig:
collectd::plugin::disk::disks: ['sda', 'sdb', 'sdc']
collectd::plugin::disk::ignoreselected: true
其他资源
有关配置磁盘插件的更多信息,请参阅 磁盘 。
collectd::plugin::hugepages
使用 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
parameter_defaults:
ExtraConfig:
collectd::plugin::hugepages::values_percentage: true
其他资源
-
有关配置
巨页插件的更多信息,请参阅 大页。
collectd::plugin::interface
使用 interface 插件来测量 octets 中的接口流量,每秒数据包每秒和错误率。
此插件默认为启用。
| 参数 | 类型 | 默认 |
|---|---|---|
| interfaces | 数组 |
|
| ignoreselected | 布尔值 | false |
| reportinactive | 布尔值 | true |
配置示例:
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
其他资源
-
有关配置
接口插件的更多信息,请参阅 接口。
collectd::plugin::load
使用 load 插件收集系统负载以及系统使用的概览。
此插件默认为启用。
| 参数 | 类型 | 默认 |
|---|---|---|
| report_relative | 布尔值 | true |
配置示例:
parameter_defaults:
ExtraConfig:
collectd::plugin::load::report_relative: false
parameter_defaults:
ExtraConfig:
collectd::plugin::load::report_relative: false
其他资源
-
有关配置
load插件的更多信息,请参阅 加载。
collectd::plugin::mcelog
使用 mcelog 插件,在出现时发送通知和与机器检查例外相关的统计信息。将 mcelog 配置为以守护进程模式运行并启用日志记录功能。
| 参数 | 类型 |
|---|---|
| Mcelogfile | 字符串 |
| 内存 |
hash |
配置示例:
parameter_defaults:
CollectdExtraPlugins: mcelog
CollectdEnableMcelog: true
parameter_defaults:
CollectdExtraPlugins: mcelog
CollectdEnableMcelog: true
其他资源
-
有关配置
mcelog插件的更多信息,请参阅 mcelog。
collectd::plugin::memcached
使用 memcached 插件检索有关 memcached 缓存使用情况、内存以及其他相关信息的信息。
| 参数 | 类型 |
|---|---|
| 实例 | hash |
| interval | 整数 |
配置示例:
其他资源
-
有关配置
memcached插件的更多信息,请参阅 memcached。
collectd::plugin::memory
使用 memory 插件检索有关系统内存的信息。
此插件默认为启用。
| 参数 | 类型 |
|---|---|
| 默认值 | valuesabsolute |
| 布尔值 | true |
| valuespercentage | 布尔值 |
配置示例:
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
其他资源
-
有关配置
内存插件的更多信息,请参阅 内存。
collectd::plugin::ntpd
使用 ntpd 插件查询本地 NTP 服务器,该服务器已配置为允许访问统计数据,并检索有关配置的参数和时间同步状态的信息。
| 参数 | 类型 |
|---|---|
| 主机 | Hostname |
| port | 端口号(整数) |
| reverselookups | 布尔值 |
| includeunitid | 布尔值 |
| interval | 整数 |
配置示例:
其他资源
-
有关配置
ntpd插件的更多信息,请参阅 ntpd。
collectd::plugin::ovs_stats
使用 ovs_stats 插件收集 OVS 连接接口的统计信息。ovs_stats 插件使用 OVSDB 管理协议(RFC7047)监控机制从 OVSDB 获取统计信息。
| 参数 | 类型 |
|---|---|
| address | 字符串 |
| Bridge | list |
| port | 整数 |
| socket | 字符串 |
配置示例:
以下示例演示了如何启用 ovs_stats 插件。如果使用 OVS 部署 overcloud,则不需要启用 ovs_stats 插件。
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'
其他资源
-
有关配置
ovs_stats插件的更多信息,请参阅 ovs_stats。
collectd::plugin::processes
进程插件 提供有关系统进程的信息。如果没有指定进程匹配,则插件仅通过状态收集进程数量和进程分叉率。
要收集特定进程的更多详细信息,您可以使用 process 参数指定进程名称或 process_match 选项指定与正则表达式匹配的进程名称。process_match 输出的统计信息按进程名称分组。
此插件默认为启用。
| 参数 | 类型 | 默认值 |
|---|---|---|
| 进程 | 数组 | <undefined> |
| process_matches | 数组 | <undefined> |
| collect_context_switch | 布尔值 | <undefined> |
| collect_file_descriptor | 布尔值 | <undefined> |
| collect_memory_maps | 布尔值 | <undefined> |
其他资源
-
有关配置进程插件的更多信息,请参阅
进程。https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_processes
collectd::plugin::smart
使用 智能 插件从节点上的物理磁盘收集 SMART 信息。您还必须将参数 CollectdContainerAdditionalCapAdd 设置为 CAP_SYS_RAWIO 以允许 智能 插件读取 SMART 遥测。如果您没有设置 CollectdContainerAdditionalCapAdd 参数,则会将以下消息写入 collectd 错误日志:
smart 插件:以 root 用户身份运行 collectd,但缺少 CAP_SYS_RAWIO 功能。插件的读取功能可能会失败。您的 init 系统是否丢弃功能?。
| 参数 | 类型 |
|---|---|
| disks | 数组 |
| ignoreselected | 布尔值 |
| interval | 整数 |
配置示例:
parameter_defaults: CollectdExtraPlugins: - smart CollectdContainerAdditionalCapAdd: "CAP_SYS_RAWIO"
parameter_defaults:
CollectdExtraPlugins:
- smart
CollectdContainerAdditionalCapAdd: "CAP_SYS_RAWIO"
附加信息
-
有关配置
智能插件的更多信息,请参阅 smart。
collectd::plugin::swap
使用 swap 插件收集有关可用和已用 swap 空间的信息。
| 参数 | 类型 |
|---|---|
| reportbydevice | 布尔值 |
| reportbytes | 布尔值 |
| valuesabsolute | 布尔值 |
| valuespercentage | 布尔值 |
| reportio | 布尔值 |
配置示例:
collectd::plugin::tcpconns
使用 tcpconns 插件收集有关配置的端口入站或出站的 TCP 连接数的信息。本地端口配置代表到端口的入站连接。远程端口配置代表来自端口的出站连接。
| 参数 | 类型 |
|---|---|
| localports | 端口(ay) |
| remoteports | 端口(ay) |
| listening | 布尔值 |
| allportssummary | 布尔值 |
配置示例:
collectd::plugin::thermal
使用 rmal 插件检索 ACPI 热区域信息。
| 参数 | 类型 |
|---|---|
| devices | 数组 |
| ignoreselected | 布尔值 |
| interval | 整数 |
配置示例:
parameter_defaults: CollectdExtraPlugins: - thermal
parameter_defaults:
CollectdExtraPlugins:
- thermal
collectd::plugin::uptime
使用 uptime 插件收集有关系统正常运行时间的信息。
此插件默认为启用。
| 参数 | 类型 |
|---|---|
| interval | 整数 |
collectd::plugin::virt
使用 virt 插件通过 libvirt API 在主机上为虚拟机收集 CPU、磁盘、网络负载和其他指标。
此插件在计算主机上默认启用。
| 参数 | 类型 |
|---|---|
| 连接 | 字符串 |
| 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
ExtraConfig:
collectd::plugin::virt::hostname_format: "name uuid hostname"
collectd::plugin::virt::plugin_instance_format: metadata
其他资源
有关配置 virt 插件的更多信息,请参阅 virt。
collectd::plugin::vmem
使用 vmem 插件从内核子系统收集虚拟内存的信息。
| 参数 | 类型 |
|---|---|
| 详细 | 布尔值 |
| interval | 整数 |
配置示例:
collectd::plugin::write_http
使用 write_http 输出插件,使用带有 JSON 的 POST 请求和编码指标,或使用 PUTVAL 命令向 HTTP 服务器提交值。
| 参数 | 类型 |
|---|---|
| 确保 | enum[present,absent] |
| 节点 | hash[String, Hash[String, Scalar]] |
| urls | hash[String, Hash[String, Scalar]] |
| manage_package | 布尔值 |
配置示例:
其他资源
-
有关配置
write_http插件的更多信息,请参阅 write_http。
collectd::plugin::write_kafka
使用 write_kafka 插件将值发送到 Kafka 主题。使用一个或多个主题块配置 write_kafka 插件。对于每个主题块,您必须指定一个唯一名称和一个 Kafka producer。您可以使用主题块中的以下每主题参数:
| 参数 | 类型 |
|---|---|
| kafka_hosts | 数组[String] |
| 主题 | hash |
| 属性 | hash |
| meta | hash |
配置示例:
其他资源:
有关如何配置 write_kafka 插件的更多信息,请参阅 write_kafka。