rsyslog基于mysql的日志集中存储,及loganalyzer日志分析工具的web配置

Rsyslog是Linux系统自带的一款强大的日志系统,在业务量不是很大的情况下,能够满足大部分客户的日志分类搜集功能,是广大运维同事进行系统监控、分析不可或缺的利器。而在运维自动化高速发展的今天,如果我们还要“人工”智能的去每一个服务器上查看系统日志就显得太LOW了,并且,对我们来说也是一个不小的负担。

基于此,我们就简单的来介绍一下,rsyslog结合mysql数据库基于CS架构下的日志集中存储,以及web界面日志分析工具loganalyzer的基础配置。为了更清晰的展示其工作原理,这里采用rsyslog客户端、rsyslog服务器、mysql服务器、loganalyzer客户端四台机器进行配置。

一、mysql服务器的配置。

安装mysql-server(centos5/6),或者mariadb-server(centos7)。本文默认全部采用CentOS7.2系统。

    yum install -y mariadb-server

启动mariadb服务:

    systemctl start mariadb

查看3306端口是否监听:

    ss -ntl

安装rsyslog-mysql软件包,会生成两个文件

    /usr/lib64/rsyslog/ommysql.so
    /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

使用mysql命令初始化rsyslog数据库

    mysql -uUSER -hHOST -pPASSWORD < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

登录到mariadb服务器,使用show databases命令可以查看到多了一个Syslog数据库。

使用GRANT命令授权rsyslog服务器对Syslog数据库具有读写权限,这里简化操作,我们授予全部权限,具体生成环境可根据具体情况授予满足需求的最小权限。

    GRANT ALL ON Syslog.* to 'user'@'SYSLOG_SERVER_IP' IDENTIFIED BY 'password'

至此,mysql服务器的配置已经完成。当然为了后续我们配置loganalyzer方便,我们需要授权loganalyzer服务器对数据具有相应的权限。

    GRANT ALL ON Syslog.* to 'user'@'LOGANALYZER_SERVER_IP' IDENTIFIED BY 'password'

二、Rsyslog服务器的配置

安装rsyslog-mysql软件包,或将mysql服务器中的/usr/lib64/rsyslog/ommysql.so文件copy到本地对应路径。

修改/etc/rsyslog.conf配置文件

    启用响应的udp或tcp模块,并开启514端口监听

        $ModLoad imudp

        $UDPServerRun 514
      或
        $ModLoad imtcp
        $InputTCPServerRun 514

    启用mysql模块,并配置响应的日志级别,将日志输出信息保存至mysql服务器的Syslog数据库

        $ModLoad ommysql     // MODULES段
        FACILITY.PRIORITY      :ommysql:MYSQL_SERVER_IP,Syslog_DB,USER,PASS

查看514端口是否监听

    ss -ntul

重新启动rsyslog服务

    systemctl restart rsyslog

至此rsyslog服务器也配置完成

三、配置rsyslog客户端

客户端的配置,仅需修改/etc/rsyslog.conf文件,将相应的日志信息保存位置设置为远程的rsyslog服务器即可

    FACILITY.PRIORITY    @RSYSLOG_SERVER_IP

重启rsyslog服务即完成配置

    systemctl restart rsyslog

至此,即完成了基于mysql即rsyslog的日志分布式集中存储管理配置。

四、基于web界面的日志管理分析工具loganalyzer的配置

虽然上面已经完成了日志系统的配置,但当日志信息量较大时,对于日志信息的分析、查询需要直接操作mysql数据库,这就显得比较麻烦了。不过有一款web界面化的日志分析管理工具loganalyzer会给我们带来诸多便利。

LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图形化的图表报告功能。数据可以从数据库或一般的syslog文本文件中获取。logAnalyzer采用php开发,所以日志服务器需要php的运行环境,所以我们需要配置带GD库的PHP环境(我们这里以LAMP为例)。

这里我们在相应的web服务器上安装php软件包,及相关组件

    yum install -y php php-mysql php-gd httpd

下载loganalyzer源码包,并解压缩

将程序文件复制到web根目录,并重命名

    cp -r loganalyzer-VERSION/src  /var/www/html/loganalyzer

创建文件,并修改权限为666

    touch config.php

    chmod 666 config.php

启动apache,并访问loganalyzer。

    systemctl start httpd

在浏览器中访问http://WEB_SERVER/loganalyzer,根据提示进行程序的安装设置,并进行数据库的配置,如下图

7.jpg

安装完成后的显示界面如下图所示:

Image 1.jpg

原创文章,作者:M21-张国辉,如若转载,请注明出处:http://www.178linux.com/66241

(2)
M21-张国辉M21-张国辉
上一篇 2017-02-05
下一篇 2017-02-05

相关推荐

  • RAID5的组建

        RAID5在实际场景中应用最多,RAID5最少使用3块硬盘,3块硬盘中允许1块硬盘损坏,RAID5它的最大特点是可以有一块硬盘做冗余,其使用率是 N-1存储空间(N表示硬盘数量)     首先创建分区,然后转换分区类型,最后保存退出。 注解:虚拟机总共有6块硬盘,我是从第3块硬盘开始做rai…

    Linux干货 2016-02-14
  • 海量数据处理算法—Bloom Filter

    1. Bloom-Filter算法简介         Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。        Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表…

    Linux干货 2015-10-22
  • Linux系统启动流程与内管管理(上)

    在讲linux系统启动流程之前,来讲讲linux的组成,这样能能帮助我们深入了解系统的启动流程,废话不多说直接上系统启动流程图 linux组成 linux:kernel+rootfs kenrel的作用:进程管理、内存管理、网络管理、驱动程序、文件系统、安全管理等   rootfs:程序和glibc 库:函数结合,function,调用接口(头文件…

    系统运维 2016-09-14
  • 程序员小抄大全

    你是否会经常忘记一些CSS中的函数名或是一些属性名,那个时候,你一定觉得,如果手边有一个“小抄”(Cheat Sheet)就好了。当然,这个“小抄”不是给你作弊用的,这个“小纸条”就是可以让你马上知道那个你最想知道的东西。这个“小抄”上也不需要有所有的东西,就需要那些经常用的就行了。现在,网上有很多这样的“小抄”,它们可能是PDF格式的,可能是PNG格式的,…

    Linux干货 2015-04-03
  • 谁说C语言很简单?

    前两天,Neo写了一篇《语言的歧义》其使用C语言讨论了一些语言的歧义。大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西。 是的,C语言并不简单,让我们来看看下面这些示例: 为什么下面的代码会返回0?(这题应该很简单吧) int x;   return x == (1&…

    Linux干货 2016-03-20
  • 数据结构-线性表

    1. 线性表:n个数据元素的有序集合。 线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。  线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点…

    Linux干货 2015-04-07