使用FreeBSD 8.0 32位。
我用ommysql安装了rsyslogd 5.5.5。 (安装ports / usr / ports / sysutils / rsyslog55和/ usr / ports / sysutils / rsyslog55-mysql)
我的rsyslog.conf文件如下所示:
$ModLoad imudp $ModLoad imtcp $ModLoad ommysql $ModLoad immark.so $ModLoad imuxsock.so $ModLoad imklog.so $OptimizeForUniprocessor on $AllowedSender UDP, 10.0.0.0/8 $UDPServerAddress 0.0.0.0 $UDPServerRun 514 $UDPServerTimeRequery 2 # +SG560 *.* :ommysql:127.0.0.1,Syslog,sysloguser,mypassword
rsyslogd的命令行标志是:-c5 -4使用-c5 -N1检查代码不会返回错误。
我已经确认rsyslogd正在通过改变最后一行来说:
*.* /var/log/snapgear.log
这会导致消息出现在snapgear.log文件中。 所以这可能是我的MySQL设置
如果我做:
mysql -u sysloguser -p Syslog Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 56 Server version: 5.0.86 FreeBSD port: mysql-server-5.0.86 mysql> select * from SystemEvents; Empty set (0.00 sec) mysql>
🙁
我已经确认sysloguser具有Syslog数据库的完整权限。
如果我在debugging模式下在控制台上运行rsyslogd:
/usr/local/sbin/rsyslogd -f /usr/local/etc/rsyslog.conf -c5 -n -d
每次收到消息,我都可以看到这一系列事件:
9244.376687256:28359280:主要问题:条目已添加,现在大小为1,phys 1条目 9244.376705694:28359280:主问:EnqueueMsgbuild议工人开始 9244.376726647:28359280:侦听UDP syslogd套接字4(IPv4 /端口514)。 9244.376728602:28359280:-------- imUDP调用select,活动文件描述符(max 4):4 9244.376890075:283593c0:wti 0x28306e80:工人从空闲处理中醒来 9244.376892031:283593c0:我们删除了0个对象并入队了0个对象 9244.376893986:283593c0:从商店中删除批次,新尺寸:log 1,phys 1 9244.376895942:283593c0:msgConsumer进程msg 0/1 9244.376897898:283593c0:msg parser:flags 70,from'〜NOTRESOLVED〜',msg'Jun 29 17:32:24 SG560 kernel:(20000629T1732244' 9244.376900132:283593c0:使用parsing器列表0x283080e8(默认列表)parsing。 9244.376902088:283593c0:在消息的最后端丢掉LF(DropTrailingLF置位) 9244.376904044:283593c0:parsing器“rsyslog.rfc5424”返回-2160 9244.376905999:283593c0:消息现在将被旧式syslogparsing器parsing(适用于所有...;))。 9244.376907955:283593c0:parsing器“rsyslog.rfc3164”返回0 9244.376909910:283593c0:testingfilter,f_pmask 255 9244.376911866:283593c0:调用操作,logging到ommysql 9244.376918012:283593c0:actionTryResume:操作状态:susp,下次重试(如果适用):1277869250 [now 1277869244] 9244.376919967:283593c0:动作调用返回-2123 9244.376921923:283593c0:tryDoAction:意外的错误代码-2123,最终确定 9244.376926113:283593c0:actionTryResume:操作状态:susp,下次重试(如果适用):1277869250 [now 1277869244] 9244.376928069:283593c0:ruleset:从rule.ProcessMsg()获得iRet 0 9244.376930024:283593c0:ruleset.ProcessMsg()返回0 9244.376931980:283593c0:经常消费完毕,iret = 0,szlog 0 sz phys 1 9244.376933936:283593c0:XXX:排列1的数据元素0 9244.376935891:283593c0:我们删除了1个对象并入队了0个对象 9244.376938126:283593c0:从商店删除批次,新的尺寸:log 0,phys 0 9244.376940082:283593c0:经常消费完毕,iret = 4,szlog 0 sz phys 0 9244.376942037:283593c0:main Q:Reg / w0:工人IDLE,正在等待工作。
….我可以看到Action调用ommysql返回意外的错误代码-2123
现在我卡住了! 关于下一步要查找什么的想法? 也许我有我需要安装额外的端口? 我将非常感激这里的任何帮助!
所以我第一件事,我把它你使用的默认脚本为MySQL。
如果是这样的话,所有的东西看起来都不错,我唯一可以推荐的就是使用一个自定义模板,以便你知道你发送的数据将会与db格式100%匹配。
如果不是,则需要运行随rsyslog提供的sql脚本来创build数据库和表。