概述
Rsyslog是比syslog功能更强大的日志记录系统,可以将日志输出到文件,数据库和其它程序.可以使用rsyslog替换系统自带的syslog。

LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示。

本文环境为CENTOS 6.5平台部署Rsyslog+LogAnalyzer

环境要求
CENTOS 6.5 X64

安装过程
安装介质
Rsyslog采用系统自带yum源。
http://loganalyzer.adiscon.com/downloads/

下载LogAnalyzer

RSYSLOG服务器配置
用root用户登录
调整时间
#hwclock --set --date="2013/07/04 13:49"

#hwclock -hctosys

配置本地YUM源
#mkdir /mnt/cdrom

#mount /dev/cdrom /mnt/cdrom

#cd /etc/yum.repos.d/

#mkdir bak

#mv *.repo bak/

#vi media.repo

[media]

name=media

baseurl=file:///mnt/cdrom

enabled=1

gpgcheck=0

配置前先关闭iptables和SELINUX,避免安装过程中报错。
# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

安装MYSQL PHP APACHE
# yum install mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd

# service mysqld start

# mysql -uroot

mysql> set password=password('rootroot');

安装rsyslog
# yum install rsyslog rsyslog-mysql -y

注:rsyslog-mysql为rsyslog将日志传送到mysql数据库的一个模块,这里必须安装
若服务器未安装RSYSLOG,需要修改/etc/sysconfig/rsyslog文件配置

SYSLOGD_OPTIONS="-c 2 -r -x -m 180"

KLOGD_OPTIONS="-x"

各参数作用:
-c 指定运行兼容模式。

-r 指定监听端口。 默认514

-x 在接收客户端消息时,禁用DNS查找。需和-r参数配合使用。

-m 标记时间戳。单位是分钟,为0时,表示禁用该功能。


# cd /usr/share/doc/rsyslog-mysql-5.8.10/

# mysql -uroot -prootroot < createDB.sql

注:创建Syslog库并在该库中创建了两张空表

创建rsyslog用户在mysql下的相关权限

# mysql -uroot -prootroot

mysql> grant all privileges on Syslog.* to rsyslog@localhost identified by "123456";

mysql> flush privileges;


配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其他LINUX系统日志

# vi /etc/rsyslog.conf

在#### MODULES ####下添加这两行

$ModLoad ommysql.so

*.* :ommysql:localhost,Syslog,rsyslog,123456

注:localhost表示本地主机,Syslog为数据库名,rsyslog为数据库的用户,123456为该用户密码

取消下面三行注释

$ModLoad immark

$ModLoad imudp

$UDPServerRun 514

重启服务:

# service rsyslog restart

(rsyslog client)

# yum install rsyslog -y

配置rsyslog客户端发送本地日志到服务端

# vi /etc/rsyslog.conf

末行添加如下内容

*.* @192.168.7.201

注:192.168.7.201 为日志服务器端IP地址

重启服务:

# service rsyslog restart

防火墙开放服务端口
#service iptables start

/sbin/iptables -I INPUT -p tcp --dport 514 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 514 -j ACCEPT

#/etc/init.d/iptables save

#/etc/init.d/iptables status


LOGANALYZER配置
用root用户登录
配置前先关闭iptables和SELINUX,避免安装过程中报错。
# serviceiptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

启动mysqld httpd
安装loganalyzer
上传安装文件至/tmp下

#tar zxvf loganalyzer-3.6.3.tar.gz

复制loganalyzer源代码到apache的loganalyzer目录
#cd /tmp/loganalyzer-3.6.3

#mkdir -p /var/www/html/loganalyzer/

#cp -r src/* /var/www/html/loganalyzer/

#cp -r contrib/* /var/www/html/loganalyzer/

#cd /var/www/html/loganalyzer/

#touch config.php

#chmod 666 config.php

修改php环境
为配合LogAnalyzer对php环境的要求,请修改/etc/php.ini中的内容为:

memory_limit = 512M
max_execution_time = 120

创建日志目录

# mkdir -p /var/log/httpd/loganalyzer

配置虚拟机,apache安全配置
这部分,请根据apache实际情况操作。以默认系统为例,虚拟主机配置文件都放在/etc/httpd/conf/httpd.conf,加入下面内容。

# loganalyzer

<VirtualHost *:80>

ServerName logserver

ServerAdminzhjixi1234@163.com

DocumentRoot /var/www/html/loganalyzer

<Directory />

Options FollowSymLinks

AllowOverride All

</Directory>

<Directory /var/www/html/loganalyzer>

# pcw No directory listings

# Options Indexes FollowSymLinks MultiViews

Options -Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

</Directory>

ErrorLog /var/log/httpd/loganalyzer/error.log

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

CustomLog /var/log/httpd/loganalyzer/access.log combined

ServerSignature On

</VirtualHost>

重启服务

#service httpd restart

WEB配置
在浏览器输入网址,进入安装向导

访问http://serverip:80

1.提示没有配置文件,点击here利用向导生成




文件权限config.php不正确,chmod 666 /var/www/html/loganalyzer/config.php





注:点击NEXT时若报错,后台执行如下命令后继续

# ln-s /var/lib/mysql/mysql.sock /tmp/mysql.sock

开始写入数据库,NEXT



提示写入成功,NEXT


设置管理员账户,配置完毕NEXT


设置监控日志保存到mysql数据库中,按照如图配置后NEXT



完成配置,FINISH

进入登陆界面:



进入主界面:

查看loganalyzer是否获取系统日志



防火墙开放服务端口
#service iptables start

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

安全配置
#cd /var/www/html/loganalyzer

#chmod 644 config.php



总结:
感觉RSYSLOG+LOGANALYZER搭建相对于SYSLOG-NG+LOGANALYZER搭建简单很多,LogAnalyzer的BUG还没试出来。。
SYSLOGNG相对于RSYSLOG功能强大很多,但那些功能是收费的。
LOGZILLA功能也很强大,但那些也是收费的。
综上所述,打算采用RSYSLOG+LOGANALYZER作为日志集中服务器,遗憾的是,这个版本的loganalyzer的用户权限控制不是很好。