第 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
您可以使用 聚合
插件将几个值聚合到一个中。使用聚合功能,如 sum
、average
、min
和 max
来计算指标,如平均 CPU 统计和总 CPU 统计。
参数 | 类型 |
---|---|
主机 | 字符串 |
plugin | 字符串 |
plugininstance | 整数 |
agg_type | 字符串 |
typeinstance | 字符串 |
sethost | 字符串 |
setplugin | 字符串 |
setplugininstance | 整数 |
settypeinstance | 字符串 |
groupby | String 数组 |
calculatesum | 布尔值 |
calculatenum | 布尔值 |
calculateaverage | 布尔值 |
calculateminimum | 布尔值 |
calculatemaximum | 布尔值 |
calculatestddev | 布尔值 |
配置示例:
部署三个聚合配置以创建以下文件:
-
aggregator-calcCpuLoadAvg.conf
:按主机和状态分组的所有 CPU 内核的平均 CPU 负载 -
aggregator-calcCpuLoadMinMax.conf
:主机和状态最大 CPU 负载组 -
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。
参数 | 类型 |
---|---|
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 数据。提供的每个实例都有一个以秒数为单位的间隔
值。如果您为实例提供 超时
间隔参数,则该值为毫秒。
参数 | 类型 |
---|---|
实例 | hash |
interval | 整数 |
manage-package | 布尔值 |
package_install_options | list |
参数 | 类型 |
---|---|
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。
参数 | 类型 |
---|---|
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。
参数 | 类型 |
---|---|
url | HTTP URL |
memorystats | 布尔值 |
opcode | 布尔值 |
parsetime | 布尔值 |
qtypes | 布尔值 |
resolverstats | 布尔值 |
serverstats | 布尔值 |
zonemaintstats | 布尔值 |
视图 | 数组 |
interval | 整数 |
参数 | 类型 |
---|---|
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 守护进程收集数据。
参数 | 类型 |
---|---|
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 中进程的信息。
参数 | 类型 |
---|---|
ignore_selected | 布尔值 |
interval | 整数 |
Cgroups | list |
其他资源
有关配置 cgroups
插件的更多信息,请参阅 cgroups。
collectd::plugin::connectivity
使用 connectivity 插件监控网络接口的状态。
如果没有列出接口,则默认监控所有接口。
参数 | 类型 |
---|---|
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 的值取决于您的硬件平台的时钟频率,因此不是绝对时间间隔单元。
要报告百分比值,请将布尔值参数 reportbycpu
和 reportbystate
设为 true
,然后将布尔值 参数值percentage
设置为 true。
此插件默认为启用。
Name | 描述 | 查询 |
---|---|---|
idle | 空闲时间 |
|
interrupt | 中断的 CPU 阻断 |
|
nice | 运行低优先级进程的时间 |
|
softirq | 在服务中断请求中花费的时间量 |
|
steal | 虚拟 CPU 等待实际 CPU 的时间百分比,同时虚拟机监控程序为另一个虚拟处理器提供服务 |
|
system | 在系统级别花费的时间(内核) |
|
user | 断言该用户进程使用 |
|
wait | 等待未完成 I/O 请求的 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 格式的本地文件。
参数 | 类型 |
---|---|
datadir | 字符串 |
storerates | 布尔值 |
interval | 整数 |
collectd::plugin::df
使用 df
插件收集文件系统的磁盘空间使用情况信息。
此插件默认为启用。
Name | 描述 | 查询 |
---|---|---|
free | 可用磁盘空间量 |
|
保留 | 保留磁盘空间量 |
|
使用的 | 已用磁盘空间量 |
|
参数 | 类型 | 默认值 |
---|---|---|
devices | 数组 |
|
fstypes | 数组 |
|
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
参数忽略磁盘列表。示例配置会忽略 sda、sdb 和 sdc 磁盘,并监控列表中不包含的所有磁盘。
此插件默认为启用。
参数 | 类型 | 默认值 |
---|---|---|
disks | 数组 |
|
ignoreselected | 布尔值 | false |
udevnameattr | 字符串 | <undefined> |
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.
参数 | 类型 | 默认值 |
---|---|---|
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.
参数 | 类型 | 默认 |
---|---|---|
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.
参数 | 类型 | 默认 |
---|---|---|
report_relative | 布尔值 | true |
配置示例:
parameter_defaults: ExtraConfig: collectd::plugin::load::report_relative: false
其他资源
collectd::plugin::mcelog
使用 mcelog
插件发送与 Machine Check Exception 相关的通知和统计数据。配置 mcelog
以以守护进程模式运行并启用日志记录功能。
参数 | 类型 |
---|---|
Mcelogfile | 字符串 |
内存 |
hash |
配置示例:
parameter_defaults: CollectdExtraPlugins: mcelog CollectdEnableMcelog: true
其他资源
-
有关配置
mcelog
插件的更多信息,请参阅 mcelog。
collectd::plugin::memcached
使用 memcached
插件检索有关 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.
参数 | 类型 |
---|---|
默认值 | valuesabsolute |
布尔值 | true |
valuespercentage | 布尔值 |
配置示例:
parameter_defaults: ExtraConfig: collectd::plugin::memory::valuesabsolute: true collectd::plugin::memory::valuespercentage: false
其他资源
-
有关配置
内存
插件的详情,请参考 内存。
collectd::plugin::ntpd
使用 ntpd
插件查询配置为允许访问统计数据的本地 NTP 服务器,并检索关于配置的参数和时间同步状态的信息。
参数 | 类型 |
---|---|
主机 | 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 获取统计信息。
参数 | 类型 |
---|---|
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
输出的统计数据按进程名称分组。
参数 | 类型 | 默认值 |
---|---|---|
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 系统丢弃功能吗?
。
参数 | 类型 |
---|---|
disks | 数组 |
ignoreselected | 布尔值 |
interval | 整数 |
配置示例:
parameter_defaults: CollectdExtraPlugins: - smart CollectdContainerAdditionalCapAdd: "CAP_SYS_RAWIO"
附加信息
collectd::plugin::swap
使用 swap
插件收集有关可用和已用 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 连接数或出站的信息。本地端口配置代表入口连接。远程端口配置代表出口连接。
参数 | 类型 |
---|---|
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 区信息。
参数 | 类型 |
---|---|
devices | 数组 |
ignoreselected | 布尔值 |
interval | 整数 |
配置示例:
parameter_defaults: CollectdExtraPlugins: - thermal
collectd::plugin::uptime
使用 uptime
插件收集有关系统运行时间的信息。
This plugin is enabled by default.
参数 | 类型 |
---|---|
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
其他资源
有关配置 virt
插件的详情,请参考 virt。
collectd::plugin::vmem
使用 vmem
插件从内核子系统收集虚拟内存的信息。
参数 | 类型 |
---|---|
详细 | 布尔值 |
interval | 整数 |
配置示例:
parameter_defaults: CollectdExtraPlugins: - vmem ExtraConfig: collectd::plugin::vmem::verbose: true
collectd::plugin::write_http
使用 write_http
输出插件,通过使用带有 JSON 的 POST 请求和编码指标向 HTTP 服务器提交值,或使用 PUTVAL
命令。
参数 | 类型 |
---|---|
确保 | 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)参数:
参数 | 类型 |
---|---|
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。