基于mysql数据库的日志分析系统

现如今,日志已经成为了我们分析系统及相关服务的一个重要工具。而日志也具有其相对较为固定的格式以便于进行统计查询。其大致格式如下:

日期时间            主机            进程[pid]:事件内容

我们可以通过查看/var/log/message中的内容来看一下其记录的日志格式。

0000.jpg

Linux中,使用rsyslog来记录日志,其主要具有以下几点特性:

a、多线程进程;

b、支持UDPTCPSSL/TLSRELP等多种传输协议;

c、可存储日志信息于MysqlPGSQLOracle等数据库中;

d、具有功能强大的过滤器,可实现过滤日志信息中任何部分的内容;

e、可自定义输出格式;

下面我们就首先详细了解一下rsyslog程序。

1、程序相关环境;

rsyslogCentOS发行版中为默认安装的,当然,我们也可自己手动安装,配置好yum仓库后,执行yum –y install rsyslog即可。以CentOS7为例,其生成的相关文件主要有以下这些:

配置文件:/etc/rsyslog.conf/etc/rsyslog.d/*

主程序文件:/usr/sbin/rsyslogd

模块路径:/usr/lib64/rsyslogd/

Unit File/usr/lib/system/system/rsyslog.service

2、程序配置文件

rsyslog的程序配置文件由以下三部分组成:

#### MODULES ####
#### GLOBAL DIRECTIVES ####
#### RULES ####

需要注意的是,每个配置段的配置选项都有严格的定义,所以我们在添加配置选项时,同样也需要严格按照配置段位置进行添加;我们主要看一下RULES段的主要配置。

RULES段的配置具有固定的格式,由三部分组成:

Facility.priority                        target

Facility即为日志传输的信道,包括auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,syslog,local0-local720类。

priority为日志的等级,包括debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)几种;

target为日志的存储方式,有以下几种:

Ø  文件:将日志信息记录到指定的文件中,文件路径之前的“-”表示异步写入之意;

Ø  用户:将日志事件通知给指定的用户,一般指登录到当前系统上的所有用户的终端;

Ø  日志服务器:格式为@rsyslog_server,表示将日志信息发往指定的日志服务器;

Ø  管道:格式为|COMMAND,表示将日志通过管道传递给命令;

了解了rsyslog之后,那么我们要如何分析日志信息呢。在图像化界面下,我们可以通过一款软件loganalyzer进行分析,其需要运行于amp环境中;下面我们就搭建一个AMP+rsyslog+loganalyzer环境;

1、安装AMP+rsyslog环境

yum –y install httpd php php-mysql mariadb-server rsyslog ryslog-mysql

2.配置mysql相关用户与数据

    a、启动mysql服务

systemctl start mariadb.service

         b、运行mysql初始化设置;

mysql_secure_installation

         c、创建mysql数据库与账号;

mysql -u root -pmageedu < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
mysql> grant all on Syslog.* to ‘rsyslog’@’localhost’ identified by ‘mageedu’;
mysql> grant all on Syslog.* to ‘rsyslog’@’127.0.0.1’ identified by ‘mageedu’;
mysql> flush privileges;

3、配置rsyslog配置文件;

vim /etc/rsyslog/rsyslog.conf

MODULES下添加:$ModLoad        ommysql

RULES下添加:*.*                            :ommysql:127.0.0.1,Syslog,rsyslog,mageedu

4loganalyzer相关配置;

         a、解压loganalyzer安装包;

tar xf loganalyzer-3.6.5.tar.gz

         b、复制解压目录下src目录至/var/www/html目录;

cp –r loganalyzer-3.6.5/src /var/www/html

         c、创建软链接;

ln -sv /var/www/html/loganalyzer /var/www/html/log

         d、在/var/www/html/log目录中创建config.php并修改权限为666

cd /var/www/html/log
touch config.php
chmod 666 config.php

         e、为apache用户设置acl权限;

setfacl -m u:apache:rwx /var/www/html/loganalyzer-3.6.5

   f、设置防火墙并启动各服务

         5、在浏览器中访问httpd服务并安装loganalyzer

      111.jpg

222.png

至此,我们就搭建完成了amp+rsyslog+loganalyzer服务。

 

 

 

 

 

 

 

 

 

 

 

原创文章,作者:luoliumeng,如若转载,请注明出处:http://www.178linux.com/53818

(0)
luoliumengluoliumeng
上一篇 2016-10-23 20:05
下一篇 2016-10-23 20:17

相关推荐

  • shell脚本之批量添加用户

        没错,这是一个简单的脚本,不写不知道,写了才发现自己多垃圾。     我是一名普通的公司网络管理,接触linux不长,一直理想都是和马哥学习linux,可惜因为拖家带口的原因,没办法交学费和马哥学习,心里小小遗憾吧。每天看着马哥的文章以及百度搜索的视频文章学习,感觉自己学…

    Linux干货 2016-07-07
  • 马哥教育网络21期+第六周练习博客

    马哥教育网络21期+第六周练习博客 请详细总结vim编辑器的使用并完成以下练习题     VIM编辑器:         vi:Visual Interface 文本编辑器    &nbsp…

    Linux干货 2016-08-05
  • Linux磁盘管理基础

    Linux磁盘管理基础 硬盘结构 文件系统与MBR、GTP 磁盘管理三步骤:分区、格式化、挂载 mount 硬盘结构 硬盘的基本组成材质是盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道,不同盘片相同半径的磁道所组成的圆柱称为柱面,每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存…

    Linux干货 2016-09-01
  • 计算机的组成及其功能

    计算机现如今已经成为了我们生活中不可缺少的一部分,那么它是由什么组成的呢?简单来说,计算机系统是由硬件系统(hardware system)和 软件系统(software system)两部分组成。 Mac电脑背景图.jpg 下面我们来罗列一下计算机系统的主要组成,请看下图 计算机系统组成.png 计算机的功能 我们知道计算机十分强大,那么它都有哪…

    Linux干货 2017-08-23
  • 优质代码的十诫

    1.- DRY: Don’t repeat yourself. DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让…

    Linux干货 2015-04-01
  • mongodb及NoSQL入门学习总结

    分布式系统理论 一、 CAP: 分布式系统只能够,满足其中两个  1. Consistency : all nodes see the same data at the same time 一个节点修改后,需马上复制到第二个节点。如果网络故障,第二个节点将不能同步第一个节点更新的数据。这就是不能满足一致性。 2. Availibility:a guarant…

    2017-09-14