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

一、安装mysql
# yum -y install mariadb-server
# systemctl enable --now mariadb && systemctl status mariadb
● mariadb.service - MariaDB 10.3 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-12-25 03:56:37 EST; 2min 38s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 31604 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCE>
Process: 31470 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited>
Process: 31445 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Main PID: 31573 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 30 (limit: 11303)
Memory: 87.3M
CGroup: /system.slice/mariadb.service
└─31573 /usr/libexec/mysqld --basedir=/usr
二、安装rsyslog
# yum -y install rsyslog-mysql
#将sql脚本复制到数据库服务器
# scp /usr/share/doc/rsyslog/mysql-createDB.sql 10.0.0.28:/root/
三、配置mysql服务器
3.1 导入数据库
# mysql -uroot < mysql-createDB.sql
# mysql -e "show databases;"
+--------------------+
| Database |
+--------------------+
| Syslog |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3.2 创建授权用户
# mysql -e "create user rsyslog@'10.0.0.%' identified by '123456';"
# mysql -e "grant all on Syslog.* to 'rsyslog'@'10.0.0.%';"
# mysql -e "select user,host from mysql.user;"
+---------+--------------+
| user | host |
+---------+--------------+
| rsyslog | 10.0.0.% |
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| root | mysql-server |
+---------+--------------+
四、配置rsyslog服务器
4.1 配置日志服务器将日志发送至指定数据库
[root@ rsyslog-server ~]#vim /etc/rsyslog.conf
####MODULES#### #在 MODULES 语言下面添加
module(load="ommysql")
#在RULES语句块下面添加
#### RULES ####
#facility.priority :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD
*.info :ommysql:10.0.0.28,Syslog,rsyslog,123456
[root@ rsyslog-server ~]# systemctl restart rsyslog.service
4.2 测试
#在日志服务器上生成日志
# logger "this is a test log"
#在数据库上查询到上面的测试日志
$> mysql -e "select count(*) from Syslog.SystemEvents;"
+----------+
| count(*) |
+----------+
| 1907 |
+----------+
# 可以看到测试日记已经存到Mysql的Syslog库中
# mysql -e "select * from Syslog.SystemEvents\G" | grep -C10 "this is a test log"
GenericFileName: NULL
SystemID: NULL
*************************** 1904. row ***************************
ID: 1904
CustomerID: NULL
ReceivedAt: 2021-12-25 17:25:29
DeviceReportedTime: 2021-12-25 17:25:29
Facility: 1
Priority: 5
FromHost: reyslog
Message: this is a test log
NTSeverity: NULL
Importance: NULL
EventSource: NULL
EventUser: NULL
EventCategory: NULL
EventID: NULL
EventBinaryData: NULL
MaxAvailable: NULL
CurrUsage: NULL
MinUsage: NULL
五、部署配置LogAnalyzer
5.1 安装LogAnalyzer
# wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.10.tar.gz
# tar xvf loganalyzer-4.1.10.tar.gz
# mkdir /var/www/html/log
# mv loganalyzer-4.1.10/src/* /var/www/html/log
5.2 安装相关服务
# yum -y install httpd php-fpm php-mysqlnd php-gd
# systemctl enable --now httpd php-fpm && systemctl status httpd php-fpm
5.3 测试php
php是使用套接字和httpd通讯的,并非监听在9000端口。
需要监听在端口,修改配置文件/etc/php-fpm.d/www.conf,监听端修改为:listen = 127.0.0.1:9000
# cat > /var/www/html/info.php << EOF
<?php phpinfo() ?>
EOF
# 打开浏览器访问http://10.0.0.38/info.php,没问题继续下一步操作
六、基于 web 页面初始化LogAnalyzer
6.1 打开浏览器
访问http://10.0.0.38/log 实现初始化


6.2 提示缺失配置文件
# touch /var/www/html/log/config.php
# chmod 666 /var/www/html/log/config.php
6.3 重新访问




6.4 测试
[root@reyslog ~]# logger "this is a test log"
[root@reyslog ~]# logger "this is a newtest log

图表展示

