我已经取消了LoadPlugin dbi在collectd.conf中的注释,但是现在重新启动收藏品给了我:
Stopping collectd: [ OK ]
Starting collectd: Could not find plugin dbi.
[ OK ]我如何启用那个插件?操作系统是centos6.4,yum list all没有显示collectd-dbi插件:
[root@virtualbox ~]# yum list all | grep collectd | grep dbi
[root@virtualbox ~]# 我安装了丢失的libdbi-dbd-mysql,但这并没有改变任何事情。
发布于 2015-03-23 20:18:26
我在CentOS 6.3上也有同样的问题。问题是,在EPEL yum回购中没有收藏-dbi rpm。您必须从其他地方获得dbi插件。
检查您已安装的收件版本。
$ yum info collectd这就是对我来说的结果
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插件所采取的步骤
克隆收藏品回购并签出您已经安装的版本。
git clone https://github.com/collectd/collectd.git
cd collectd/
git checkout collectd-4.10.7安装依赖项以编译。下面是我所需的编译这一切,但您可能需要安装更多。请注意,libdbi开发是必需的。如果没有安装,那么在运行配置脚本时,dbi插件将不启用,也不会编译。
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运行以下代码并确保没有错误
./build.sh && ./configure && make假设编译没有问题,那么应该编译dbi插件。你可以在src/.libs/dbi.so中找到它
检查是否安装了所有链接库。
$ 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共享对象安装到如下的收藏品库目录中:
sudo install -o root -g root src/.libs/dbi.so /usr/lib64/collectd/现在您应该能够重新启动loaded并加载dbi库。
$ sudo service collectd restart
Stopping collectd: [ OK ]
Starting collectd: [ OK ]希望这有帮助
https://stackoverflow.com/questions/20189823
复制相似问题