阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Rsyslog+MariaDB+Loganalyzer实现日志服务器搭建

226次阅读
没有评论

共计 3532 个字符,预计需要花费 9 分钟才能阅读完成。

一、概述

Linux 的日志记录了用户在系统上一切操作,包括系统自身运作产生的日志,这些日志是应使用者了解服务器的情况最好的资料。Rsyslog 是系统的一部分,能够实时的写日志,并且还可以将日志选择性的发送到远程日志服务器。

rsyslog 的特性:

  1. 日志统一,集中式管理
  2. 多线程
  3. 强大的过滤功能,能实现过滤日志信息中的任何部分内容
  4. 自定义输出格式

LogAnalyzer 是一款 syslog 日志和其他网络事件数据的 Web 前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端 /var/log/ 目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,本次试验采用将日志保存到数据库的方式,在 企业规模不大 机器数量不多 的情况下,LogAnalyzer 是一个不错的选择。

LogAnalyzer 采用 php 开发,所以日志服务器需要 php 的运行环境,本文采用 LAMP。

二、配置文件

rsyslog 程序环境:

  • rsyslog 的程序包为:rsyslog,为系统自带,无需安装
  • 其主要配置文件为:/etc/rsyslog.conf 和 /etc/rsyslog.d/*.conf
  • 主程序:/usr/sbin/rsyslogd
  • CentOS 6:service rsyslogs {start |stop |restart | status}
  • CentOS 7:/usr/lib/systemd/system/rsyslog.service

配置文件格式由三部分组成:

  • MODULES: 模块配置
  • GLOBAL DIRECTIVES: 全局配置
  • RULES: 日志记录相关的配置

RULES部分配置介绍如下:

配置格式:facility.priority  target

facility
    *: 所有的 facility;f1,f2,f3,...: 指定的 facility 列表;priority:*:所有级别;none:没有级别;PRIORITY: 指定级别(含)以上的所有级别;=PRIORITY: 仅记录指定级别的日志信息;target:文件:将日志信息记录到指定的文件中;文件路径前的 - 表示异步写入;用户:将日志事件通知给指定的用户;日志服务器:@host,把日志通过网络送往指定的服务器记录,而非由本地记录;管道:| COMMAND

如果要配置 rsyslog 成为日志服务器,需要在 MODULES 部分加载 TCP 或 UDP 模块:

#### MODULES ####
# Provides UDP syslog reception
$Modload imudp
$UDPServerRun 514
 
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

其他日志文件:

/var/log/secure: 系统安装日志,应该周期性分析;/var/log/btmp: 当前系统上,用户的失败尝试登陆相关的日志信息,lastb 命令进行查看;/var/log/wtmp:当前系统上,用户正常登陆系统的相关日志信息,last 命令可以查看;lastlog 命令:用于查看当前系统上每一个用户最近一次的登陆信息;/var/log/messages:系统日志信息;/var/log/dmesg:系统引导过程中的日志信息;可以使用文本查看工具查看;也可以使用专用命令 dmesg 查看;

下面开始我们的安装

三、安装和配置

配置 rsyslog 将日志记录于 MySQL 中:
(1)准备 MySQL Server:yum install mariadb
(2)在在 mysql server 上授权 rsyslog 能连接至当前服务器;
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'loguser'@'127.0.0.1' IDENTIFIED BY 'admin@123';
注意:我的实验环境是 rsyslog 和 mysql 在同一台机器上面,所以使用的地址是 127.0.0.1
(3)安装 rsyslog 连接 MySQL 数据库的模块;
yum install rsyslog-mysql
(4)为 rsyslog 创建数据库及表
mysql -uloguser -hlocalhost -pmagedu</usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
查看生成的表:

MariaDB [(none)]> use Syslog;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)

MariaDB [Syslog]> 

(5)配置 rsyslog 将日志保存到 mysql 中;

#### MODULES ####
$ModLoad ommysql
 
#### RULES ####
*.info;mail.none;authpriv.none;cron.none      :ommysql:127.0.0.1,Syslog,loguser,admin@123

(6)重启 rsyslog 服务;
[root@node1 ~]# systemctl restart rsyslog.service
这样,日志文件就不再记录于 /var/log/messages 下了,而是记录在数据库中。
通过 loganalyzer 展示数据库中的日志:
(1)准备 amp 或 nmp 组合:这里我使用的是 lamp;
yum install httpd php php-mysql php-gd
(2)安装 LogAnalyzer:

tar xf loganalyzer-3.6.5.tar.gz
cp -a loganalyzer-3.6.5/src  /var/www/html/mylog
cd /var/www/html/mylog
touch config.php
chmod 666 config.php

(3)配置 loganalyzer:
systemctl start httpd.service

  • 在浏览器中输入 http://172.16.47.101/mylog/
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
  • 点击 Click here to Install Adiscon LogAnalyzer! 继续
  • 接着一路 next
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
  • 到这里需要修改了
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
  • 改成如下
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
  • 点击完成
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
  • 报错了
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
    看提示,可能是表名写错了,于是去配置文件[root@node1 /var/www/html/mylog]# vim config.php 看看,找到如下位置,果然是写错了,’SystemEvents ‘ 多了一个空格,囧~
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
  • 修改完后,重启 httpd,我们要的页面出来了
    Rsyslog+MariaDB+Loganalyzer 实现日志服务器搭建
    (4)最后为了安全,别忘记修改一下 config.php 权限
    #chmod 644 config.php
    至此,一台日志服务器搭建完成。

CentOS 6.7 搭建 Rsyslog 日志服务器 http://www.linuxidc.com/Linux/2016-06/132418.htm

Rsyslog+MySQL+Loganalyzer 搭建日志服务器  http://www.linuxidc.com/Linux/2016-09/134849.htm

Rsyslog+MySQL+Loganalyzer 搭建日志服务器  http://www.linuxidc.com/Linux/2016-09/134849.htm

CentOS 6.5+Rsyslog+LogAnalyzer 搭建中央日志服务器  http://www.linuxidc.com/Linux/2014-06/102867.htm

Rsyslog 日志服务器搭建以及 Loganalyzer 安装使用  http://www.linuxidc.com/Linux/2017-02/140240.htm

CentOS 6.5 rsyslog+MySQL+loganalyzer 日志集中分析管理 http://www.linuxidc.com/Linux/2016-11/137656.htm

Rsyslog 的详细介绍:请点这里
Rsyslog 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141202.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3532字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中