rsyslog将日志记录于MySQL中,并用loganalyzer进行分析日志

1、首先来安装lamp环境的支持,与其相关的软件包

     # yum -y install rsyslog-mysql mariadb-server php php-mysql php-gd httpd 

     说明:rsyslog-mysql在数据库中生成一个库文件,但这个文件需要手动导入数据库中 

               其中maradb-server php  php-mysql php-gd httpd 是LNMP环境的相关组件

2    登录用数据库,授权用户,并将rsyslog-mysql生成的文件导入到数据库中

     #  GRANT ALL ON Syslog.* TO ‘rsyslog’@’localhost’ IDENTIFIED BY ‘centos’

     #  GRANT ALL ON Syslog.* TO ‘rsyslog’@’127.0.0.1’ IDENTIFIED BY ‘centos’

      注:a、 此处授权的是MySQL的本地主机,其中授权localhost是因为没有在mariadb的配置文件中没有跳过主机名的解析

              如果要跳过主机名的解析

              #vim /etc/my.cnf 

              在[mysqld]段中加入 skip_name_resolve = ON

             b、授权的Syslog库,其名称大小都不能改,因为在导入库时,默认生成的就库就是Syslog

     # mysql -ursyslog -hlocalhost -pcentos < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql 

3    配置/etc/rsyslog.conf文件,使其生成的日志保存于MySQL中

      #vim /etc/syslog.conf 

      #####MODULES####段中加入

      $ModLoad ommysql

      #####RULES######段中加入

      *.info;mail.none;authpriv.none;cron.none                :ommysql:localhost,Syslog,rsyslog,centos

      ommysql:指的是用mysql服务器        

      localhost:指的是mysql服务器的地址

      Syslog:指的是数据库的名称 

      rsyslog:指的是数据库的用户

      centos:指的是数据库用户对应的密码 

4     重启rsyslog服务,及启动httpd服务 

      # systemctl restart rsyslog 

      # systemctl start httpd 

5     安装LogAnalyzer

 a、  # tar -xvf loganalyzer-3.6.5.gz

        # cd loganalyzer-3.6.5/ && cp src/  /var/www/html/log -a

        # touch config.php

        # chmod 666 config.php

 b、 配置loganalyzer 

        访问 http://Serveraddr/log/

        在浏览器配置时,要注意的是MySQL 项选Native,  Syslog 项选Fields, Monitorware

        在输入主机,数据库名称,用户,及密码时,与前面设定的数据库名,用户,密码一样

 c、  安全加强   

        # touch config.php

        # chmod 644 config.php 

最重效果如下 

    QQ截图20170110095147.png

此时可以利用rsyslog+mysql+loganalyzer进行日志分析啦!

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

(0)
renjinrenjin
上一篇 2013-07-15 15:24
下一篇 2014-01-03 21:00

相关推荐

  • 马哥网络教育班第21期+第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@CentOS6 ~]# cp -r /etc/skel /home/tuser1 [root@CentOS6 ~]# chmod&nb…

    Linux干货 2016-07-29
  • Linux中的man命令使用方法

      Linux中的man命令就是manual的缩写,此命令是用来查看系统中自带的各种参考手册,帮助用户更好的了解并使用命令。   man命令的使用格式为: man COMMAND,即man后面跟上需要查询的命令,进到手册后有如下快捷按钮帮助用户更好的操作手册。     1.按键-j &nb…

    Linux干货 2016-10-20
  • 8.3_Linux习题和作业

    课堂习题 1.当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? 答:不能cd进该目录 2.当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作? 答:不能查看目录内的文件列表,不能cd,也不能查看目录里面文件的元数据 3.当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件…

    Linux干货 2016-08-05
  • 文本处理三剑客-sed

    1.文本处理三剑客-sed #sed语法: sed  [OPTION]…  {script-only-if-no-other-script}        [input-file]… sed理解:是一种流编辑器,一次处理一行内容,处理时把当前…

    Linux干货 2016-08-12
  • N25-第5周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行 [root@jizo ~]# grep -E '^[[:space:]]+.*' /boot/grub/gurb.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,…

    Linux干货 2017-01-09
  • 马哥教育网络班21期-第六周课程练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;  # :%s@^[[:space:]]\+@#&@g 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; &nb…

    Linux干货 2016-08-15