基于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)
上一篇 2016-10-23 20:05
下一篇 2016-10-23 20:17

相关推荐

  • Linux基础知识之根下各目录的介绍

    /bin  :所有用户使用的基本用户命令文件,二进制格式的 /sbin :供系统管理使用的工具程序 /boot :引导加载器必须用到的各静态文件:kernel initramfs(initrd),grub /dev  :存储特殊文件或设备文件;设备的类型:字符设备,块设备; /etc  :系统程序的静态配置文件,只能为静态的不能…

    Linux干货 2016-07-10
  • 一年直接在于春

    day01

    2018-03-26
  • rpm及yum

    库文件 查看二进制程序所依赖的库文件: ldd /PATH/TO/BINARY_FILE [root@localhost ~]# ldd /bin/bash 管理及查看本机装载的库文件: ldconfig /sbin/ldconfig -p:  显示本机已经缓存的所有可用库文件 名及文件路径映射关系 配置文件:/etc/ld.so.conf, /e…

    Linux干货 2016-08-29
  • N27_第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 基本模式:编辑模式(命令模式),输入模式,末行模式 模式转换: 编辑模式–输入模式: i:insert,在光标所在处前方输入 a:append,在光标所在处后方输入 o:在光标所在处的下方新建一行 I:在光标所在行行首输入 A:在光标所在处行尾输入 O:在光标所在处的上方打开一个新行 输入模式&#82…

    Linux干货 2017-10-26
  • proxy_pass转发路径

    一、引言 在nginx中配置proxy_pass时,proxy_pass后面的路径最后面加“/”和不加“/”会有所区别。加“/”时,nginx不会代理location部分,不加“/”时,nginx会同时代理location部分。下面通过实验来证明。 二、实验 实验环境简要说明:     node1为httpd服务器(1…

    Linux干货 2017-01-12
  • 主从DNS 子域授权 基于域的转发和DNS视图的配置

    先把软件包的安装: yum install bind yum install bind-utils(DNS的查询工具,dig nslookup host) 事先我已经安装好了。 主从DNS的网络拓扑图: 主从DNS配置: 主从DNS服务器的同步可以有:完全区域同步(AXFR)和增量区域同步(IXFR),配置过程中要注意,增量备份时,需要调整区域文件中的SOA…

    Linux干货 2015-08-24