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类型的屏蔽

  1. 屏蔽local7类型的方法

        *.*;local7.none :ommysql:DATABASE_HOST,DATABASES,DATABASE_USER,DATABASE_PASSWORD
    
  2. 屏蔽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;