比如你数据库某一张表有三个字段:一个long型,一个varchar(100) 型,一个date型。long型占用8个字节(一个字节8位),data占用8字节。那么一行占用:8+100+8=116Byte。那么100万行,大约有110M。这是三列。如果你是10列,你就可以粗略估计出来了。
我在使用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一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)