rsyslog是一种模块化的架构,用来记录日志文件。 支持多种协议:如TCP,SSL,TLS,RELP。也支持MySQL, PGSQL, Oracle等多种关系型数据。rsyslog是syslog的增强版。我们可以用它来记录本地的日志文件,也可以把其他的客户端的日志记录在某一个服务器主机上。
loganalyzer:web界面的日志管理系统(一个简单的系统日志分析工具),可以让用户通过浏览器来管理日志,方便快捷,一目了然。
rsyslog的主配置文件:/etc/rsyslog.conf
rsyslog所记录的日志信息格式:
时间 主机 进程(PID):事件
本次实验的目的:一,用rsyslog来记录其他客户机的日志文件。
二,用rsyslog把日志存储于MySQL服务器中。
三,利用loganalyzer通过webGUI展示日志信息。
一,用rsyslog来记录其他客户机的日志文件:
服务端:192.168.1.156
客户端:192.168.1.157
首先安装rsyslog包分别到日志服务器端(192.168.1.156)和客户机端(192.168.1.157),
# yum install rsyslog
编辑服务器(192.168.1.156)的 rsyslog的主配置文件:/etc/rsyslog.conf,
# vim /etc/rsyslog.conf
启用UDP 514端口和TCP 514端口:
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
在#### RULES ####段启用 *.info;mail.none;authpriv.none;cron.none /var/log/messages;保存退出。
启动rsyslog;
# service rsyslog start
验证rsyslog是否已启用
# ss �Ctunlp
查看TCP的514端口和UDP的514端口是否已监听
编辑客户机(192.168.1.157)的 rsyslog的主配置文件:/etc/rsyslog.conf
# vim /etc/rsyslog.conf
在#### RULES ####段启用 *.info;mail.none;authpriv.none;cron.none @192.168.1.156;保存退出
启动rsyslog
# service rsyslog start
在客户机(192.168.1.157)上随意执行一个能够被记录进日志文件的操作,我们这里用yum来安装个任意包以便查看日志文件。
在客户机(192.168.1.157)的日志文件/var/log/messages下查看是否有日志(客户机肯定没有)
在服务器(192.168.1.156)的日志文件/var/log/messages下查看是否有日志
结果验证。
二,用rsyslog把日志存储于MySQL服务器中:
日志服务器:192.168.1.156(同时也是数据库服务器)
客户端:192.168.1.157
要想用rsyslog把日志存储于关系型数据库中去,rsyslog自己必须作为客户端要能够连接到数据库中去,要有驱动支持rsyslog连接到数据库中去才可。rsyslog的驱动是通过自己的模块来实现的, 这个驱动就是rsyslog-mysql,需要手动安装。
安装驱动rsyslog-mysql,
在服务器:192.168.1.156的 rsyslog的主配置文件:/etc/rsyslog.conf中写入 日志信息
$ModLoad ommysql
*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.1.156,Syslog,testuser,testpass
数据库中写入表,用输入重定向 # mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
# mysql > SHOW DATABASES; 检测表Syslog是否已经存在 > use Syslog > SHOW TABLES; 查看表中的内容是否已有 > GRANT ALL ON Syslog.* TO [email protected] IDENTIFIED BY 'testpass'; > FLUSH PRIVILEGES; # service rsyslog restart
在客户端:192.168.1.157随便安装rpm包
在服务器:192.168.1.156上的/var/log/messages中查看无日志记录
在mysql中查看
# mysql > use Syslog > SELECT * FROM SystemEvents;
验证结果。
三,利用loganalyzer通过webGUI展示日志信息
# yum -y install httpd php php-mysql php-gd # tar xf loganalyzer-3.6.5.tar.gz # mkdir /var/www/html/loganalyzer # cp loganalyzer-3.6.5/src/* /var/www/html/loganalyzer/ # cp 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 ./* # service httpd restart
此时在浏览器中验证即可
成功。