首页 > 代码库 > 利用rsyslog+mysql+loganalyzer部署日志服务器

利用rsyslog+mysql+loganalyzer部署日志服务器

rsyslog简介:

    在CentOS上rsyslog服务专门负责记录系统日志信息(更早的版本系统使用的是syslog,rsyslog是syslog的下一代版本),rsyslog有三部分组成:syslogd,klogd,logrotate

    syslogd主要记录系统与网络等服务的日志信息;

    klogd主要记录内核产生的各项信息;

    logrotate主要用来对日志文件进行切割循环记录;

mysql简介:

    MySQL是一个关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

     MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    MySQL 软件由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境


LogAnalyzer简介:

   LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。


   LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。


   LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。



系统环境:

 防火墙关闭

 SElinux关闭

    CentOS7.2

    httpd-2.4.6-40.el7.centos.x86_64

    mariadb-server-5.5.44-2.el7.centos.x86_64

    php-5.4.16-36.el7_1.x86_64

    php-mysql-5.4.16-36.el7_1.x86_64

     rsyslog-7.4.7-12.el7.x86_64

    loganalyzer-3.6.5


配置LAMP环境

    

第一步:安装相关包

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

第二步:安装完成后,各项相关配置

①启动httpd服务:

[root@centos7 ~]# systemctl start httpd

②MySQL额外添加的配置项:

 跳过名称解析

[root@centos7 ~]# vim /etc/my.cnf
    [mysqld]
    ...
    skip_name_resolve = ON
    innodb_file_per_table=ON

③启动mysql

[root@centos7 ~]# systemctl start mariadb.service

查看是否开启:

[root@centos7 ~]# ss -tnl
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port
LISTEN      0      50                *:3306                          *:*

  默认的管理员用户为:root,密码为空;首次安装后建议使用mysql_secure_installation命令进行安全设定;

④[root@centos7 ~]# mysql_secure_installation

使用命令“mysql -u用户名 -p密码”即可登录,


⑤重启HTTP服务

[root@centos7 ~]# systemctl start httpd


安装服务器端程序:

(1) 安装rsyslog连接至mysql server的驱动模块;

[root@centos7 ~]# yum -y install rsyslog-mysql

查看 rsyslog-mysql包生成哪些文件   

[root@centos7 ~]# rpm -ql rsyslog-mysql.x86_64
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

    查看文件“/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql”

        CREATE DATABASE Syslog;

        USE Syslog;

        CREATE TABLE SystemEvents

        。。。

        CREATE TABLE SystemEventsProperties

        。。。

    可以看到这个文件是在数据库中定义了两张表


(2) 在mysql server准备rsyslog专用的用户账号;

[root@centos7 ~]#mysql -u用户名 -p密码
MariaDB [(none)]>  GRANT ALL ON Syslog.* TO ‘rsyslog‘@‘127.0.0.1‘ IDENTIFIED BY ‘rsyslogpass‘;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES
Query OK, 0 rows affected (0.00 sec)

(3) 生成所需要的数据库和表;

[root@centos7 ~]# mysql -ursyslog -h127.0.0.1 -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

(4) 配置rsyslog使用ommysql模块

[root@centos7 ~]# vim /etc/rsyslog.conf
在 MODULES 模块中添加
        $ModLoad ommysql

(5) 配置RULES,将所期望的日志信息记录于mysql中;

在RULES模块中添加:
*.*                  :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass

(6) 重启rsyslog服务;

[root@centos7 ~]# systemctl restart rsyslog.service

(7) 安装loganalyzer

①首先获取loganalyzer 

 http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz

②解压缩,并进行相关配置

# tar -xf loganalyzer-3.6.5.tar.gz
# cd loganalyzer-3.6.5/
# cp -a src  /var/www/html/loganalyzer
# cd /var/www/html
# ln -sv loganalyzer log
# cd log
# touch config.php
# chmod 666 config.php

③在浏览器安装向导中安装LogAnalyzer,打开浏览器访问"服务器地址/log"


技术分享

#提示没有配置文件,点击 here 利用向导生成配置文件

技术分享

技术分享

技术分享

技术分享

技术分享

#显示没有发现syslog记录,编辑config文件,将"localhost"改为"127.0.0.1"

[root@centos7 ~]# vim /var/www/html/log/config.php

刷新网页,完成!

技术分享


本文出自 “I'm Groot” 博客,请务必保留此出处http://groot.blog.51cto.com/11448219/1863251

利用rsyslog+mysql+loganalyzer部署日志服务器