【问题标题】:Two intervals of collecting data in Collectd on the same Postgres database在同一个 Postgres 数据库上的 Collectd 中收集数据的两个时间间隔
【发布时间】:2016-09-29 22:04:46
【问题描述】:

我想问一下是否有可能在 Collectd 工具中设置两个不同的数据收集间隔。问题是我想从一个 Postgres 数据库中以不同的间隔收集数据(执行两个不同的选择查询),但 Collectd 只支持一个间隔。

我不能使用 DBI 插件,因为我有不同的间隔。

谢谢。

【问题讨论】:

    标签: database postgresql intervals collectd


    【解决方案1】:

    这可以通过使用LoadPlugin的块形式轻松实现:

    Interval 10
    LoadPlugin cpu
    LoadPlugin memory
    <LoadPlugin df>
      Interval 60
    </LoadPlugin>
    

    在此示例中,cpumemory 插件继承了全局 10 秒间隔,而 df 将仅每 60 秒运行一次。

    如果你想为同一个插件设置不同的间隔,这真的取决于。要么插件支持它(参见其手册页),要么您必须运行多个 collectd 实例。

    查看dbi 插件的源代码,Database 块中有一个undocumented config option,它应该允许您在 db 级别设置间隔。如果这可行,但您仍需要查询粒度,则可以通过为同一底层数据库创建多个 Database 块来解决此限制:

    <Database "plugin_instance1">
      Driver "mysql"
      Interval 120
      ...
    </Database>
    

    【讨论】:

    • 感谢您的回复。无论如何,我在同一个数据库上有两个查询,每个查询需要不同的间隔。也许两个 collectd 实例会有所帮助,但我只想保留这个工具的一个实例。
    • 我刚刚用一个可能的解决方案更新了我的答案,只使用了一个 collectd 实例
    • 谢谢。我知道这个选项,但 postgres 驱动程序在 DBI 插件中不起作用(不知道为什么)
    猜你喜欢
    • 2022-12-28
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 2018-03-24
    • 1970-01-01
    • 2020-06-06
    相关资源
    最近更新 更多