rsyslog日志管理 日志:一些历史事件按时间序列将其记录,方便查错以及方便核实所发生的事件。
rsyslog的特点:多线程;强大的过滤功能,可实现过滤系统信息中的任意部分;自定义输出格式;适用于企业级别日志记录需求。 系统对指定设施定义了八个消息级别分别是:debug(调试级),info(通知级),notice(注意级别),warn(警告级别),err(错误级别),crit(临界级别),alert(警戒级别),emerg(致命级别)。可见这些级别是由低到高。 在此借助主机(ip172.16.100.90)配置rsyslog服务器。在 rsyslog的主配置文件 /etc/rsyslog.conf 中。 # Log all the mail messages in one place. mail.* -/var/log/maillog:mail.* 表示邮件的所有信息,后面指向的存储路径,有个“-”表示启用异步。如果配置文件中出现“mail.info”表示指定info级别以及更高所有级别。若出现mail.=info表示指定info级别,若是mail.!info表示除了info级别。对应级别还会出现“*”,“none”表示任何级别和没有级别。 下面看一下主配置文件的modules部分。 #### MODULES ####
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) #$ModLoad immark # provides --MARK-- message capability $ModLoad ommysql
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 //表示允许514端口接收使用udp协议转发来的日志
# Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 //表示允许514端口接收使用TCP协议转发来的日志 在rules模块中 *.info;mail.none;authpriv.none;cron.none /var/log/messages //表示记录所有类型的info及以上级别信息到 /var/log/messages,但不包括mail,authpriv和cron的信息 接下来实现一下rsyslog支持将日志存储于MySQL服务器中。
1、安装好mysql数据服务;
# yum -y install mysql mysql-server
2、安装rsyslog-mysql包; # yum -y install rsyslog-mysql 3、创建rsyslog依赖的数据库 # mysql < /usr/share/doc/rsyslog-5.8.10/createDB.sql
4、配置rsyslog启用模块,在#### Modules ####中增加$Modload ommysql. 在####rules####段中定义记录日志信息于数据库中增加下面一行 *.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,rsysloguser,rsyslogpass
通过webGUI展示日志信息,借助loganalyzer工具,具体操作如下 # yum -y install httpd php php-mysql php-gd # tar xf loganalyzer-3.6.5.tar.gz # mkdir /var/www/html/loganalyzer # cp -r loganalyzer-3.6.5/src/* /var/www/html/loganalyzer/ # cp -r loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/ # cd /var/www/html/loganalyzer/ # chmod +x configure.sh secure.sh # ./configure.sh # ./secure.sh # chmod 666 config.php # chown -R apache.apache ./* 配置成功之后则可访问http://172.16.100.90/loganalyzer 详细日志信息如下
|