我架完syslog-ng+mysql+php-syslog-ng日志主机后出现了一个问题就是syslog-ng利用pipe方式写mysql数据库的时候收到的第一条日志要在第二条收到后才会将第一条写入数据库,也就是永远迟了最后一条。判断应该是管道方式问题,因为我同时让它写数据库和某一个文件发现文件中已有日志内容但数据库中还没有。syslog-ng.conf的内容如下:
options {
keep_hostname(yes);
long_hostnames(off);
log_fifo_size(1024);
sync_freq(0);
create_dirs(yes); # if a dir does not exist create it
owner(root); # owner of created files
group(root); # group of created files
perm(0600); # permissions of created files
dir_perm(0700); # permissions of created dirs
};
source sudp {udp();};
destination test {file("/test.log");};
destination d_mysql {
pipe("/tmp/mysql.pipe"
template("INSERT INTO logs (host, facility, priority, level, tag, date,
time, program, msg) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG',
'$YEAR-$MONTH-$DAY', '$HOUR

MIN

SEC', '$PROGRAM', '$MSG' ); ") template-escape(yes));
};
log {source(sudp);destination(d_mysql);};
log {source(sudp);destination(test);};
请群友们赐教!谢谢