rsyslog基于mysql的日志集中存储,及loganalyzer日志分析工具的web配置
Rsyslog是Linux系统自带的一款强大的日志系统,在业务量不是很大的情况下,能够满足大部分客户的日志分类搜集功能,是广大运维同事进行系统监控、分析不可或缺的利器。而在运维自动化高速发展的今天,如果我们还要“人工”智能的去每一个服务器上查看系统日志就显得太LOW了,并且,对我们来说也是一个不小的负担。
基于此,我们就简单的来介绍一下,rsyslog结合mysql数据库基于CS架构下的日志集中存储,以及web界面日志分析工具loganalyzer的基础配置。为了更清晰的展示其工作原理,这里采用rsyslog客户端、rsyslog服务器、mysql服务器、loganalyzer客户端四台机器进行配置。
一、mysql服务器的配置。
安装mysql-server(centos5/6),或者mariadb-server(centos7)。本文默认全部采用CentOS7.2系统。
yum install -y mariadb-server
启动mariadb服务:
systemctl start mariadb
查看3306端口是否监听:
ss -ntl
安装rsyslog-mysql软件包,会生成两个文件
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
使用mysql命令初始化rsyslog数据库
mysql -uUSER -hHOST -pPASSWORD < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
登录到mariadb服务器,使用show databases命令可以查看到多了一个Syslog数据库。
使用GRANT命令授权rsyslog服务器对Syslog数据库具有读写权限,这里简化操作,我们授予全部权限,具体生成环境可根据具体情况授予满足需求的最小权限。
GRANT ALL ON Syslog.* to 'user'@'SYSLOG_SERVER_IP' IDENTIFIED BY 'password'
至此,mysql服务器的配置已经完成。当然为了后续我们配置loganalyzer方便,我们需要授权loganalyzer服务器对数据具有相应的权限。
GRANT ALL ON Syslog.* to 'user'@'LOGANALYZER_SERVER_IP' IDENTIFIED BY 'password'
二、Rsyslog服务器的配置
安装rsyslog-mysql软件包,或将mysql服务器中的/usr/lib64/rsyslog/ommysql.so文件copy到本地对应路径。
修改/etc/rsyslog.conf配置文件
启用响应的udp或tcp模块,并开启514端口监听
$ModLoad imudp
$UDPServerRun 514
或
$ModLoad imtcp
$InputTCPServerRun 514
启用mysql模块,并配置响应的日志级别,将日志输出信息保存至mysql服务器的Syslog数据库
$ModLoad ommysql // MODULES段
FACILITY.PRIORITY :ommysql:MYSQL_SERVER_IP,Syslog_DB,USER,PASS
查看514端口是否监听
ss -ntul
重新启动rsyslog服务
systemctl restart rsyslog
至此rsyslog服务器也配置完成
三、配置rsyslog客户端
客户端的配置,仅需修改/etc/rsyslog.conf文件,将相应的日志信息保存位置设置为远程的rsyslog服务器即可
FACILITY.PRIORITY @RSYSLOG_SERVER_IP
重启rsyslog服务即完成配置
systemctl restart rsyslog
至此,即完成了基于mysql即rsyslog的日志分布式集中存储管理配置。
四、基于web界面的日志管理分析工具loganalyzer的配置
虽然上面已经完成了日志系统的配置,但当日志信息量较大时,对于日志信息的分析、查询需要直接操作mysql数据库,这就显得比较麻烦了。不过有一款web界面化的日志分析管理工具loganalyzer会给我们带来诸多便利。
LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图形化的图表报告功能。数据可以从数据库或一般的syslog文本文件中获取。logAnalyzer采用php开发,所以日志服务器需要php的运行环境,所以我们需要配置带GD库的PHP环境(我们这里以LAMP为例)。
这里我们在相应的web服务器上安装php软件包,及相关组件
yum install -y php php-mysql php-gd httpd
下载loganalyzer源码包,并解压缩
将程序文件复制到web根目录,并重命名
cp -r loganalyzer-VERSION/src /var/www/html/loganalyzer
创建文件,并修改权限为666
touch config.php
chmod 666 config.php
启动apache,并访问loganalyzer。
systemctl start httpd
在浏览器中访问http://WEB_SERVER/loganalyzer,根据提示进行程序的安装设置,并进行数据库的配置,如下图
安装完成后的显示界面如下图所示: