Linux-web看日志

本文介绍如何构建一个基于rsyslog、Mariadb和Loganalyzer的集中式日志管理系统,实现日志的收集、存储与web界面分析。通过在服务器端设置rsyslog接收日志,Mariadb存储日志,Loganalyzer提供web界面访问,同时客户端可远程发送日志至服务器。
摘要由CSDN通过智能技术生成

rsyslog+mariadb+loganalyzer

一个可以使用web页面查看日志的架构

环境准备:与前面课程提到的集中式日志服务器的架构一样,只是这个架构是在server上搭建的,也就是IP地址为192.168.1.55的这台主机上

server端的环境准备和设置

setp1 安装所需要的软件包

[root@localhost ~]# dnf install mariadb mariadb-server rsyslog-mysql -y

step2 启动mariadb服务

[root@localhost ~]# systemctl restart mariadb
[root@localhost ~]# systemctl status mariadb

step3 设置mariadb

##将mariadb的管理员密码设置为‘123456’
[root@localhost ~]# mysqladmin -u root password 123456


##建立日志服务需要用到的数据库
[root@localhost ~]# cd /usr/share/doc/rsyslog/
[root@localhost rsyslog]# mysql -u root -p < mysql-createDB.sql 
Enter password: 


##进入到mariadb中验证一下是否有一个叫Syslog的数据库,如果有就代表前面的操作成功
[root@localhost rsyslog]# mysql -u root -p
Enter password: 
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| Syslog             |

step4 为后面将要用到的用户进行授权,允许用户访问mairadb中的Syslog库

#允许一个叫syslogroot的用户从127.0.0.1、192.168.1.55、192.168.1.18这三个ip地址访问我的数据库,密码为syslogpass,设置完成之后刷新一下并退出(如果你的架构中还有其它的主机,只要修改数据库语句中的IP地址即可)
MariaDB [(none)]> grant all on Syslog.* to 'syslogroot'@'127.0.0.1'identified by 'syslogpass';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> grant all on Syslog.* to 'syslogroot'@'192.168.1.55'identified by 'syslogpass';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> grant all on Syslog.* to 'syslogroot'@'192.168.1.18'identified by 'syslogpass';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit
Bye

setp5 修改rsyslog服务的配置文件

[root@localhost ~]# vim /etc/rsyslog.conf 
7 #### MODULES ####
.
.
.
 24 module(load="imtcp") # needs to be done just once
 25 input(type="imtcp" port="514")
 26 module(load="ommysql")#加载一个叫ommysql的模块是日志服务可以连接mariadb
 .
 .
 65 local7.*                 /var/log    /boot.log
 66 
 #告诉日志服务通过ommysql模块,将日志信息发送到192.168.1.55的Syslog库中,使用的用户名和密码就是我们在前一步设置的syslogroot,syslogpass
 67 *.*     :ommysql:192.168.1.55,Syslog,syslogroot,syslogpass
 
 ##重启日志服务
 [root@localhost ~]# systemctl restart rsyslog

step6 测试一下日志信息能否记录到数据库中

[root@localhost ~]# logger "hello test test test"
[root@localhost ~]# mysql -u root -p
Enter password: 
MariaDB [(none)]> use Syslog;
Database changed
MariaDB [Syslog]> select * from SystemEvents\G
*************************** 8. row ***************************
                ID: 8
        CustomerID: NULL
        ReceivedAt: 2019-12-07 03:22:31
DeviceReportedTime: 2019-12-07 03:22:31
          Facility: 1
          Priority: 5
          FromHost: localhost
           Message: hello test test test
###如果可以看到我们之前使用logger产生的日志信息及代表rsyslog可以将日志信息存入数据库中

step7 设置client(192.168.1.18),此步骤是唯一一步需要对client的做出的设置

##安装软件包
[root@localhost ~]# dnf install rsyslog-mysql -y

##修改服务的配置文件添加相应内容(与server端添加的内容一致)
[root@localhost ~]# vim /etc/rsyslog.conf
module(load="ommysql")
*.*     :ommysql:192.168.1.55,Syslog,syslogroot,syslogpass
[root@localhost ~]# systemctl restart rsyslog

###测试一下client的日志信息能否在server端的数据库中查看
###client
[root@localhost ~]# logger "hello this is a test from client 18"


####server端使用与刚才相同的方法去查看内容
MariaDB [Syslog]> select * from SystemEvents\G
*************************** 28. row ***************************
                ID: 28
        CustomerID: NULL
        ReceivedAt: 2019-12-07 03:30:28
DeviceReportedTime: 2019-12-07 03:30:28
          Facility: 1
          Priority: 5
          FromHost: localhost
           Message: hello this is a test from client 18

step8 server端安装支持web页面查看日志的工具loganalyzer

[root@localhost ~]# dnf install httpd php php-mysqlnd php-gd -y
[root@localhost ~]# tar fx loganalyzer-4.1.8.tar.gz 
[root@localhost ~]# cp -r loganalyzer-4.1.8/src/* /var/www/html/
[root@localhost ~]# cp loganalyzer-4.1.8/contrib/* /var/www/html/
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# sh configure.sh 
[root@localhost html]# systemctl restart httpd

step9 在mariadb中创建lyzeruser工具需要用到的库、用户并授权

[root@localhost html]# mysql -u root -p
Enter password: 
MariaDB [(none)]> create database loganalyzer;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> grant all on loganalyzer.* to lyzeruser@'192.168.1.55' identified by 'lyzeruser';
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit
Bye

step10 打开浏览器,部署loganalyzer

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值