目的:通过loganalyzer展示数据库中的日志

 

准备环境:

  CentOS7_1:用来生成日志
  CentOS7_2:用来存放日志的数据库
  CentOS7_3:LAP服务器
  

第一步:在CentOS7_2安装mysql数据库

  此处使用二进制安装mariadb,可参考:
     https://blog.51cto.com/14230410/2385780
  安装好mysql后,还需要安装rsyslog-mysql

        yum install rsyslog-mysql -y

  安装后可以看到,这个包里面就包含了一个模块和一个脚本。脚本是用来创建需要的用户和表的。
  首先创建用户,将这个脚本发送到CengOS7_2上:

        scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 192.168.72.112:/data/

  然后在CentOS7_1上写上路径远程执行该脚本:

        ssh 192.168.72.112 'mysql < /data/mysql-createDB.sql'

  这个时候在CentOS7_2上就可以看到创建好的表了。但是我们还需要一个用户来管理该数据库。
  创建loguser用户来管理这个库:

        grant all on Syslog.* to loguser@'192.168.72.%' identified by 'centos';

  注:此处创建的用户,让其对Syslog库拥有所有权限,且只能在192.168.72.1这个网段登陆。
  创建完成后,将来就可以使用loguser来远程连接管理该数据库了。
 

第二步:在CentOS7_1上来参考原有的格式修改配置模块,使其能够引用模块

  修改模块的配置文件:

        vim /etc/rsyslog.conf
            $ModLoad ommysql

  直接在文件最后添加这行即可启动该模块。这里不需要写路径名,也不需要加后缀,只写个文件名即可。
    注:查看文件名:

                rpm -ql rsyslog-mysql

  启用模块后,还需要定义规则:

        vim /etc/rsyslog.conf
            *.info;mail.none;authpriv.none;cron.none                :ommysql:192.168.72.111,Syslog,loguser,centos

  注:默认的配置文件大概67%的位置添加上面这行,表示将日志发往192.168.72.111的数据库中。默认是放在本机的/var/log/messages中,这里选择直接添加,意味着日志会在本机保存一份并向远程数据库中发送一份。
 

第三步:安装使用loganalyzer

  当然,只放在数据库中看起来太乱了,我们希望画出饼状图、柱状图之类的。这时候就需要利用loganalyzer来展示数据库中的日志。这时就需要使用CentOS7_3搭建loganalyzer。
  首先在CentOS7_3上安装loganalyzer需要的工具:

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

  注:此处安装了apache、php,php想管理mysql所需的模块php-mysql,还有使用图形的模块php-gd。
  安装好之后将服务启动:

        systemctl start httpd

  可以看到80端口已经启动了。这时php就已经启动了,但是还没有连接数据库,需要一个连接数据库的代码文件。
  代码示例:

            close();
            ?>

  注:此处只是给出一个代码块的示例,根据自己需要修改数据库名字、用户名、用户密码等等。

  现在就可以安装loganalyzer了。yum默认没有这个包,所以需要去官网下载源码包:
    http://loganalyzer.adiscon.com/
  下载好之后,使用tar将其解压缩至/var/www/html下:

        tar xvf loganalyzer-4.1.7.tar.gz -C /var/www/html/

  解压后的目录名太长了,不方便管理,可以根据个人需要考虑将其换个名字。这里将其改名为log:

mv loganalyzer-4.1.7/ log/

  但是这个时候就会发现,这个目录中什么都没有,不能够直接使用。仔细观察就会发现,里面有个文件夹src,真正的配置文件都放在了这里面。所以,我们需要将其拿出来并改名(因为已经有个log了,所以此处该命为logs):

        mv log/src logs

  原本的log文件中还有几个脚本,可以看到里面的说明。里面写了,还需要创建一个config.php文件,并且给它666权限,这个文件将来就是连接数据库的。创建出来之后去安装系统,安装好之后需要将其改为644,因为666权限太大了,容易被******。
  接下来在windows上打开浏览器,输入:本机ip/logs。后面就是图形化安装界面了。根据提示填好信息下一步下一步就可以了。。。
 
  到此,该实验就结束了。可以通过网页来查看日志了。数据库发生操作,刷新一下网页就能看到最新记录的日志了。当然,这个工具不仅提供了文字页面,在上面那行第三个还有个统计(Statistics),点进去可以看到,各种表格都是现成的,都不需要自己做了。对于小公司而言基本够用了。大公司或许会感觉简陋点。里面还有搜索、官方的说明帮助手册等等。
  注:如果说在上图的信息填写错误,或者说管理数据库的用户的密码更改之后,使用原密码会导致连接不上去。其实在安装好之后,config.php文件中会生成很多数据,其中就有用户口令等信息,如果填写错误或者发生变化,修改config.php文件即可。