首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安装dbi插件?

如何安装dbi插件?
EN

Stack Overflow用户
提问于 2013-11-25 10:30:47
回答 1查看 1.9K关注 0票数 3

我已经取消了LoadPlugin dbi在collectd.conf中的注释,但是现在重新启动收藏品给了我:

代码语言:javascript
复制
Stopping collectd:                                         [  OK  ]
Starting collectd: Could not find plugin dbi.
                                                           [  OK  ]

我如何启用那个插件?操作系统是centos6.4,yum list all没有显示collectd-dbi插件:

代码语言:javascript
复制
[root@virtualbox ~]# yum list all | grep collectd | grep dbi
[root@virtualbox ~]# 

我安装了丢失的libdbi-dbd-mysql,但这并没有改变任何事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-23 20:18:26

我在CentOS 6.3上也有同样的问题。问题是,在EPEL yum回购中没有收藏-dbi rpm。您必须从其他地方获得dbi插件。

检查您已安装的收件版本。

代码语言:javascript
复制
$ yum info collectd

这就是对我来说的结果

代码语言:javascript
复制
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
Name        : collectd
Arch        : x86_64
Version     : 4.10.7
Release     : 1.el6
Size        : 1.3 M
Repo        : installed
From repo   : epel

您可以尝试在网络上搜索某个人构建的RPM,但在我的情况下,我找不到确切版本的RPM。正因为如此,我认为唯一的解决方案是从源代码编译source。下面是我为编译get并安装dbi插件所采取的步骤

克隆收藏品回购并签出您已经安装的版本。

代码语言:javascript
复制
git clone https://github.com/collectd/collectd.git
cd collectd/
git checkout collectd-4.10.7

安装依赖项以编译。下面是我所需的编译这一切,但您可能需要安装更多。请注意,libdbi开发是必需的。如果没有安装,那么在运行配置脚本时,dbi插件将不启用,也不会编译。

代码语言:javascript
复制
sudo yum install autoconf automake flex ppl cloog-ppl cpp libgomp mpfr glibc-devel glibc-headers kernel-headers gcc libtool libtool-ltdl libtool-ltdl-devel libgcrypt-devel libgpg-error-devel libdbi libdbi-devel bison byacc db4-cxx db4-devel gdbm-devel perl-ExtUtils-MakeMaker perl-ExtUtils-ParseXS perl-Test-Harness perl-devel

运行以下代码并确保没有错误

代码语言:javascript
复制
./build.sh && ./configure && make

假设编译没有问题,那么应该编译dbi插件。你可以在src/.libs/dbi.so中找到它

检查是否安装了所有链接库。

代码语言:javascript
复制
$ ldd src/.libs/dbi.so
linux-vdso.so.1 =>  (0x00007fff109ff000)
libdbi.so.0 => /usr/lib64/libdbi.so.0 (0x00007fca4a53c000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fca4a338000)
libc.so.6 => /lib64/libc.so.6 (0x00007fca49fa3000)
libm.so.6 => /lib64/libm.so.6 (0x00007fca49d1f000)
/lib64/ld-linux-x86-64.so.2 (0x00007fca4a95a000)

如果这看起来不错,您可以将dbi.so共享对象安装到如下的收藏品库目录中:

代码语言:javascript
复制
sudo install -o root -g root src/.libs/dbi.so /usr/lib64/collectd/

现在您应该能够重新启动loaded并加载dbi库。

代码语言:javascript
复制
$ sudo service collectd restart
Stopping collectd:                                         [  OK  ]
Starting collectd:                                         [  OK  ]

希望这有帮助

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20189823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档