首页 > 代码库 > rsyslog+loganalyzer

rsyslog+loganalyzer

         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 –tunlp

查看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来安装个任意包以便查看日志文件。

wKioL1P02VGAD5hEAAAg0FpmrM8894.jpg

  在客户机(192.168.1.157)的日志文件/var/log/messages下查看是否有日志(客户机肯定没有)

wKiom1P02Ezz-IaTAALGOlLOUGQ126.jpg

 在服务器(192.168.1.156)的日志文件/var/log/messages下查看是否有日志

wKioL1P02XijiFzWAALe5pgKjxg391.jpg

结果验证。

 

 

 

二,用rsyslog把日志存储于MySQL服务器中:

日志服务器:192.168.1.156(同时也是数据库服务器)

客户端:192.168.1.157

要想用rsyslog把日志存储于关系型数据库中去,rsyslog自己必须作为客户端要能够连接到数据库中去,要有驱动支持rsyslog连接到数据库中去才可。rsyslog的驱动是通过自己的模块来实现的, 这个驱动就是rsyslog-mysql,需要手动安装。

 安装驱动rsyslog-mysql,

wKiom1P02HWCnupOAAB4kjtjkBw417.jpg

  在服务器: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 testuser@192.168.1.156 IDENTIFIED BY 
‘testpass‘;
> FLUSH PRIVILEGES;
# service rsyslog restart


在客户端:192.168.1.157随便安装rpm包

wKioL1P02ZyyhARsAAAdhY_x7Y4173.jpg

在服务器:192.168.1.156上的/var/log/messages中查看无日志记录

wKioL1P02bDjw-36AAJyrq1PY9o634.jpg

在mysql中查看

# mysql
>  use Syslog
>  SELECT * FROM SystemEvents;

wKiom1P02KfzXXgJAAFkGIWB3tA779.jpg

验证结果。

 

 

 

三,利用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

    此时在浏览器中验证即可

wKiom1P02L3jF4cpAASjn7METNk392.jpg

成功。