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

简介: 一、简介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目录下。然后再次访问页面在右上角选择中文即可。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
9月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
2084 5
|
9月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
301 17
|
10月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
1172 13
|
10月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
818 0
监控 安全 Linux
550 0
|
10月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
10月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1578 152