-1

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
アーチ: 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 (Tabular DataStream) プロトコルの実装
ライセンス: LGPLv2+ および GPLv2+

FreeTDS をロードしようとすると、collectd がエラーを表示します:
dbi プラグイン: cdbi_connect_database: dbi_driver_open_r (FreeTDS) が失敗しました。

私は何が欠けていますか?どんな助けでも大歓迎です。

4

1 に答える 1

0

私自身も同じ問題に取り組んでおり、まだ機能していませんが、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 ドライバーを認識させるのはまだ好きではありません。

于 2016-09-27T21:23:50.383 に答える