部署Rsyslog+LogAnalyzer+MySQL日志服务器
Posted Linux就该这么学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署Rsyslog+LogAnalyzer+MySQL日志服务器相关的知识,希望对你有一定的参考价值。
简介
1、LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。
基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
2、LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
3、LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。
架构图
所有主机将日志都交给日志日志服务器管理,日志服务器配置将所有存储在mysql数据库中。搭建Loganalyzer将日志服务器中的所有日志进行web展现于管理。
服务器环境
作用 | 系统 | IP |
---|---|---|
前端调度 | CentOS7.3 | 172.18.68.71 |
Web服务器1 | CentOS7.3 | 172.18.68.72 |
Web服务器2 | CentOS7.3 | 172.18.68.73 |
MySQL服务器1 | CentOS7.3 | 172.18.68.74 |
MySQL服务器2 | CentOS7.3 | 172.18.68.75 |
日志服务器 | CentOS7.3 | 172.18.68.10 |
部署过程
所有服务器日志汇集至日志服务器
客户端配置
CentOS6和CentOS7默认使用Rsyslog记录系统日志,他的优点在与多线程,可以通过TCP、UDP发送,可是下MySQL存储等等。
Rsyslog的主配置文件问为/etc/rsyslog.conf,所以要在所有客户端中编辑主配置文件,把所有的日志全部发送至远程主机管理。
在所有客户端服务器编辑一下配置文件
[root@tiaobanji ~]# vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none @172.18.68.10
#重启服务
systemctl restart rsyslog
服务端配置
将Rsyslog默认不接受其他主机传来的日志信息。只要编辑配置文件加载TCP、UDP模块,并且监听端口,就可以接收其他主机传来的日志信息。
#将一下四行注释取消
[root@tiaobanji ~]# vim /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
配置服务端--将日志存储在数据库
Rsyslog默认将日志文件存储在本地,可以通过配置文件将其修改为存储在MySQL数据库中。不过这需要模块支持,需要先安装rsyslog-mysql软件包.
# 安装rsyslog-mysql
[root@tiaobanji ~]# yum install rsyslog-mysql -y
使用rpm -ql rsyslog-mysql看一下生成2个文件。一个是模块、一个是初始化数据库的SQL语句。只要编辑配置文件将模块加载,然后将sql语句导入至MySQL数据库服务器中即可。在数据库中创建的用户要与Rsyslog.conf的一致。
# 1.查看软件包
[root@tiaobanji ~]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
#
# 2.修改主配置文件
[root@tiaobanji ~]# vim /etc/rsyslog.conf
$ModLoad ommysql #:ommysql:数据库IP,数据库名,用户名,密码
*.info;mail.none;authpriv.none;cron.none :ommysql:172.18.68.74,Syslog,logadmin,centos
#
# 3.初始化数据库
[root@tiaobanji ~]# mysql -h172.18.68.74 -uroot -p </usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql # # 4.授权用户 [root@tiaobanji ~]# mysql -h172.18.68.74 -uroot -p MariaDB [(none)]> grent all on Syslog.* to 'logadmin'@'172.18.68.%' identified by 'centos';
部署LogAnalyzer前端展示
以上两个步骤就将所有服务器的日志全部汇集至日志服务器并存储在数据库中。接下来部署LogAnalyzer将日志用前端展示。
安装LogAnalyzer
LogAnalyzer的部署非常简单在官网http://loganalyzer.adiscon.com/下载并解压,然后将解压文件中的src文件复制到httpd可以访问到的页面即可。
tar xf loganalyzer-4.1.5.tar.gz
cp -a loganalyzer-4.1.5/src /var/www/html/loganalyzer
cd /var/www/html/loganalyzer
配置LogAnalyzer
1、浏览器打开http://IP/loganalyzer后点击here
2、点击下一步
3、创建配置文件
LogAnalyzer安装时会在系统创建./config.php配置文件用于存储数据库用户名、密码等信息。但是它并没有权限,所有要手动创建个文件,并且赋予666权限。
./config.php存储数据库的账号密码信息,由于这个文件仅仅才安装LogAnalyzer时需要666权限,所以在安装完毕后将其权限改为644更为妥当。
touch /var/www/html/loganalyzer/config.php
chmod 666 /var/www/html/loganalyzer/config.php
配置数据库文件
在第三部创建完配置文件之后,就一直点击next。直到如图所示
这里会填写数据库相关的信息,一定要注意大小写,一定要手动填写表名,因为默认的是小写。
点击安装
一切都配置完毕,最后点击安装。如果不能安装成功可能是之前的数据库配置错误。只要将config.php删除然后重新安装即可。
测试
进入页面之后可以看到一些日志,那就说明所有的部署工作完成!
安全加固
记得前面创建了config.php文件吗?这个文件保存了数据库的账号密码ip等等。在安装前权限为666,但是在安装后就不需要读权限了所将其其改为644。
chmod 644 /var/www/html/loganalyzer/config.php
安装中文语言包
LogAnalyzer默认为中文,个人也是推荐使用英文。这里也提供中文语言包。http://download.csdn.net/download/qq_36120510/10015028,解压后将整个目录方至/var/www/html/loganalyzer/lang目录下。然后再次访问页面在右上角选择中文即可。
《Linux就该这么学》是一本基于最新Linux系统编写,面向零基础读者的技术书籍。从Linux基础知识讲起,然后渐进式地提高内容难度,详细讲解Linux系统中各种服务的工作原理和配置方式,以匹配真实生产环境对运维人员的要求,突显内容的实用性。想要学习Linux系统的读者可以点击"阅读原文"按钮了解这本书,同时这本书也适合专业的运维人员阅读,作为一本非常有参考价值的工具书!
以上是关于部署Rsyslog+LogAnalyzer+MySQL日志服务器的主要内容,如果未能解决你的问题,请参考以下文章
rsyslog+loganalyzer+mysql部署日志服务器
Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器
利用rsyslog+mysql+loganalyzer部署日志服务器
Centos6.5部署Rsyslog+LogAnalyzer中文乱码解决