【发布时间】:2016-09-29 22:04:46
【问题描述】:
我想问一下是否有可能在 Collectd 工具中设置两个不同的数据收集间隔。问题是我想从一个 Postgres 数据库中以不同的间隔收集数据(执行两个不同的选择查询),但 Collectd 只支持一个间隔。
我不能使用 DBI 插件,因为我有不同的间隔。
谢谢。
【问题讨论】:
标签: database postgresql intervals collectd
我想问一下是否有可能在 Collectd 工具中设置两个不同的数据收集间隔。问题是我想从一个 Postgres 数据库中以不同的间隔收集数据(执行两个不同的选择查询),但 Collectd 只支持一个间隔。
我不能使用 DBI 插件,因为我有不同的间隔。
谢谢。
【问题讨论】:
标签: database postgresql intervals collectd
这可以通过使用LoadPlugin的块形式轻松实现:
Interval 10
LoadPlugin cpu
LoadPlugin memory
<LoadPlugin df>
Interval 60
</LoadPlugin>
在此示例中,cpu 和 memory 插件继承了全局 10 秒间隔,而 df 将仅每 60 秒运行一次。
如果你想为同一个插件设置不同的间隔,这真的取决于。要么插件支持它(参见其手册页),要么您必须运行多个 collectd 实例。
查看dbi 插件的源代码,Database 块中有一个undocumented config option,它应该允许您在 db 级别设置间隔。如果这可行,但您仍需要查询粒度,则可以通过为同一底层数据库创建多个 Database 块来解决此限制:
<Database "plugin_instance1">
Driver "mysql"
Interval 120
...
</Database>
【讨论】: