在日常工作中,我们需要搭建专门的日志服务器来记录服务器上各类操作及系统信息。为什么不用服务器本地的日志呢。想象一下,如果你的服务器被入侵或者有其他人认为篡改了你的日志,系统本地的日志还可信吗?所以,我们需要搭建专门的日志服务器来记录日志信息。

我们此次的环境是服务端:CentOS7服务器IP地址是192.168.42.15.主机名:loganalyzer
日志客户端的IP:192.168.42.101 主机名:client

安装LAMP环境

注:安装php是会自动把httpd作为依赖安装上。

把关键的服务设置为开机自启动:

启动MariaDB数据库:

初始化数据库:

默认没有root密码,在初始化过程中,建议大家设置下root密码!

改下Apache httpd配置:

主配置改成这样:

改变下Apache加载php的配置:

注释下面两行:

改下php的配置:

继续修改下:

改成这样:

启动php-fpm和httpd服务

防火墙放行下:

自此,LAMP环境搭建完毕。

配置下rsyslog相关的数据库

几乎所有的Linux发行版都默认安装了rsyslog,所以这个一般已经自带了,不用额外安装。我们安装下rsyslog-mysql让MariaDB支持rsyslog

配置下数据库:

导入数据库:

进入MariaDB控制台:

授权下:

这里把权限授予数据库的rsyslog用户,密码为rsyslog,实际成产环境中建议用复杂点的密码。

配置服务端支持rsyslog-mysql模块:

在#### MODULES ####下面增加下面两行:

Syslog为数据库,rsyslog为用户名和密码,如果你的数据库不是这个用户名和密码,请按照你的用户名和密码填写。

上面的配置文件中,取消一些注释,来启用一些模块:

重启rsyslog服务:

开放rsyslog防火墙端口:

安装LogAnalyzer

下载下LogAnalyzer软件,目前最新的稳定版本是4.1.5:

在Apache目录下建立一个loganalyzer专用的文件夹:

把文件权限设置下:

建立空的配置文件:

设置selinux标签

接下来在浏览器中开始配置,打开http://192.168.42.15/loganalyzer/install.php

按next检测环境,我们刚才已经被主要配置文件设置为可写了,没问题,继续next

loganalyzer2一路next到配置用户环节:
loganalyzer3配置下syslog源:
loganalyzer4注意,表名称大小敏感,名称是SystemEvents!如果你的日志信息特别多,Enable Row Counting会拖慢你查询的速度,这个相信接触过数据库查询的用户都能理解。

接下来netxt直到完成。

完成后可以可以删除安装目录下的install.php文件:

客户端配置

编辑配置文件:

在文件最后一行加上:

重启rsyslog服务:

要让客户端所有执行的命令都写入日志中,可以这样:

在尾部加上如下内容:

使改变生效:

此时客户端配置完毕。

关于中文日志乱码:

可以用管理员用户登陆后,进入Admin Center,在Default character encoding选择utf-8编码即可。

CentOS7下使用rsyslog+LogAnalyzer+MariaDB部署日志服务器
Tagged on:                         

发表评论

电子邮件地址不会被公开。 必填项已用*标注