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

  • 2019 年 10 月 4 日
  • 筆記

环境: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

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;   会找到类似下图的样子,说明我们的配置没有出问题。

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

# 配置web服务器

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

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

<?php      $conn=mysql_connect('192.168.2.11','syslog','123456');      if($conn)         echo"success";      else         echo"failure";      mysql_close();      phpinfo();  ?>

出现上图,说明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

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

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

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

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

# 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的记录信息

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

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