通过loganalyzer展示数据库中的日志

通过loganalyzer展示数据库中的日志

1.架构图

通过loganalyzer展示数据库中的日志

2. Rsyslog服务器

2.1 安装mysql模块

yum install -y rsyslog-mysql

2.2 将sql脚本复制到数据库服库上

scp /usr/share/doc/rsyslog/mysql-createDB.sql 192.168.31.48:/root/

3. Mysql服务器

3.1 安装mariadb

yum install -y mariadb-server

3.2 启动数据库

systemctl enable --now  mariadb

3.3 导入数据库

mysql < mysql-createDB.sql
mysql -e "show databases;"

通过loganalyzer展示数据库中的日志

3.3 创建授权用户

mysql -e "create user rsyslog@'192.168.31.%' identified by 'Pana#123';"
mysql -e "grant all on Syslog.* to rsyslog@'192.168.31.%';"
mysql -e "select user,host from mysql.user;"

通过loganalyzer展示数据库中的日志

4. Rsyslog服务器

4.1 配置日志服务器将日志发送至指定数据库

在#### MODULES ####中加入

module(load="ommysql")

在#### RULES ####中加入

*.info;mail.none;authpriv.none;cron.none                :ommysql:192.168.31.48,Syslog,rsyslog,Pana#123

通过loganalyzer展示数据库中的日志

4.2 重启rsyslog

systemctl restart rsyslog

4.3 测试rsyslog

rsyslog服务器上执行

logger "this is a test log"

数据库服务器上执行

mysql -e "SELECT COUNT(*) FROM Syslog.SystemEvents;"
mysql -e "SELECT * FROM Syslog.SystemEvents;"

可以看到数据已经存到Mysql的Syslog库中.
通过loganalyzer展示数据库中的日志

mysql -e "SELECT * FROM Syslog.SystemEvents\G"

通过loganalyzer展示数据库中的日志

5. loganalyzer部署

5.1 准备工作

yum install -y httpd php-fpm php-mysqlnd php-gd
systemctl enable --now httpd php-fpm

apache通过套接字连接php-fpm,这样就不需要另外启动9000端口了
如果想要启动9000端口,修改/etc/php-fpm.d/www.conf
listen = 127.0.0.1:9000即可
通过loganalyzer展示数据库中的日志
通过loganalyzer展示数据库中的日志

5.2 loganalyzer安装

tar xf loganalyzer-4.1.12.tar.gz
mv loganalyzer-4.1.12/src/ /var/www/html/log
touch /var/www/html/log/config.php
chmod 666 /var/www/html/log/config.php

5.3 loganalyzer页面配置

通过loganalyzer展示数据库中的日志
通过loganalyzer展示数据库中的日志
通过loganalyzer展示数据库中的日志
通过loganalyzer展示数据库中的日志
填入Mysql服务器IP,库名,表名,用户,密码等信息
通过loganalyzer展示数据库中的日志
通过loganalyzer展示数据库中的日志
再去rsyslog上发个信息

logger "this is a test log"

通过loganalyzer展示数据库中的日志
通过loganalyzer展示数据库中的日志

5.4 加固

防止配置被覆盖,需要再加固一下

chmod 644 /var/www/html/log/config.php

6.意外:

好像每次配置服务都会有点意外~~~~不出点意外文档写的就不完美
报错信息如下:

Could not find the configured table, maybe misspelled or the tablenames are case sensitive

通过loganalyzer展示数据库中的日志
vi /var/www/html/log/config.php
查看DBTableName 这一系列名字的值时,发现DBTableName多了个空格.去掉后保存退出.
通过loganalyzer展示数据库中的日志
此时就可以正常访问了.也不用重启服务.
通过loganalyzer展示数据库中的日志

上一篇:通过loganalyzer展示数据库中的日志


下一篇:第三章 Linux系统中的日志管理