基于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

相关推荐

  • grep的用法

    grep的用法 1、复制/etc/skel目录为/home/tuser1及其内容文件的属组和其它用户均没有任何访问权限。 cp -R /etc/skel /home/thuser1 #复制文件/etc/skel 到/home/目录下并改名为thuser1 chmod -R 700 /home/thuser1 #更改/home/thuser1目录权限为属主全部…

    Linux干货 2017-07-23
  • 文件的查找命令 find 和 locate

    文件的查找命令 find 和 locate find 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具…

    Linux干货 2016-08-16
  • linux发展史

    Linux 发展史 说明 此前对linux认识模糊一知半解,近期通过学习将自己对于linux的发展总结一下方便大家日后的学习。那Linux是目前一款非常火热的开源操作系统,可是linux是什么时候出现的,又是因为什么样的原因被开发出来的呢。以下将对linux的发展历程进行详细的讲解。    目录 一、Linux发展背景 二、UINIX的诞…

    Linux干货 2016-10-14
  • shell编程进阶

    2、编写脚本/root/bin/yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其它信息 read -p “Enter you choice yes|no:” Choice Choice1=`echo $Choice | tr ‘[a-z]’ ‘[A-Z]&#8…

    2017-09-16
  • 第六周作业

    vim编辑器的使用 vim在工作过程中有三种模式:编辑模式、输入模式、末行模式 编辑模式:也叫命令模式,键盘操作常被理解为编辑命令。 输入模式:在文本文件中输入内容。 末行模式:vim内置的命令行接口,执行vim的内置命令。 vim的使用 打开文件:#vim [OPTIONS]…[FILE]… +#:打开文件后,直接让光标处于第#行 …

    Linux干货 2017-07-04
  • sed详解

    sed命令:    文本处理三剑客:        grep, egrep,fgrep: 文本过滤器        sed :Stream EDitor, 流编辑器,行        awk: 文本格式工具,报告生成器 …

    Linux干货 2016-12-13