【问题标题】:RHEL 7 collectd dbi freetds issuesRHEL 7 collectd dbi freetds 问题
【发布时间】:2016-09-09 23:54:20
【问题描述】:

我似乎无法在 RHEL 7 上让 collectd 的 dbi 插件工作。我正在尝试使用 FreeTDS 驱动程序连接到 Microsoft SQL Server,但 collectd/dbi 找不到它。

我已经安装了最新的 collectd:
名称:collectd
拱门:x86_64
版本:5.5.2
发布:1.el7
尺寸 : 1.8 M
回购:已安装
来自回购:epel
摘要:用于填充 RRD 文件的统计信息收集守护进程
许可证:GPLv2

我已经安装了 collectd-dbi:
名称:collectd-dbi
拱门:x86_64
版本:5.5.2
发布:1.el7
尺寸:32 k
回购:已安装
来自回购:/collectd-dbi-5.5.2-1.el7.x86_64
摘要:collectd 的 DBI 插件
许可证:GPLv2

我已经安装了 FreeTDS:
名称:freetds
拱门:x86_64
版本:0.95.81
发布:1.el7
尺寸 : 2.7 M
回购:已安装
来自回购:epel
摘要:TDS(表格数据流)协议的实现
许可证:LGPLv2+ 和 GPLv2+

collectd 在尝试加载 FreeTDS 时显示错误:
dbi 插件:cdbi_connect_database:dbi_driver_open_r (FreeTDS) 失败。

我错过了什么?任何帮助将不胜感激。

【问题讨论】:

    标签: dbi freetds collectd rhel7


    【解决方案1】:

    我自己也在解决同样的问题,虽然我还没有让它工作,但我很确定除了 collectd、collectd-dbi 和 freetds 之外,您还需要 DBD::Sybase。我是从http://search.cpan.org/CPAN/authors/id/M/ME/MEWP/DBD-Sybase-1.15.tar.gz 获取的。

    如果你运气好的话,你会通过我所在的位置,即 Perl 说驱动程序可用,但 collectd 插件无法引用它。

    似乎在 perl 方面取得了成功:

    cat ./test.pl
    #!/usr/bin/perl
    use DBI;
    
    #Prints a list of the available DBD drivers.
    @available_drivers = DBI->available_drivers;
    print ("The available DBD drivers are: @available_drivers.\n");
    
    $ ./test.pl
    The available DBD drivers are: DBM ExampleP File Gofer Oracle Proxy Sponge Sybase mysql.
    

    但我在 collectd 日志中收到此错误:

    [2016-09-27 14:18:09] dbi plugin: cdbi_connect_database: dbi_driver_open_r (Sybase) failed.
    [2016-09-27 14:18:09] dbi plugin: Maybe the driver isn't installed? Known drivers are:
    [2016-09-27 14:18:09] dbi plugin: * mysql
    

    在我安装了 libdbi-dbd-mysql rpm 后,该 mysql 驱动程序变得可用,但还没有让它识别 Sybase 驱动程序。

    【讨论】:

    • 我确实尝试安装 DBD-Sybase,但仍然是同样的问题。在 Ubuntu 上实现这一点非常简单,您需要做的就是安装 libdbd-freetds,然后 DBI 插件就可以工作了。不知道为什么没有类似的 RHEL 软件包。
    猜你喜欢
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2016-08-10
    • 2012-11-06
    • 2016-01-20
    • 1970-01-01
    相关资源
    最近更新 更多