4

スイッチから mysql データベースにファイルをログに記録したいと考えています。私はsyslog-ngを使用しており、構成ファイルで次の修正を行いました

filter f_no_debug { not level(debug); };

destination d_mysql {
sql(
type(mysql)
username("logs")
password("SECUREPASSWORD")
database("logs")
host("localhost")
table("logs")
columns("host", "facility", "priority", "level", "tag", "datetime", "program", "msg")
values("$HOST", "$FACILITY", "$PRIORITY", "$LEVEL", "$TAG","$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC","$PROGRAM", "$MSG")
indexes("datetime", "host", "program", "pid", "message")
);
};

log {source(s_net); source(s_src); filter(f_no_debug); destination(d_mysql); }

コマンドservice syslog restartを実行すると、次のエラーが表示されます

データベース アクセスを初期化できません (DBI);rc='-1', error='No such file or directory (2)' dest ドライバーの初期化エラー;dest='d_mysql',id='d_mysql'#0 メッセージ パイプラインの初期化エラー

この問題を解決して、ログをデータベースに送信できるようにするにはどうすればよいですか?

4

2 に答える 2

6

UbuntuおよびDebian: _

libdbi 用の MySQL データベース サーバー ドライバー:

apt-get install libdbd-mysql

libdbi 用の PostgreSQL データベース サーバー ドライバー:

apt-get install libdbd-pgsql

libdbi 用の SQLite3 データベース ドライバー:

apt-get install libdbd-sqlite3
于 2016-11-02T09:54:15.737 に答える
3

このメッセージは、libdbi ドライバーがインストールされていない場合に発生するようです。http://libdbi.sourceforge.net/を参照するか、ディストリビューション用のlibdbiパッケージがあるかどうかを確認してください。

于 2013-09-10T14:30:45.463 に答える