Linux基础服务 ·

CentOS 7下rsyslog+mariadb+loganalyzer日志服务器搭建

[隐藏]

前言

日志功能对于操作系统是相当重要的,在使用中,无论是系统还是应用等等,出了任何问题,我们首先想到的便是分析日志,查找问题原因。

自 CentOS 6 开始,我们的 CentOS 便开始使用 rsyslog 做为日志收集服务了,相对于之前的 syslog 它能够支持多线程,数据库存储,支持更多了传输协议等等优点。

而 LogAnalyzer 则是一款基于 PHP 开发的 syslog 日志和其他网络事件数据的 Web 前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。

将他们整合起来,我们就能够搭建一个日志收集管理服务器,用来应对小型的日志数据收集分析。

实验环境

操作系统:CentOS 7.2 两部,一部作为日志采集对象,一部做日志收集数据服务与 web 服务。

数据库:mariadb v5.5.44

httpd:v2.4.6

php: v2.4.0

LogAnalyzer:v4.1.5

服务端配置

安装数据库

启动并初始化数据库

添加数据库与用户

安装 rsyslog 的 MySQL 扩展程序包 rsyslog-mysql

将 rsyslog 的 MySQL 表导入创建的 rsyslog 数据库,并给予用户权限。

修改修改 rsyslog 配置文件

重启 rsyslog 服务

客户端配置

安装 rsyslog 的 MySQL 扩展程序 rsyslog-mysql

修改 rsyslog 配置文件,将日志信息传输给远程数据库

重启 rsyslog 服务

准备 web 环境

安装所需软件

下载 loganalyzer

解压 loganalyzer

配置 loganalyer

启动 httpd

通过浏览器访问 http://IP地址,提示点击 here 进行配置。

点击之后,提示开始检查。

配置文件检查,注意 config.php 需要 666 权限,如果没有写权限,则会报错提示。

LogAnalyzer 的基本配置,此处配置的数据库为 LogAnalyzer 的数据库,也就是我们自己建的 rsyslog 数据库。

如果数据库和 web 在同一主机,那么久可以使用 localhost ,也可以使用 127.0.0.1。若不在同一主机,则需要使用 IP 地址,或配置 DNS ,使用主机名。

如果数据库能正常连接,那么就会显示正常了,如果数据库连接出错,则会提示错误原因,点击 Next 继续下一步。

连接数据库成功后,会自动创建数据库表,提示 24 条成功,0 失败。

提示创建管理员用户

这一步便是填写日志信息的数据库信息,也就是我们导入 sql 文件所创建的 Syslog 数据库,请注意大小写,监控表为 SystemEvents,默认为小写,会出错,很奇怪。

继续下一步就会提示成功啦,然后点击登录,便能进入查看了。

安装完成后为了安全,请将 config.php 权限修改为 644

排错

如果无法登录,查看 mariadb 日志是否出现如下错误

这是应为 mariadb 会反解主机信息,而 DNS 反解失败,要么在 my.cnf 加入以下参数关闭反解:

要么在 hosts 中添加主机记录

要么将授权方式改用 IP 地址

参与评论