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