Rsyslog是比syslog功能更强大的日志记录系统,可以将日志输出到文件,数据库和其它程序.可以使用rsyslog替换系统自带的syslog。
LogAnalyzer 是一个 syslog 和其他网络事件数据的 Web 前端工具,提供简单易用的日志浏览、搜索和基本分析以及图表显示。
本文环境为CENTOS 6.5平台部署Rsyslog+LogAnalyzer
CENTOS 6.5 X64
Rsyslog采用系统自带yum源。
http://loganalyzer.adiscon.com/downloads/
下载LogAnalyzer
#hwclock --set --date="2013/07/04 13:49"
#hwclock -hctosys
#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
# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
# 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');
# 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
# serviceiptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
上传安装文件至/tmp下
#tar zxvf loganalyzer-3.6.3.tar.gz
#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
为配合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
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
在浏览器输入网址,进入安装向导
访问http://serverip:80
文件权限config.php不正确,chmod 666 /var/www/html/loganalyzer/config.php
注:点击NEXT时若报错,后台执行如下命令后继续
# ln-s /var/lib/mysql/mysql.sock /tmp/mysql.sock
开始写入数据库,NEXT
设置管理员账户,配置完毕NEXT
设置监控日志保存到mysql数据库中,按照如图配置后NEXT
进入主界面:
查看loganalyzer是否获取系统日志
#service iptables start
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#cd /var/www/html/loganalyzer
#chmod 644 config.php