MySQL存储日志并使用Loganalyzer作为前端展示

MySQL存储日志并使用Loganalyzer作为前端展示


为什么要使用日志

在生产环境中我们可能需要一个较为完整的日志系统来查看运行中主机服务的状态和所作出的操作,我们可以在较大型的网络架构中使用ELK来实现对日志的收集、检索、前端显示,但是中小型架构中使用rsyslog足以对所有服务器的日志进行收集和检索来达到实时分析数据流量的目的。

本文目标

使用rsyslog将两台主机的日志信息存储到MySQL数据库中,并且编译安装LoganalyzerMySQL中的日志信息使用httpd+php在前端进行展示。

实验拓扑图

实验环境

主机名 IP地址 负责
syslog.anyisalin.com 192.168.2.2 收集日志,MySQL
www.anyisalin.com 192.168.2.3 web
server1.anyisalin.com 192.168.2.4 正常使用

本文所有主机皆关闭SElinuxIPtables

syslog主机上rsyslog设置

以下操作在 syslog.anyisalin.com 中执行

首先我们要安装mysqlrsyslog连接mysql的驱动

[[email protected] ~]# yum install mysql-server rsyslog-mysql -y Loaded plugins: fastestmirrorSetting up Install Process

    #省略Installed:  rsyslog-mysql.x86_64 0:5.8.10-10.el6_6     mysql-server.x86_64 0:5.1.73-5.el6_7.1                                                                                                                                                  

Complete!

然后我们要修改rsyslog的配置文件,将下面两项启用

$ModLoad imudp$UDPServerRun 514

再添加mysql的配置

$ModLoad ommysql

修改日志存放位置为MySQL 
vim编辑器进入末行模式进行替换

%[email protected]/var\/log.*@:ommysql:192.168.2.2,Syslog,syslog,[email protected]

重启rsyslog服务

[root@syslog ~]# service rsyslog restartShutting down system logger:                               [  OK  ]Starting system logger:                                    [  OK  ]

创建mysql用户并赋予权限

mysql> GRANT ALL ON Syslog.* TO ‘syslog‘@‘%‘ IDENTIFIED BY ‘passwd‘;Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)

导入表

[[email protected] ~]# mysql -usyslog -ppasswd < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

Server1主机上rsyslog设置

以下操作在 server1.anyisalin.com 中执行

首先我们要修改rsyslog的配置文件 
vim编辑器进入末行模式进行替换

%s@./var\/log.*@\@192.168.2.2@gi

重启rsyslog服务

[root@server1 ~]# service rsyslog restartShutting down system logger:                               [  OK  ]Starting system logger:                                    [  OK  ]

测试是否成功

syslog.anyisalin.com中查询数据库看是否记录

mysql> select * from SystemEvents\G;*************************** 1. row ***************************                ID: 1        CustomerID: NULL        ReceivedAt: 2016-03-23 17:28:21DeviceReportedTime: 2016-03-23 17:28:21          Facility: 0          Priority: 6          FromHost: syslog           Message: imklog 5.8.10, log source = /proc/kmsg started.        NTSeverity: NULL        Importance: NULL       EventSource: NULL         EventUser: NULL     EventCategory: NULL           EventID: NULL   EventBinaryData: NULL   省略。。。。

Web服务器配置

以下操作在 www.anyisalin.com 中执行

由于loganalzyer提供的动态网页,所以我们要安装httpdphp

[[email protected] ~]# yum install php-gd httpd php php-mysql -y | tail -n 10  apr-util.x86_64 0:1.3.9-3.el6_0.1                                               apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1                                          httpd-tools.x86_64 0:2.2.15-47.el6.centos.4                                     libedit.x86_64 0:2.11-4.20080712cvs.1.el6                                       mailcap.noarch 0:2.1.31-2.el6                                                   php-cli.x86_64 0:5.3.3-46.el6_7.1                                               php-common.x86_64 0:5.3.3-46.el6_7.1                                            php-pdo.x86_64 0:5.3.3-46.el6_7.1                                             

Complete!

解压loganalzyer程序包到/var/www/html中并配置

[root@www ~]# tar xf loganalyzer-3.6.4.tar.gz  -C /var/www/html/[root@www ~]# cd /var/www/html/[root@www html]# lsloganalyzer-3.6.4[root@www html]# cp -a loganalyzer-3.6.4/src/ log cp -a loganalyzer-3.6.4/contrib/*.sh log/

[root@www html]# cd log[root@www log]# chmod +x *.sh[root@www log]# ./configure.sh [root@www log]# ./secure.sh [root@www log]# chmod 666 config.php

启动httpd服务

