无法在本地运行示例CollectD Python插件代码

时间:2017-10-27 02:12:50

标签: python collectd

我正在尝试根据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的新手,所以这可能是一个新手问题。

0 个答案:

没有答案