为了统计方便,我们要从日志中选择一些消息放到数据库。对数据库读写支持要在编译时就要加上参数,还要在配置文件中开启对应的模块。模块如果很多监控都需要到数据库模块,可以放到/etc/rsyslog.conf全局配置文件里,如果只是某个监控收集用到那就放到/etc/rsyslog.d/的对应局部配置文件里。
1.编译。
./configure --enable-mysql
2.模块、生成的模板。
ommysql # mysql输出模块 ompgsql # PostgreSQL的输出模块 omlibdbi # 通用数据库输出模块(Firebird/Interbase,MS-SQL,Sybase,SQLite,Ingres,Oracle,mSQL) $template insertpl,"insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', '%fromhost-ip%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL
3.使用
用法:local4.* :ommysql:server:port,yourdb,yourname,yourpass;
例子:local4.* :ommysql:127.0.0.1:3306,yourdb,yourname,yourpass;
4.全局配置文件示例。
vi /etc/rsyslog.conf //编辑rsyslog全局文件
# rsyslog v5 configuration file # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### $ModLoad imuxsock #provides support for local system #logging (e.g. via logger command)#Unix套接字,包括系统日志socket $ModLoad imklog # provides kernel logging support(previously done by rklogd) #module(load"immark") # provides --MARK-- message capability #mysql输出模块 $ModLoad ommysql #PostgreSQL的输出模块 $ModLoad ompgsql #通用数据库输出模块(Firebird/Interbase,MS SQL,Sybase,SQLite,Ingres,Oracle,mSQL) $ModLoad omlibdbi # Provides UDP syslog reception # UDP传输,只在rsyslog作服务器时候使用 #$ModLoad imudp #$UDPServerRun 514 #Provides TCP syslog reception # TCP传输,只在rsyslog作服务器时候使用 #$ModLoad imtcp # tcp接收信息的端口 #$InputTCPServerRun 514 #增加数据库插入语句 $template insertpl,"insert into SystemEvents (Message, Facility, FromHost, FromIP, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', '%fromhost-ip%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL #### GLOBAL DIRECTIVES #### # Use default timestamp format $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # File syncing capability is disabled by default. This feature is usually not required, # not useful and an extreme performance hit #$ActionFileEnableSync on # Include all config files in /etc/rsyslog.d/ #模块化局部配置文件存放,默认加载全部.conf后缀的文件 $IncludeConfig /etc/rsyslog.d/*.conf #### RULES #### # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* /var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg :omusrmsg:* # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log # ### begin forwarding rule ### # The statement between the begin ... end define a SINGLE forwarding # rule. They belong together, do NOT split them. If you create multiple # forwarding rules, duplicate the whole block! # Remote Logging (we use TCP for reliable delivery) # # An on-disk queue is created for this action. If the remote host is # down, messages are spooled to disk and sent when it is up again. #$WorkDirectory /var/lib/rsyslog # where to place spool files #$ActionQueueFileName fwdRule1 # unique name prefix for spool files #$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) #$ActionQueueSaveOnShutdown on # save messages to disk on shutdown #$ActionQueueType LinkedList # run asynchronously #$ActionResumeRetryCount -1 # infinite retries if host is down # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional #*.* @@remote-host:514 # ### end of the forwarding rule ### #日志如非本地存储,需指定远程收集日志服务器IP:Port *.* :ommysql:192.168.1.251:514 #表示所有类型的日志都提交
重启日志服务,修改完配置文件一定要重启服务才能生效
# service rsyslog restart
参考文章:
http://www.oschina.net/question/12_4191
http://zhaomengsen.iteye.com/blog/2059236
http://www.ituring.com.cn/article/128536