[[email protected] log]# service httpd startStarting httpd: httpd: Could not reliably determine the server‘s fully qualified domain name, using www.anyisalin.com for ServerName                                                           [  OK  ]

访问web页面安装loganalyzer

一直下一步到下面的页面,并按下面这样输入 

一直下一步到最后点击Finish 

安装完成,我们可以通过前端页面查看多台主机日志信息了 

总结

怎么样?是不是很直观的就能查看排版好且美观的日志信息,再也不用面对繁杂的命令行接口了! 
作者: AnyISalIn 
感谢: MageEdu

时间: 2024-12-27 18:37:15

MySQL存储日志并使用Loganalyzer作为前端展示的相关文章

25.2 配置使用基于mysql存储日志信息

配置环境: 1.准备好MySQL服务器,创建用户,授权对Syslog数据库的全部访问权限 [[email protected] ~]# yum -y install mariadb-server [[email protected] ~]# systemctl start mariadb.service  [[email protected] ~]# mysql MariaDB [(none)]> grant all on Syslog.* to  'syslog'@'192.168.1.%'

CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

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

Centos6.5下利用rsyslog+loganalyzer+mysql部署日志服务器

RHEL 6.x 搭建rsyslog日志服务器和loganalyzer日志分析工具 =============================================== rsyslog的介绍 logrotate日志滚动的介绍 rsyslog的存储途径 基于web的loganalyzer日志分析工具的搭建 ====================================================== 一.rsyslog的介绍 Linux的日志记录了用户在系统上一切操作,看日

MySql存储引擎+表解压缩机制+索引+查询缓存机制+慢查询日志

一.大型网站优化之MySql优化 1.优化和不优化的对比的 在业界当中我们有一个叫大数据(big data)的概念,所谓的大数据指代千万级别以上的数据作为起步的数据.所以我们现在需要对两张都具有50331650条记录的表进行查询对比,其中表名为tbl_no的表是没有做过任何优化手段的表,表名为tbl_yes的表是做过优化手段的表.这个实验的目的是观察具有优化手段和不具有优化手段的查询中速度的差别. 实验条件: 1)两张表的数据记录总数是相同的 2)两张表的数据字段结构也是一样的 3)查询的记录的

Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器

Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器 系统环境: [[email protected] ~]# uname -r 2.6.32-431.el6.x86_64 rsyslog版本:(Centos6.5系统自带的版本都是这个5.8.10) [[email protected] ~]# rsyslogd -v rsyslogd 5.8.10, compiled with: FEATURE_REGEXP: Yes FEATURE_LARGEFILE: N

第 3 章 MySQL 存储引擎简介

3.1MySQL 存储引擎概述 到后来,MySQL 意识到需要更改架构,将前端的业务逻辑和后端数据存储以清晰的层次结构拆分开的同时,对ISAM 做了功能上面的扩展和代码的重构,这就是MyISAM存储引擎的由来. MySQL 的插件式存储引擎主要包括MyISAM,Innodb,NDB Cluster,Maria,Falcon, Memory,Archive,Merge,Federated 等,其中最著名而且使用最为广泛的MyISAM 和Innodb两种存储引擎.MyISAM 是MySQL 最早的I

实时统计每天pv,uv的sparkStreaming结合redis结果存入mysql供前端展示

最近有个需求,实时统计pv,uv,结果按照date,hour,pv,uv来展示,按天统计,第二天重新统计,当然了实际还需要按照类型字段分类统计pv,uv,比如按照date,hour,pv,uv,type来展示.这里介绍最基本的pv,uv的展示. id uv pv date hour 1 155599 306053 2018-07-27 18 关于什么是pv,uv,可以参见这篇博客:https://blog.csdn.net/petermsh/article/details/78652246 1.

mysql存储引擎

mysql的物理文件组成包括错误日志,查询日志,慢查询日志,事务日志,二进制日志. 日志文件中记录mysql数据库运行期间发生的变化,记录mysql数据库的客户端连接状况,sql语句的执行情况和错误信息. mysql的逻辑结构可以看成是二层架构,第一层叫做SQL layes,数据库系统处理底层数据库之前的所有工作都在这一层完成,包括权限判断,sql解析,执行计划优化,query cache的处理等.第二层就是存储引擎层,叫做storage engine layes,也是底层数据存取操作实现部分,

MySQl Study学习之--MySQl二进制日志管理

MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log):   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库(DML)的语句的执行时间信息    不包含没有修改任何数据的语句,如果需要启用该选项,需要开启通用日志功能    主要目的是尽可能的将数据库恢复到数据库故障点,因为二进制日志包含备份后进行的所有更新    用于在主复制服务器上记录所有将发送