问题是我在syslog文件中看不到预期的输出。我写了一个位于" /home/my/collectd/pyPlugin.py"的Python插件。 " /etc/collectd/collectd.conf"中的Collectd配置; (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)
当我查看&#34; / var / log / syslog&#34;我没有看到任何输出。
答案 0 :(得分:1)
将它放在collectd.conf文件的顶部:LoadPlugin "syslog"
来自FAQ:
要获得任何输出,您需要加载日志插件。该 两个主要的日志插件是LogFile和SysLog插件。我们推荐 加载其中一个插件是你在你的第一件事 配置文件,即将LoadPlugin行放在最顶层。如果没有日志 插件加载后,collectd将写入STDERR。守护进程后 分叉到后台,你无法看到这个输出 不过,不过了。
syslog插件默认显示info
级别。另外,要确认Collectd正在运行,请查看进程列表或/etc/init.d/collectd status
。