环境:CentOS6.6

rsyslog+mysql+loganalyzer 环境搭建日志服务器


Client端:    192.168.2.10

MySQL服务器:  192.168.2.11



# Client端安装必备的软件包

yum install rsyslog-mysql -y

生成了2个文件:

/lib64/rsyslog/ommysql.so           #rsyslog支持数据库的模块文件
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql #创建rsyslog日志的数据库命令


 

# MySQL服务器配置mysql数据库

通用二进制格式包安装mariadb,安装配置步骤略过。

> grant all privileges onSyslog.* To 'syslog'@'192.168.2.%' identified by '123456';
> flush privileges;
> exit

# mysql -u syslog -h 192.168.2.11 -p      # 输入密码123456,测试是否能正常访问

 

# Client端安装mysql以便连接数据库

yum install mysql -y # 执行mysql命令,需要先安装mysql软件包
mysql -u syslog -h 192.168.2.11 -p< /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql   # 在远程MySQL上执行创建rsyslog数据库命令

 

# 执行上面的createDB.sql后可以登陆到MySQL上查看是否已生成数据库及相关的数据表。

rsyslog+mysql+loganalyzer 环境搭建日志服务器_第1张图片


# 配置rsyslog以支持mysql

vi /etc/rsyslog.conf

在MODULES模块下,添加一条:
$ModLoad ommysql
在RULES模块下,修改如下:
注释掉原有的*.info;mail.none;authpriv.none;cron.none                /var/log/messages
添加一条记录:*.info;mail.none;authpriv.none;cron.none               :ommysql:192.168.2.11,Syslog,syslog,123456

格式说明 :ommysql:数据库地址:数据库名称:数据库的用户名:数据库密码

 

service rsyslog restart     # 重启rsyslog日志服务

现在,我们可以yum 安装个软件测试下,会发现已经不会在/var/log/messages里记录了。

 

# MySQL服务器上查看是否接到到Client的日志信息:

> use Syslog;
> select * from SystemEvents \G;   会找到类似下图的样子,说明我们的配置没有出问题。


rsyslog+mysql+loganalyzer 环境搭建日志服务器_第2张图片


Client配置个日志的前端展示工具:

# 配置web服务器

yum install httpd php php-mysql php-gd -y

 

写入一个test.php /var/www/html/目录下


rsyslog+mysql+loganalyzer 环境搭建日志服务器_第3张图片


出现上图,说明lamp搭建成功。

 

# 安装loganalyzer

cd /var/www/html/
tar xf /home/tools/loganalyzer-3.6.5.tar.gz-C ./
cp -r loganalyzer-3.6.5/src/* ./
cp loganalyzer-3.6.5/contrib/*.sh./
rm -fr src/
rm -rf loganalyzer-3.6.5/
chmod +x *.sh
./configure.sh
./secure.sh
chmod 666 config.php

 

# 在浏览器端配置loganalyzer

    配置过程大致如下图所示。

rsyslog+mysql+loganalyzer 环境搭建日志服务器_第4张图片

# 需要注意,step7(下图),需要选择MYSQL Native,并且下面输入相应的数据库地址、数据库名称、数据表名、用户名、密码。

rsyslog+mysql+loganalyzer 环境搭建日志服务器_第5张图片



安装完成后,刷新下首页。应该如下图所示:

rsyslog+mysql+loganalyzer 环境搭建日志服务器_第6张图片


statistics页面能看到统计信息,如下图。但是下图只有个Client端的监控统计。后面我们要把Mysql服务器的也加进来。

rsyslog+mysql+loganalyzer 环境搭建日志服务器_第7张图片



# MySQL服务器上也配置将日志发到mysql数据库中保存:

# 安装rsyslog-mysql

yum install rsyslog-mysql -y

 

# 配置rsyslog以支持mysql

vi /etc/rsyslog.conf

在MODULES模块下,添加一条:
$ModLoad ommysql
 
在RULES模块下,修改如下:
注释掉原有的*.info;mail.none;authpriv.none;cron.none      /var/log/messages
添加一条记录:*.info;mail.none;authpriv.none;cron.none    :ommysql:192.168.2.11,Syslog,syslog,123456


service rsyslog restart  #重启rsyslog服务

 

再在MySQL服务器上随便yum安装卸载几个软件包,做日志记录测试。

 

 

# 在浏览器查看,会发现已经有了MySQL的记录信息

rsyslog+mysql+loganalyzer 环境搭建日志服务器_第8张图片


loganalyzer更多的功能有待各位发掘。。。


同样的方法,我们还可以按照上面的教程添加更多的主机进来。