通过loganalyzer展示数据库中的日志的更多相关文章
- 通过 loganalyzer 展示数据库中的系统日志
目录 通过 loganalyzer 展示数据库中的日志 环境准备 准备服务器: 日志服务器: 数据库服务器: 测试日志服务器和数据库是否连接: websrv服务器端: 通过 loganalyzer 展 ...
- Linux学习-通过loganalyzer展示MySQL中rsyslog日志
一.实验环境 系统:CentOS7.6 软件包:apache,php,mariadb-server (都是基于光盘yum源) 源码包:loganalyzer-4.1.7.tar.gz (http:// ...
- jsp案例--展示数据库中的数据
一.什么是jsp? JAVA SERVER PAGES java的动态网页,servlet用来获取数据处理业务,擅长处理与java代码有关的内容.jsp展示数据,擅长处理与html有关的内容. 二.如 ...
- SQL Server 2008 R2 清空数据库中ldf日志文件
/************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将 ...
- Python Django CMDB项目实战之-2创建APP、建模(models.py)、数据库同步、高级URL、前端页面展示数据库中数据
基于之前的项目代码来编写 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页index页文章页面 现在我们修改一个文章列表是从数据库中获取数据, 下面我们就需 ...
- 史林枫:sqlserver数据库中数据日志的压缩及sqlserver占用内存管理设置
使用sqlserver和IIS开发.net B/S程序时,数据量逐渐增多,用户也逐渐增多,那么服务器的稳定性就需要维护了.数据库如何占用更小内存,无用的日志如何瞬间清空? 今天在给一个客户维护网站的时 ...
- django开发博客01-页面展示数据库中的数据
1.首先在views.py中引入models.py的 Category这个类 然后在函数中(blog)写执行逻辑 categorys 返回的对象是是一个list"<QuerySet [ ...
- SQL Server清空数据库中ldf日志文件
USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [W ...
- C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改
在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...
随机推荐
- 2048 双人创新小游戏【JavaFX-FXGL游戏框架】
一个 uml 课程的大作业,项目要求设计并开发一款 2048 与某种游戏类型相结合的创新游戏.可以选择只建模或者既建模又实现,既然要做当然是选择实现啦(虽然没有接触过游戏...期末周的莽冲hhh,小组 ...
- pymysql防止SQL注入的方法
import pymysql class Db(object): def __init__(self): self.conn = pymysql.connect(host="192.168. ...
- 关于 vim 的插件 snipmate 以及它的安装方式(使用国内源)
snipmate 是一个类似代码补全的东西,更好的地方在于自定义补全的内容. 最新的 snipmate 是在 https://github.com/garbas/vim-snipmate 而不是在官网 ...
- 【PTA】5-2 下列程序读入时间数值,将其加1秒后输出,时间格式为:hh: mm: ss,即“小时:分钟:秒”,当小时等于24小时,置为0。
5-2 下列程序读入时间数值,将其加1秒后输出,时间格式为:hh: mm: ss,即"小时:分钟:秒",当小时等于24小时,置为0. #include <stdio.h> ...
- 《剑指offer》面试题36. 二叉搜索树与双向链表
问题描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜 ...
- Java 异步 I/O
Java 中的异步 I/O 简称 AIO, A 即 Asynchronous.AIO 在 JDK1.7 时引入,基于操作系统提供的异步 I/O 通信模型,封装了一些进行异步 I/O 操作的 API. ...
- Windows系统安装和office版本兼容
MSDN, I tell you 下载windows10系统各种纯净镜像.但是还是推荐使用官网修改参数显示出下载链接,下载windows10最新版. 在最近几次重做系统中,PE工具似乎无法识别从MSD ...
- 解决new Thread().Start导致高并发CPU 100%的问题
背景 之前接手一个项目的时候,发现到处是 new Thread(()=>{ //do something }).Start(); 这么做的目的,无非是为了减少页面等待时间提高用户体验,把一些浪费 ...
- 一种Django多租户解决方案
什么是多租户? 多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性. 多租 ...
- gin源码解读3-gin牛逼的context
Gin封装的最好的地方就是context和对response的处理. github的README的介绍,基本就是对这两个东西的解释. 本篇文章主要解释context的使用方法, 以及其设计原理 为什么 ...