LAMP基于rsyslog+loganalyzer实现日志集中管理及分析
前言作为一名运维工程师,查看分析系统日志是每天必做的功课,但每次查看日志都得一台服务器一台服务器的看,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。于是我们就需要用到日志服务器了,但是如何能让它更直观的显示呢?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.212DNS服务器:172.16.10.10日志服务器及客户端配置服务器端
1
2
3
4
5
6
7
8
9
# vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
重启服务,查看监听端口
客服端
1
2
3
4
# vim /etc/rsyslog.conf
#将所有日志存放位置由本地改为日志服务器
*.info;mail.none;authpriv.none;cron.none @172.16.10.212 #指定日志服务器
重启服务
服务端查看日志日志接收正常,日志服务器已然可以正常工作
接下来我们让日志服务器将日志传给数据库服务器安装所需包
1
# yum install rsyslog-mysql -y #提供传输模块
查看rsyslog-mysql生成文件,将生成的数据库文件创送给数据库日志服务器配置先停一下,我们先配置数据库数据库服务器配置导入数据库授权用户数据库配置完成我们返回日志服务器
1
2
3
4
5
6
7
# 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前端,应该只允许管理员访问,所以我们做一个基于用户的访问控制
我们本次使用虚拟主机,当然也可以使用中心主机,这个随意
1
2
3
4
5
# vim /etc/httpd24/httpd.conf
#关闭中心主机
#DocumentRoot "/usr/local/apache/htdocs"
#启用虚拟主机
Include /etc/httpd24/extra/httpd-vhosts.conf
配置虚拟主机
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 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可修改语言为中文如果切换中文出现乱码,请修改字符集
1
2
3
# 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呢,记得部署时防火墙设置相应规则,关闭防火墙的可以无视,搭建过程中遇到问题可留言。以上仅为个人学习整理,如有错漏,大神勿喷~~~
页:
[1]