如何将syslogng的日志写入MySQL数据库

如何将syslogng的日志写入MySQL数据库,第1张

1、修改/etc/syslog-ng/syslog-ng.conf,添加

CODE:

source s_remote {

udp(ip(0.0.0.0) port(514))

}

destination r_mysql {

program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog </var/log/mysql.pipe")

pipe("/var/log/mysql.pipe"

template("INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',

'$PROGRAM', '$MSG' )\n") template-escape(yes))

}

log { source(s_remote)destination(r_mysql)}

2、建立mysql.pipe文件

#mkfifo /var/log/mysql.pipe

3、重新启动syslog-ng

#/etc/init.d/syslog-ng restart

这种方法如果结合phpsyslogng一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。

配置MySQL执行日志的文件只记录日志到文件。

因为从5.1.6版本开始,日志表会在安装过程中随其它系统表一同创建。

默认情况下,如果日志没有配置,则只记录错误日志,记录到syslog。

我在使用syslog-ng搭建日志服务器中已经讲了如何将syslog-ng配置为中心日志服务器,下面介绍如何将syslogng的日志写入mysql数据库

系统:Gentoo-2007

1、修改/etc/syslog-ng/syslog-ng.conf,添加

CODE:

source s_remote {

udp(ip(0.0.0.0) port(514))

}

destination r_mysql {

program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog </var/log/mysql.pipe")

pipe("/var/log/mysql.pipe"

template("INSERT INTO logs


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5902298.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存