首页 > 代码库 > 利用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部署日志服务器