永发信息网

请教syslog-ng如何实时插入到数据库

答案:1  悬赏:20  手机版
解决时间 2021-11-19 07:45
  • 提问者网友:饥饿走向夜
  • 2021-11-19 03:17
请教syslog-ng如何实时插入到数据库
最佳答案
  • 五星知识达人网友:野味小生
  • 2021-11-19 04:55
我在使用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
(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一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