CentOS7下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器
一、对上述环境的简介
1、LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
2、LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
3、LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。
二、服务器环境
作用 系统 IP 主机名
日志服务器 CentOS7.4 192.168.26.71 log-srv
客户端 CentOS7.4 192.168.26.72 web
三、部署过程
1)环境准备
修改yum源为阿里或163源、时间同步等操作略
2)开始部署环境
在日志服务器上:
A、部署lamp环境,yum安装
[root@log-srv ~]# yum -y install httpd php php-mysql php-gd mariadb mariadb-server
[root@log-srv ~]# systemctl start httpd && systemctl enable httpd
[root@log-srv ~]# systemctl start mariadb && systemctl enable mariadb
[root@log-srv ~]# mysql_secure_installation --简单安全设置,一路Y走起
[root@log-srv ~]# mysql -u root -p --测试可以正常登录
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>exit

[root@log-srv ~]# cat > /var/www/html/index.php << eof

phpinfo();
?>
eof
然后在浏览器打开php测试页面

[root@log-srv ~]# yum -y install rsyslog rsyslog-mysql
导入数据库
[root@log-srv ~]# mysql -u root -p123456 < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
[root@log-srv ~]# mysql -u root -p123456
查看导入成功
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
建立用户并授权
MariaDB [(none)]> grant all privileges on Syslog. to 'rsyslog'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on Syslog.
to 'rsyslog'@'127.0.0.1' identified by '123456';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
[root@log-srv ~]# vim /etc/rsyslog.conf
在第六行“#### MODULES ####”下加入两行
$ModLoad ommysql
. :ommysql:localhost,Syslog,rsyslog,123456
去掉以下行的注释
$ModLoad immark
$ModLoad imudp
$UDPServerRun 514

[root@log-srv ~]# systemctl restart rsyslog
当WEB服务器上重启rsyslog服务后
[root@log-srv ~]# tail -5 /var/log/messages
Mar 7 17:22:27 192.168.26.72 [localhost] systemd: Stopping System Logging Service...
Mar 7 17:22:27 192.168.26.72 [localhost] rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-41.el7_7.2" x-pid="10342" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar 7 17:22:27 192.168.26.72 [localhost] systemd: Starting System Logging Service...
Mar 7 17:22:32 192.168.26.72 [localhost] rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-41.el7_7.2" x-pid="10375" x-info="http://www.rsyslog.com"] start
Mar 7 17:22:32 192.168.26.72 [localhost] systemd: Started System Logging Service.

在WEB服务器上:
[root@web ~]# yum -y install rsyslog

在最后添加一行
. @192.168.26.71:514
[root@web ~]# systemctl restart rsyslog
B、在日志服务器上安装loganalyzer
[root@log-srv src]# cd /usr/local/src && yum -y install wget && wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
[root@log-srv src]# tar -zxvf loganalyzer-4.1.6.tar.gz && cd loganalyzer-4.1.6
[root@log-srv loganalyzer-4.1.6]# cp -a ./src /var/www/html/log
这样就可以在浏览器http://192.168.26.71/log做进一步操作了

点击“here”后进入下一步

单击“next”会遇到个小错误提示

需要手工创建配置文件
[root@log-srv loganalyzer-4.1.6]#touch /var/www/html/log/config.php && chmod 666 /var/www/html/log/config.php
创建配置文件并给于权限后,单击“ReCheck”则会出现以下画面

单击“next”

选择”Yes”后配置Loganalyzer连接数据库信息

填写正确的信息后单击“next”

两个“next”后创建登录用户

创建完成后

创建源信息

填写的数据库、表等信息一定与数据库查询是一样的,特别是表名大小写一定不能错

单击“next”

接下来就是激动人心时刻了

搭建完成!可以看到WEB服务器的日志已经显示(定时同步时间的日志)
总结一下以前搭建遇到的错误:
1、关于重新安装
解决办法:1)可直接清空config.php文件
[root@log-srv ~]# > /var/www/html/log/config.php 
                 2)重新导入数据库
2、中文显示乱码问题
解决办法:在admin center中修改“Default character encoding”项,选择UTF-8即可
中文包”zh”放在/var/www/html/log/lang目录下就可以
刷新页面并选择chinese


3、登录后出现以下错误提示:Could not find the configured table, maybe misspelled or the tablenames are...
解决办法:修改config.php中的$CFG['Sources']['Source1']['DBTableName'] = 'SystemEvents'; 注意大小写
4、关闭分析页面中的捐赠按钮
解决办法:修改include/functions_common.php中$content['SHOW_DONATEBUTTON'] = false; // Default = true!
5、替换分析页面logo
解决办法:替换images/main/目录下的Header-Logo.png文件