Collectd 插件似乎无法启动

1 投票
1 回答
4442 浏览
提问于 2025-04-17 22:17

问题是我在系统日志文件中没有看到预期的输出。我写了一个Python插件,放在了"/home/my/collectd/pyPlugin.py"这个位置。Collectd的配置文件在"/etc/collectd/collectd.conf"中(Python插件已经启用,设置为globals true),里面有这个代码块:

<Plugin python>
    ModulePath "/home/my/collectd/"
    LogTraces true
    Interactive false
    Import pyPlugin

    <Module pyPlugin>
        Test "arg1" "arg2"
    </Module>
</Plugin>

这个插件其实很简单:

import collectd

def configer(confObj):
    collectd.info('config called')

def init_fun():
    collectd.info('my py module init called')

def reader(input_data=None):
    collectd.info('my py read called')

def writer(input_data=None)
    collectd.info('my py write called')


collectd.register_config(configer)
collectd.register_init(init_fun)
collectd.register_read(reader)
collectd.register_write(writer)

但是当我查看"/var/log/syslog"时,什么输出都没有看到。

1 个回答

1

把这行放在你的 collectd.conf 文件的最上面:LoadPlugin "syslog"

来自常见问题解答

为了能看到任何输出,你需要加载一个日志插件。主要有两个日志插件:LogFile 和 SysLog。我们建议你在配置文件中首先加载其中一个插件,也就是说,把 LoadPlugin 这一行放在最上面。如果没有加载任何日志插件,collectd 会把信息写到错误输出(STDERR)里。不过,当程序在后台运行后,你就看不到这些输出了。

syslog 插件默认会显示 info 级别的信息。要确认 Collectd 是否在运行,可以查看进程列表或者运行 /etc/init.d/collectd status

撰写回答