守护进程collectd工具中python插件不可用解决办法

  笔者在Redhat、ubuntu两个系统中都用collectd-5.7.2.tar.bz2的包装了collectd工具,系统自带python,其中Redhat自带python2.6,ubuntu自带python2.7。在collectd装好以后,进入/opt/collectd/etc/collect.conf配置文件中,可以看到##LoadPlugin python,这代表python插件不可用,然后回过头,查看collect安装过程中./configure配置过程:

checking for python3-config... no
checking for python2-config... no
checking for python-config... no
checking Python.h usability... no
checking Python.h presence... no
checking for Python.h... no
libpython . . . . . . no
Modules:
...
python  . . . . . . . no
...

  虽然系统中有python,但是配置的时候并没有将依赖项配置出来,又尝试安装高版本python,软连接修改默认版本,修改了环境变量巴拉巴拉一大堆操作,然并卵,虽然安装高版本以后,可以配置到python,但是安装collectd的结果是安装不完整,没有share,没有etc......

  走到绝路的时候终于发现条重要信息:点击打开链接,表明上不是一个问题,但本质差不多,原来是因为没有安装python-dev,虽然在终端输入python也可以直接调用python的 交互模式:

root@ubuntu:/home/yanlei/Downloads/collectd-5.7.2# python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

python使用是能正常使用,但还是需要安装python-dev,这是为什么呢,分析见链接:点击打开链接

linux发行版通常会把类库的头文件和相关的pkg-config分拆成一个单独的xxx-dev(el)包.
以python为例, 以下情况你是需要python-dev的:
(1)你需要自己安装一个源外的python类库, 而这个类库内含需要编译的调用python api的c/c++文件
(2)你自己写的一个程序编译需要链接libpythonXX.(a|so)
(注:以上不含使用ctypes/ffi或者裸dlsym方式直接调用libpython.so)
其他正常使用python或者通过安装源内的python类库的不需要python-dev.

安装命令如下:

root@ubuntu:/home/yanlei# apt-get install python-dev

  然后将已装好的collectd工具卸载,卸载方式可以自行百度,或者回到解压包用make uninstall,然后直接将/opt下collectd目录直接用rm-rf删除,重新安装collectd,注意./configure配置的结果:

checking for python3-config... no
checking for python2-config... /usr/bin/python2-config
checking Python.h usability... yes
checking Python.h presence... yes
checking for Python.h... yes
libpython . . . . . . yes
Modules:
python  . . . . . . . yes
  这说明已经找到需要依赖的东西了,安装完成后打开collectd.conf,可以看到python插件前的符号已经由两个#变成了一个#号:

#LoadPlugin python
到此为止,python插件就可以正常使用了。


(PS:笔者是个刚入行的新手,操作Linux才一个星期,上面一些概念可能会有说得不对的地方,请见谅。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值