我正在尝试根据https://collectd.org/documentation/manpages/collectd-python.5.shtml#writing_your_own_plugins上的文档为CollectD编写一个基于python的插件
我在本地安装了collectd,并尝试按照文档页面运行hello world插件:
import collectd
import random
def read(data=None):
vl = collectd.Values(type='gauge')
vl.plugin='python.spam'
vl.dispatch(values=[random.random() * 100])
collectd.register_read(read)
但是,我在运行此代码时遇到了泛型python错误:
追踪(最近的呼叫最后):
File" CollectdTest1.py",第9行,in collectd.register_read(读) AttributeError:'模块'对象没有属性' register_read'
有人可以帮助解释我在这里缺少能够运行插件的内容吗?
此错误似乎与实际在本地运行的CollectD无关 - 只是尝试创建' collectd.Values'对象也会出现类似的错误。
import collectd
collectd.Values(type='gauge')
文件" CollectdTest3.py",第3行,in collectd.Values(类型='规') AttributeError:'模块'对象没有属性'值'
顺便说一下,我浏览了collectd模块的源代码(文件:///Library/Python/2.7/site-packages/collectd.py),它看起来像是' register_read'实际上功能不在模块中。
我曾尝试搜索在Google和StackOverflow上遇到类似问题的人,但无济于事:(。
仅供参考,我在MacOS Sierra上运行Python版本2.7.10。
请注意我是Python和CollectD的新手,所以这可能是一个新手问题。