日志分析之LogAnalyzer+Rsyslog日志分析系统全

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 serverCentOS6 默认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 端测试:

wKiom1PjF_ySjsNWAAEQGwqWaMk792.jpg

Server 端侦测:

wKioL1PjGSzRvc-sAAKj5jlkYEU434.jpg

说明接收正常,包括你重启机器的一些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利用向导生成

wKiom1PjGCbD8NiuAACQIMkh-Ww425.jpg

点击NEXT

wKioL1PjGU7iT8kKAACFkUQwV2I169.jpgwKiom1PjGEKxZEyOAAC9953O4xE164.jpg

 

 

按照如图输入配置,点击NEXT:

 

wKioL1PjGW2ALnqNAAHQmL4mbfc791.jpg

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

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

 

 

开始写入数据库,NEXT

 

wKiom1PjGGGi0oNEAAE5FxrhTzo908.jpg

 

提示写入成功,NEXT

 

wKioL1PjGYzSXQ1xAAC4vcTlHnU670.jpg

 

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

 

wKioL1PjGZmBdViyAAEgOHSv7LM642.jpg

 

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

wKioL1PjGbbxJx1CAAFtgRg6I0U074.jpg

注意:完成上述操作之后先不要点击Next,之后执行下序操作

wKioL1PjGdDhwjSZAAHrzLzi1Zs196.jpg

 

这里的database tablesname是SystemEvents如果写错 会报下面这个错误:

wKioL1PjGeLRdC0KAAM-36tvpXY011.jpg

完成配置,FINISH

 

 

wKioL1PjGfGBWhrhAACPsFR0j-Q544.jpg

 

wKioL1PjGf-TvzBjAARIAQ_MeIs458.jpg

 

 

八、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"启动服务 

如果多机器部署的话,可以将上述三个命令写到批处理中自动执行

wKiom1PjGsui1XGMAACyGUMAL1g415.jpg

 

初次安装可能会提示

wKiom1PjGvzQ6ISPAACtw5rBbic546.jpg


如果要卸载evtsys,则:
net stop "eventlog to syslog

evtsys -u

8.4.验证效果

如图:

wKioL1PjGg_Dmx_4AAJzXbqONHg380.jpg

 

FAQ:

F1:若出现

wKioL1PjGiexfP_xAAIjvP2HfbQ121.jpg

yum install php-gd* -y 

/etc/init.d/httpd restart

源码包安装 http 重新编译

 


你可能感兴趣的:(log,rsyslog,loganalyzer)