为了统计方便,我们要从日志中选择一些消息放到数据库。对数据库读写支持要在编译时就要加上参数,还要在配置文件中开启对应的模块。模块如果很多监控都需要到数据库模块,可以放到/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 /e