LogAnalyzer+Rsyslog日志分析系统全
一、简介
LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的 syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。
二、系统环境
Rsyslog Server OS:CentOS 6.5
Rsyslog Server IP:172.16.8.91
Rsyslog Ver:rsyslog-5.8.10-8.el6.x86_64
LogAnalyzer Ver:LogAnalyzer 3.6.0
Rsyslog Client OS:RHEL 6.5
Rsyslog Client IP:172.16.7.81
Rsyslog Client OS:Win 2008R2
Rsyslog Client IP:172.16.7.110
防火墙已关闭/iptables: Firewall is not running.
注:这里若要开启iptables服务增加系统安全性
服务端需添加rsyslog UDP 514端口以及loganalyzer TCP 80端口通过规则
iptables -A INPUT -p udp --dport 514 -j ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -p TCP --dport 80 -j ACCEPT
客户端只需添加OUTPUT通过规则
iptables -P OUTPUT ACCEPT
从规则可见,rsyslog server端为被动获取数据,client端为主动发送数据
关闭iptables的朋友可以无视。。
SELINUX=disabled
同步时间
ntpdate tiger.sina.com.cn
三、安装并设置LAMP
3.1安装LAMP
yum -y install httpd mysql* php*
3.2 启动服务并加入开机启动
启动Apache
etc/init.d/httpd start
chkconfig httpd on
启动数据库
/etc/init.d/mysqld start
chkconfig mysqld on
3.3 设置MySQL root 密码
mysqladmin -uroot password 'ocean@mx'
四.主服务端配置rsyslog
4.1 rsyslog server【CentOS6 默认logsoft 为rsyslog】
yum install rsyslog rsyslog-mysql -y
注:rsyslog-mysql为rsyslog将日志传送到mysql数据库的一个模块,这里必须安装
4.2 创建Syslog数据库
cd /usr/share/doc/rsyslog-mysql-5.8.10/
mysql -uroot -p < createDB.sql
注:这里导入数据库操作其实博主最后研究了下,就是创建了Syslog库并在该库中创建了两张空表
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
4.3 创建rsyslog用户在mysql下的相关权限
mysql -uroot -p
mysql> grant all privileges on Syslog.* to rsyslog@localhost identified by "ocean@mx";
mysql> flush privileges;
mysql> exit
4.4 配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其他LINUX系统日志
UDP 方式
# vi /etc/rsyslog.conf
在#### MODULES ####下添加这两行
------------------
$ModLoad ommysql.so
*.* :ommysql:localhost,Syslog,rsyslog,ocean@mx
------------------
注:localhost表示本地主机,Syslog为数据库名,rsyslog为数据库的用户,ocean@mx为该用户密码
取消下面三行注释
-----------------
$ModLoad immark
$ModLoad imudp
$UDPServerRun 514
-----------------
取消下面三行注释
TCP方式
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
重启服务:
/etc/init.d/rsyslog restart
五、Linux客户端配置
5.1 检查rsyslog 是否安装
rpm -qa|grep rsyslog
yum install rsyslog -y
5.2 配置rsyslog 客户端发送本地日志到服务端
vi /etc/rsyslog.conf
末尾追加:
*.* @@172.16.7.91:514
注:172.16.7.91 为日志服务器端IP地址
@@ 基于TCP模式
@ 基于UDP模式
5.3 重启服务:
/etc/init.d/rsyslog restart
5.4 编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
vi /etc/bashrc #在文件尾部增加一行
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
设置其生效
source /etc/bashrc
客户端配置完毕。
六、测试Rsyslog Server是否可以正常接受Client端日志
Client 端测试:
Server 端侦测:
说明接收正常,包括你重启机器的一些Log都可以查看到。
七.安装loganalyzer
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.0.tar.gz
tar zxf loganalyzer-3.6.0.tar.gz
cd loganalyzer-3.6.0
mkdir -p /var/www/html/loganalyzer
复制loganalyzer源代码到loganalyzer目录
cp -r src/* /var/www/html/loganalyzer
cp -r contrib/* /var/www/html/loganalyzer
chown -R daemon.daemon /var/www/html/loganalyzer
通过web向导安装loganalyzer前,必须先执行以下两个脚本
cd /var/www/html/loganalyzer
sh configure.sh
sh secure.sh
chmod 666 config.php
注:该脚本实际上是创建该目录下的config.php,并配置该文件权限。
在浏览器输入网址,进入安装向导
http://172.16.7.91/loganalyzer
提示没有主配置文件,点击here利用向导生成
点击NEXT
按照如图输入配置,点击NEXT:
注:点击NEXT时若报错,后台执行如下命令后继续
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
开始写入数据库,NEXT
提示写入成功,NEXT
设置管理员账户,配置完毕NEXT
设置监控日志保存到mysql数据库中,按照如图配置后NEXT
注意:完成上述操作之后先不要点击Next,之后执行下序操作
这里的database tablesname是SystemEvents如果写错 会报下面这个错误:
完成配置,FINISH
八、Windows客户端配置
8.1.下载evtsys
http://eventlog-to-syslog.googlecode.com/files/Evtsys_4.4.3_64-Bit.zip
8.2.解压文件将包内64-Bit文件夹下的所有文件复制C:\Windows\System32下
8.3.开启evtsys服务
运行- cmd
cd c:\Windows\System32
evtsys -i -h 192.168.7.11 -p 514
net start "eventlog to syslog"
手工启动服务, 或者使用命令:net start "eventlog to syslog"启动服务
如果多机器部署的话,可以将上述三个命令写到批处理中自动执行
初次安装可能会提示
如果要卸载evtsys,则:
net stop "eventlog to syslog
evtsys -u
8.4.验证效果
如图:
FAQ:
F1:若出现
yum install php-gd* -y
/etc/init.d/httpd restart
源码包安装 http 重新编译