Collectd 插件似乎无法启动
问题是我在系统日志文件中没有看到预期的输出。我写了一个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
。