CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介: 一、简介1、LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。

img_b89fff8e1e0234e5632a857d3b9a4f2f.png

一、简介

1、LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
2、LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
3、LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。

二、架构图

所有主机将日志都交给日志日志服务器管理,日志服务器配置将所有存储在MySQL数据库中。
搭建Loganalyzer将日志服务器中的所有日志进行web展现于管理。
img_1c6c7659f3fb266a057f0202ae42aa26.png

三、服务器环境

作用 系统 IP
前端调度 CentOS7.3 172.18.68.71
Web服务器1 CentOS7.3 172.18.68.72
Web服务器2 CentOS7.3 172.18.68.73
MySQL服务器1 CentOS7.3 172.18.68.74
MySQL服务器2 CentOS7.3 172.18.68.75
日志服务器 CentOS7.3 172.18.68.10

四、部署过程

1.所有服务器日志汇集至日志服务器

  • 客户端配置
    CentOS6和CentOS7默认使用Rsyslog记录系统日志,他的优点在与多线程,可以通过TCP、UDP发送,可是下MySQL存储等等。
    Rsyslog的主配置文件问为/etc/rsyslog.conf,所以要在所有客户端中编辑主配置文件,把所有的日志全部发送至远程主机管理。

    # 在所有客户端服务器编辑一下配置文件
    [root@tiaobanji ~]# vim /etc/rsyslog.conf
      *.info;mail.none;authpriv.none;cron.none                @172.18.68.10
    #重启服务
    systemctl  restart rsyslog
  • 服务端配置
    将Rsyslog默认不接受其他主机传来的日志信息。只要编辑配置文件加载TCP、UDP模块,并且监听端口,就可以接收其他主机传来的日志信息。

    #将一下四行注释取消
    [root@tiaobanji ~]# vim /etc/rsyslog.conf
      $ModLoad imudp
      $UDPServerRun 514
      $ModLoad imtcp
      $InputTCPServerRun 514

    2.配置服务端--将日志存储在数据库

    Rsyslog默认将日志文件存储在本地,可以通过配置文件将其修改为存储在MySQL数据库中。不过这需要模块支持,需要先安装rsyslog-mysql软件包.

    # 安装rsyslog-mysql
    [root@tiaobanji ~]# yum install rsyslog-mysql -y

    使用rpm -ql rsyslog-mysql看一下生成2个文件。一个是模块、一个是初始化数据库的SQL语句。只要编辑配置文件将模块加载,然后将sql语句导入至MySQL数据库服务器中即可。在数据库中创建的用户要与Rsyslog.conf的一致。

    # 1.查看软件包
    [root@tiaobanji ~]# rpm -ql rsyslog-mysql
    /usr/lib64/rsyslog/ommysql.so
    /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
    #
    # 2.修改主配置文件
    [root@tiaobanji ~]# vim /etc/rsyslog.conf
    $ModLoad ommysql                                        #:ommysql:数据库IP,数据库名,用户名,密码
    *.info;mail.none;authpriv.none;cron.none                :ommysql:172.18.68.74,Syslog,logadmin,centos
    #
    # 3.初始化数据库
    [root@tiaobanji ~]# mysql  -h172.18.68.74   -uroot  -p </usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
    #
    # 4.授权用户
    [root@tiaobanji ~]# mysql  -h172.18.68.74   -uroot  -p 
    MariaDB [(none)]>  grent all on Syslog.* to 'logadmin'@'172.18.68.%' identified by 'centos';

3.部署LogAnalyzer前端展示

以上两个步骤就将所有服务器的日志全部汇集至日志服务器并存储在数据库中。接下来部署LogAnalyzer将日志用前端展示。

  • 安装LogAnalyzer
    LogAnalyzer的部署非常简单在官网http://loganalyzer.adiscon.com/下载并解压,然后将解压文件中的src文件复制到httpd可以访问到的页面即可。

    tar xf loganalyzer-4.1.5.tar.gz
    cp -a loganalyzer-4.1.5/src   /var/www/html/loganalyzer
    cd /var/www/html/loganalyzer
  • 配置LogAnalyzer
    1、浏览器打开http://IP/loganalyzer后点击here
    img_ddd2f249d63ebc5fd1faef8cf82e865d.png
    2、点击下一步
    img_ddd2f249d63ebc5fd1faef8cf82e865d.png
    3、创建配置文件
    LogAnalyzer安装时会在系统创建./config.php配置文件用于存储数据库用户名、密码等信息。但是它并没有权限,所有要手动创建个文件,并且赋予666权限。
    ./config.php存储数据库的账号密码信息,由于这个文件仅仅才安装LogAnalyzer时需要666权限,所以在安装完毕后将其权限改为644更为妥当。

    touch /var/www/html/loganalyzer/config.php
    chmod 666 /var/www/html/loganalyzer/config.php

    img_f9dc622a9ac8434b65bad66d3769e25b.png
    4、配置数据库文件
    在第三部创建完配置文件之后,就一直点击next。直到如图所示
    这里会填写数据库相关的信息,一定要注意大小写,一定要手动填写表名,因为默认的是小写。
    img_1726f84e441d9e906b779b3533591829.png
    5、点击安装
    一切都配置完毕,最后点击安装。如果不能安装成功可能是之前的数据库配置错误。只要将config.php删除然后重新安装即可。
    img_63e88aef65e6b18cc9e5310b00e1d7c5.png
    6、测试
    进入页面之后可以看到一些日志,那就说明所有的部署工作完成!
    img_22c5219acfbb165b3b3d15bdc72cabb3.png
    7、安全加固
    记得前面创建了config.php文件吗?这个文件保存了数据库的账号密码ip等等。在安装前权限为666,但是在安装后就不需要读权限了所将其其改为644。

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

五、安装中文语言包

LogAnalyzer默认为中文,个人也是推荐使用英文。这里也提供中文语言包。http://download.csdn.net/download/qq_36120510/10015028
解压后将整个目录方至/var/www/html/loganalyzer/lang目录下。然后再次访问页面在右上角选择中文即可。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11天前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
9天前
|
SQL 缓存 关系型数据库
MySQL原理简介—7.redo日志的底层原理
本文介绍了MySQL中redo日志和undo日志的主要内容: 1. redo日志的意义:确保事务提交后数据不丢失,通过记录修改操作并在系统宕机后重做日志恢复数据。 2. redo日志文件构成:记录表空间号、数据页号、偏移量及修改内容。 3. redo日志写入机制:redo日志先写入Redo Log Buffer,再批量刷入磁盘文件,减少随机写以提高性能。 4. Redo Log Buffer解析:描述Redo Log Buffer的内存结构及刷盘时机,如事务提交、Buffer过半或后台线程定时刷新。 5. undo日志原理:用于事务回滚,记录插入、删除和更新前的数据状态,确保事务可完整回滚。
|
21天前
|
监控 Oracle 关系型数据库
Mysql、Oracle审计日志的开启
通过上述步骤,可以在 MySQL 和 Oracle 数据库中启用和配置审计日志。这些日志对于监控数据库操作、提高安全性和满足合规性要求非常重要。确保正确配置审计参数和策略,定期查看和分析审计日志,有助于及时发现并处理潜在的安全问题。
40 11
|
1月前
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
MySQL事务日志-Undo Log工作原理分析
|
2月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
123 3
|
25天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
11天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
88 42
|
2天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
41 25
|
29天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
245 0
|
2月前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
73 3