首页 > 其他 > 详细

LAMP基于rsyslog+loganalyzer实现日志集中管理及分析

时间:2015-04-28 00:08:09      阅读:308      评论:0      收藏:0      [点我收藏+]

前言

作为一名运维工程师,查看分析系统日志是每天必做的功课,但每次查看日志都得一台服务器一台服务器的看,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。于是我们就需要用到日志服务器了,但是如何能让它更直观的显示呢?loganalyzer是一个不错的选择,本文将讲解如何使用rsyslog+loganalyze实现日志统一管理及分析。

简介

LogAnalyzer是一款syslog日志和其他网络事件数据的Web前端,它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。

部署过程

环境介绍

系统环境:CentOS6.6

rsyslog:系统自带

loganalyzer:loganalyzer3.6.5(含中文语言包)

web服务器:172.16.10.100(httpd-2.4.9,同为日志客户端)

php服务器:172.16.10.110(php-5.5.26)

数据库服务器:172.16.10.211(MariaDB-5.5.36)

日志服务器:172.16.10.212

DNS服务器:172.16.10.10

日志服务器及客户端配置

服务器端

[root@scholar ~]# vim /etc/rsyslog.conf 

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514     

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

重启服务,查看监听端口

技术分享

客服端

[root@web ~]# vim /etc/rsyslog.conf

#将所有日志存放位置由本地改为日志服务器
*.info;mail.none;authpriv.none;cron.none             @172.16.10.212 #指定日志服务器

重启服务

技术分享

服务端查看日志

技术分享

日志接收正常,日志服务器已然可以正常工作

接下来我们让日志服务器将日志传给数据库服务器

安装所需包

[root@scholar ~]# yum install rsyslog-mysql -y #提供传输模块

查看rsyslog-mysql生成文件,将生成的数据库文件创送给数据库

技术分享

日志服务器配置先停一下,我们先配置数据库

数据库服务器配置

导入数据库

技术分享

授权用户

技术分享

数据库配置完成我们返回日志服务器

[root@scholar ~]# vim /etc/rsyslog.conf 

#添加此项
$ModLoad ommysql

#修改此项,指向数据库
*.info;mail.none;authpriv.none;cron.none  :ommysql:172.16.10.211,Syslog,rsysloguser,rsyslogpass

重启服务

技术分享

查看数据库中是否已有日志信息

技术分享

已经传送进去了,日志服务器连接数据库成功,接下来就是安装loganalyzer了

DNS服务器配置

修改正反向区域文件

正向区域文件

技术分享

反向区域文件

技术分享

检查语法,启动服务

技术分享

web服务器配置

loganalyzer作为日志的web前端,应该只允许管理员访问,所以我们做一个基于用户的访问控制

我们本次使用虚拟主机,当然也可以使用中心主机,这个随意

[root@web ~]# vim /etc/httpd24/httpd.conf 
#关闭中心主机
#DocumentRoot "/usr/local/apache/htdocs"
#启用虚拟主机
Include /etc/httpd24/extra/httpd-vhosts.conf

配置虚拟主机

[root@web ~]# vim /etc/httpd24/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/web/log"
    ServerName log.scholar.com
    ProxyRequests Off         #关闭正向代理
    ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.10.110:9000/web/log/$1 #代理至php服务器
<Directory "/web/log">
         Options none
         AllowOverride AuthConfig
         AuthType Basic            #认证方式
         AuthName "Log Area."    #质询时弹出的提示信息
         AuthUserFile /etc/httpd24/.htpasswd #用户账号密码存放位置
         Require valid-user   #所有合法用户都可访问,也可用定义单用户及组认证
</Directory>
</VirtualHost>

提供认证文件

技术分享

准备loganalyzer

技术分享

准备完成后需要把文件传给php服务器一份,或者php服务器也执行此操作,位置跟web服务器保持一致

检查语法,启动服务

技术分享

安装loganalyzer

技术分享

需要身份认证,基于用户的访问控制完成

输入用户及密码,继续

技术分享

提示没有配置文件,点击here进入安装向导

技术分享

Next继续

技术分享

保证此文件可写,继续

技术分享

创建用户数据库,继续

技术分享

创建表,继续

技术分享

检查SQL结果,Next

技术分享

创建管理用户,Next

技术分享

创建日志系统,Next

技术分享

安装完成,Finish

测试loganalyzer

技术分享

可修改语言为中文

技术分享

如果切换中文出现乱码,请修改字符集

[root@web web]# vim /web/log/include/functions_common.php #源码包的include目录
#将含有return htmlentities字段的行改为如下格式
 return htmlentities($myStr, ENT_NOQUOTES,"UTF-8");

然后登陆系统,进入Admin Center设置字符集

技术分享

技术分享

修改后再次切换中文即可正常显示,其他功能就不一一展示了,请自行查看

The end 

好了,rsyslog+loganalyzer就说到这里了,loganalyzer查看日志还是挺直观的,是不是so easy呢,记得部署时防火墙设置相应规则,关闭防火墙的可以无视,搭建过程中遇到问题可留言。以上仅为个人学习整理,如有错漏,大神勿喷~~~

本文出自 “北城书生” 博客,请务必保留此出处http://scholar.blog.51cto.com/9985645/1639292

LAMP基于rsyslog+loganalyzer实现日志集中管理及分析

原文:http://scholar.blog.51cto.com/9985645/1639292

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!