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.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

重启服务,查看监听端口

01.jpg

客服端

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

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

重启服务

02.jpg

服务端查看日志

03.jpg

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

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

安装所需包

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

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

04.jpg

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

数据库服务器配置

导入数据库

05.jpg

授权用户

06.jpg

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

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

#添加此项
$ModLoad ommysql

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

重启服务

07.jpg

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

08.jpg

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

DNS服务器配置

修改正反向区域文件

正向区域文件

09.jpg

反向区域文件

10.jpg

检查语法,启动服务

11.jpg

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>

提供认证文件

12.jpg

准备loganalyzer

13.png

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

检查语法,启动服务

14.jpg

安装loganalyzer

15.jpg

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

输入用户及密码,继续

16.jpg

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

17.jpg

Next继续

18.jpg

保证此文件可写,继续

19.jpg

创建用户数据库,继续

20.jpg

创建表,继续

21.jpg

检查SQL结果,Next

22.jpg

创建管理用户,Next

23.jpg

创建日志系统,Next

24.jpg

安装完成,Finish

测试loganalyzer

25.jpg

可修改语言为中文

26.jpg

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

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

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

27.jpg

28.jpg

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

The end 

好了,rsyslog+loganalyzer就说到这里了,loganalyzer查看日志还是挺直观的,是不是so easy呢,搭建过程中遇到问题可留言。以上仅为个人学习整理,如有错漏,大神勿喷~~~

原创文章,作者:书生,如若转载,请注明出处:http://www.178linux.com/3662

(0)
上一篇 2015-04-27 18:30
下一篇 2015-04-27 21:30

相关推荐

  • 计算机的组成

        计算机组成(computer composition)指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。 计算机组成的任务是在指令集系统结构确定分配给硬件系统的功能和概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令集的各种功能和特性。这种联系包括各功能部件的内部和相   &nbsp…

    2017-03-26
  • 磁盘分区

    磁盘分区 一、分区方式两种 MBR分区不能超过2个T按柱面分区主引导记录存放在,0磁道0扇区 512bytes前446字节存放bootloader (软件程序)64字节:分区表16个字节表示一个有效的分区 故只能分4个主分区。大于4个需要创建扩展分区,并在其中创建逻辑分区。2字节 55AABPT分区GPT:GUID(Globals Unique Identi…

    Linux干货 2016-08-29
  • Linux基础(七)-软RAID,LVM,bash脚本之循环

    1.创建一个10G的分区,并格式为ext4的文件系统; (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;(2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdisk /dev/sdb We…

    Linux干货 2016-11-06
  • 新文章

    test 新的开始

    Linux干货 2016-12-08
  • vim 编辑器 定时任务 bash基础

    vim 编辑器 定时任务 bash基础

    2017-10-17

评论列表(2条)

  • jianglw
    jianglw 2015-11-25 23:50

    Could not find the configured table,maybe misspelled or the tablenames are case sensitive
    不清楚怎么传图片,就敲了下错误提示,我反复尝试了N次都报这个错误,selinux iptables 关闭都不行
    环境 服务器(http rsyslog mysql php 在线安装),数据库已赋权,客户端连接测试OK。
    请忙帮找找问题出在哪里,万分感谢 jianglw@wyn88.com

    • 书生
      书生 2015-11-26 17:06

      @jianglw亲 不会Google么 百度都能查到 config.php的问题 一般权限问题 自行查看