【问题标题】:Syslog-ng connecting to mysqlSyslog-ng 连接到 mysql
【发布时间】:2013-09-10 12:02:54
【问题描述】:

我想将文件从交换机记录到 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 文件或目录 (2)' 初始化 dest 时出错 driver;dest='d_mysql',id='d_mysql'#0 初始化错误消息 管道

我该如何克服这个问题以将日志定向到数据库?

【问题讨论】:

    标签: mysql syslog-ng


    【解决方案1】:

    开启UbuntuDebian

    用于 libdbi 的 MySQL 数据库服务器驱动程序:

    apt-get install libdbd-mysql
    

    用于 libdbi 的 PostgreSQL 数据库服务器驱动程序:

    apt-get install libdbd-pgsql
    

    用于 libdbi 的 SQLite3 数据库驱动程序:

    apt-get install libdbd-sqlite3
    

    【讨论】:

      【解决方案2】:

      此消息似乎是未安装 libdbi 驱动程序时引起的。查看http://libdbi.sourceforge.net/ 或查看是否有适合您的发行版的 libdbi 包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-27
        • 1970-01-01
        • 1970-01-01
        • 2016-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多