将日志记录在是mysql中,实现loganalyzer

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介:

三台主机

    192.168.191.106(代号106)   产生日志    

    192.168.191.107(代号107)   实现存放日志的数据库  

    192.168.191.173(代号173)   实现日志报表  

1、实现rsyslog将日志记录于MySQL中 

(1)在107上:

        yum install mariadb-server

        systemctl start mariadb

        mysql_secure_installation 执行安全脚本 

2)在106上:yum install rsyslog-mysql

 rpm -ql rsyslog-mysql

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

3)在107上运行脚本

  mysql-uroot -pcentos < createDB.sql    或者登陆数据库,执行脚本

  grantall on Syslog.* to 'loguser' @ '192.168.191.106' identified by 'centos'

(4)在106上连接测试

    mysql -uloguser -pcentos -h'192.168.191.107'                  

5)支持日志

   106 vim /etc/rsyslog.conf

    添加该行:        

        $ModLoad ommysql  

    修改这一行:

    *.info;mail.none;authpriv.none;cron.none  :ommysql:192.168.191.107,Syslog,loguser,centos 

  重启服务:service  rsyslog restart

(6)在107上

          mysql -uroot -pcentos

          show databases

          useSyslog

          selectcount*from SystemEvents;查看有几条记录

          from SystemEvents \G  查看记录详细信息

    

    c27cb867558246d156581806eed51d6f.png


(7)测试:在106上生成日志,logger “This is a test log”

  在107查看

             d100d765fc2b78cc127801c3dac48e09.png

        select count * from SystemEvents \G;

    51c405e8f07d54afdfd17f97e5024f2e.png  

   可以看到确实多了一条记录

2、实现通过loganalyzer展示数据库中的日志

    1>在173上:实现lap

        (1)安装包   

           httpd默认安装过了

           yum install php  php-mysql  php-gd  

        (2)service httpd  start 启动服务

        (3)测试

           vim /var/www/html/index.php           

1
2
3
<?php
           phpinfo();
?>

    在浏览器访问http://192.168.191.173/index.php  显示下面信息则实现lap

      259a152130a96045a1109df349bd13d3.png  

  2>在173上实现loganalyzer

       (1)rz 导入文件  loganalyzer-4.1.5.gz

          tar xvf loganalyzer-4.1.5.gz

       (2) cd loganalyzer-4.1.5

          mv src /var/www/html/log

       (3)cd /var/www/html/log

            touch config.php

            chmod 666 config.php

      或者在该目录下 执行该脚本 configure.sh

       f4b82513df0bb4a665759e28c00f708d.png

       service httpd  restart  重启服务

4)浏览器访问http:// 192.168.191.173/log

      43bec6b5c0aa38fb0c1611dde4122136.png

     7b3b0a1da23800949574daa2a1e08596.png

      其他步默认next;下面一页有固定格式

     808687aac637b56de058a0276e193acc.png 

(5)成功,点击生成想要的报表

     d4f8796b3bf073faa8f63c4c66aa3dd9.png 


本文转自 hawapple 51CTO博客,原文链接:http://blog.51cto.com/guanm/1976131


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
本文介绍了MySQL InnoDB存储引擎中的数据文件和重做日志文件。数据文件包括`.ibd`和`ibdata`文件,用于存放InnoDB数据和索引。重做日志文件(redo log)确保数据的可靠性和事务的持久性,其大小和路径可由相关参数配置。文章还提供了视频讲解和示例代码。
128 11
【赵渝强老师】MySQL InnoDB的数据文件与重做日志文件
|
14天前
|
关系型数据库 MySQL 数据库
【赵渝强老师】MySQL的binlog日志文件
MySQL的binlog日志记录了所有对数据库的更改操作(不包括SELECT和SHOW),主要用于主从复制和数据恢复。binlog有三种模式,可通过设置binlog_format参数选择。示例展示了如何启用binlog、设置格式、查看日志文件及记录的信息。
|
2月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1650 14
|
15天前
|
存储 Oracle 关系型数据库
【赵渝强老师】MySQL的撤销日志文件和错误日志文件
本文介绍了MySQL的物理存储结构,重点讲解了InnoDB存储引擎中的撤销日志文件(undo log)和错误日志文件。从MySQL 8.0开始,默认生成两个10MB的undo表空间文件,并支持动态扩容和收缩。错误日志文件记录了MySQL启动、运行、关闭过程中的问题,通过示例展示了如何查看和使用这些日志。
|
2月前
|
SQL 存储 关系型数据库
Mysql主从同步 清理二进制日志的技巧
Mysql主从同步 清理二进制日志的技巧
30 1
|
2月前
|
关系型数据库 MySQL 数据库
DZ社区 mysql日志清理 Discuz! X3.5数据库可以做定期常规清理的表
很多站长在网站日常维护中忽略了比较重要的一个环节,就是对于数据库的清理工作,造成数据库使用量增加必须多的原因一般有2个:后台站点功能开启了家园,此功能现在很少有论坛会用到,但是灌水机会灌入大量垃圾信息致使站长长时间未能发觉;再有就是程序默认的一些通知类表单会存放大量的、对于网站日常运行并无意义的通知信息。
89 2
|
2月前
|
存储 关系型数据库 MySQL
MySQL中的Redo Log、Undo Log和Binlog:深入解析
【10月更文挑战第21天】在数据库管理系统中,日志是保障数据一致性和完整性的关键机制。MySQL作为一种广泛使用的关系型数据库管理系统,提供了多种日志类型来满足不同的需求。本文将详细介绍MySQL中的Redo Log、Undo Log和Binlog,从背景、业务场景、功能、底层实现原理、使用措施等方面进行详细分析,并通过Java代码示例展示如何与这些日志进行交互。
105 0
|
4月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
172 0
|
4月前
|
C# Windows 监控
WPF应用跨界成长秘籍:深度揭秘如何与Windows服务完美交互,扩展功能无界限!
【8月更文挑战第31天】WPF(Windows Presentation Foundation)是 .NET 框架下的图形界面技术,具有丰富的界面设计和灵活的客户端功能。在某些场景下,WPF 应用需与 Windows 服务交互以实现后台任务处理、系统监控等功能。本文探讨了两者交互的方法,并通过示例代码展示了如何扩展 WPF 应用的功能。首先介绍了 Windows 服务的基础知识,然后阐述了创建 Windows 服务、设计通信接口及 WPF 客户端调用服务的具体步骤。通过合理的交互设计,WPF 应用可获得更强的后台处理能力和系统级操作权限,提升应用的整体性能。
115 0
|
4月前
|
存储 关系型数据库 MySQL
深入MySQL:事务日志redo log详解与实践
【8月更文挑战第24天】在MySQL的InnoDB存储引擎中,为确保事务的持久性和数据一致性,采用了redo log(重做日志)机制。redo log记录了所有数据修改,在系统崩溃后可通过它恢复未完成的事务。它由内存中的redo log buffer和磁盘上的redo log file组成。事务修改先写入buffer,再异步刷新至磁盘,最后提交事务。若系统崩溃,InnoDB通过redo log重放已提交事务并利用undo log回滚未提交事务,确保数据完整。理解redo log工作流程有助于优化数据库性能和确保数据安全。
595 0