rsyslog
rsyslog.conf中的template
也就是模板,rsyslog中可以自定义模板来输出日志,当然的也可以输出给mysql
如果在rsyslog中没有提出具体使用哪个template,则会使用默认的, 例如RSYSLOG_TraditionalFileFormat
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
loganalyzer服务端的配置
- 文档中的默认方法,这个用于默认的模块全部log入库
$ModLoad ommysql
*.* :ommysql:DATABASE_HOST,DATABASES,DATABASE_USER,DATABASE_PASSWORD
- 如果有自定义template,则可以使用自定义的。
$template insertpl,"insert into SystemEvents (Message, Facility, FromHost, processid, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%HOSTNAME%', '%fromhost-ip%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL
*.*;cron.none;local7.none :ommysql:DATABASE_HOST,DATABASES,DATABASE_USER,DATABASE_PASSWORD;insertpl
上面的rsyslog配置是用于入库的,用于loganalyzer
注意上面的processid和%from-ip% 配对了,所以入库的时候,将client的ip写入processid字段
通过mysql的desc Syslog可知道表结构如下,属于varchar(60),所以processid是可以放入ip的
log类型的屏蔽
-
屏蔽local7类型的方法
*.*;local7.none :ommysql:DATABASE_HOST,DATABASES,DATABASE_USER,DATABASE_PASSWORD
-
屏蔽cron类别以及local7类型的方法
*.*;cron.none;local7.none :ommysql:DATABASE_HOST,DATABASES,DATABASE_USER,DATABASE_PASSWORD
loganalyzer客户端的配置
centos的方法, 假设log的服务器端ip是192.168.0.1
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$IncludeConfig /etc/rsyslog.d/*.conf
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err
news.crit /var/log/news/news.crit
news.err /var/log/news/news.err
news.notice -/var/log/news/news.notice
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
*.emerg *
daemon.*;mail.*;\
news.err;\
*.=debug;*.=info;\
*.=notice;*.=warn |/dev/xconsole
*.* @192.168.0.1:514
loganalyzer的utf8设置
- 调整页面charset, 在 config.php 中
$CFG['HeaderDefaultEncoding'] = ENC_UTF8; // Set default character encoding
- 调整数据库charset,更改表的charset
alter table SystemEvents default character set =utf8;
alter table SystemEventsProperties default character set =utf8;