Rsyslog+LogAnalyzer+MySQL部署日志服务器
LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。
服务端:IP:192.168.116.138
客户端:IP:192.168.116.139
俩台服务器,防火墙及selinux
[root@wzp ~]# service iptables stop
[root@wzp ~]# setenforce 0
一:开始配置服务端
1.服务器端安装LAMP环境
[root@wzp ~]# yum -y install httpd httpd-devel mysql mysql-devel mysql-server php*
2.服务并加入开机启动
Apache
[root@wzp ~]# service httpd start
[root@wzp ~]# chkconfig httpd on
MySQL
[root@wzp ~]# service mysqld start
[root@wzp ~]# chkconfig mysqld on
[root@wzp ~]# mysqladmin -uroot password '123456'
PHP
[root@wzp ~]# cat /var/www/html/index.php
<?php
phpinfo();
?>
二:服务端安装及配置
前提将/dev/sr0 挂载到mnt下
1.安装rsyslog已经rsyslog连接mysql的模块
[root@wzp Packages]# rpm -ivh /mnt/Packages/rsyslog-5.8.10-10.el6_6.x86_64.rpm
[root@wzp Packages]# rpm -ivh /mnt/Packages/rsyslog-mysql-5.8.10-10.el6_6.x86_64.rpm
2.导入rsyslog-mysql数据库文件
[root@wzp ~]# cd /usr/share/doc/rsyslog-mysql-5.8.10/
[root@wzp rsyslog-mysql-5.8.10]# mysql -uroot -p123456 < createDB.sql
3.查看刚导入的库
4.创建rsyslog用户
5.配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其它linux系统日志
[root@wzp ~]# vim /etc/rsyslog.conf
说明:localhost表示本地主机,Syslog为数据库名,rsyslog为数据库用户,123456位用户密码
扩展:UDP协议,中文名是用户数据报协议。在网络中与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层-传输层,处于IP协议的上一层。
重启rsyslog服务
[root@wzp ~]# service rsyslog restart
三:客户端配置
1 安装rsyslog
[root@139 Packages]# rpm -ivh /mnt/Packages/rsyslog-5.8.10-10.el6_6.x86_64.rpm
2 配置rsyslog客户端发送本地日志到服务器端
[root@139 ~]# vim /etc/rsyslog.conf
*.* @192.168.116.138 # 此行内容 添加到文件末尾
重启服务
[root@139 ~]# /etc/init.d/rsyslog restart
关闭系统日志记录器: [确定]
启动系统日志记录器: [确定]
3 编辑/etc/bashrc,将客户端执行的所有命令写入系统日志中
[root@139 ~]# vim /etc/bashrc
文件底部添加一行,加入以下内容
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
设置使其生效
[root@139 ~]# source !$
source /etc/bashrc
四: 测试Rsyslog Server是否可以正常接收Client端日志
客户端:
[root@139 ~]# service rsyslog restart
关闭系统日志记录器: [确定]
启动系统日志记录器: [确定]
[root@139 ~]# cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@139 ~]# cd /etc/
服务端:
五:loganalyzer安装
[root@wzp ~]# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
[root@wzp ~]# tar zxvf loganalyzer-3.6.5.tar.gz
[root@wzp ~]# cd loganalyzer-3.6.5
[root@wzp loganalyzer-3.6.5]# mkdir /var/www/html/loganalyzer
[root@wzp loganalyzer-3.6.5]# rsync -a src/* /var/www/html/loganalyzer/
六: 在浏览器中安装Logantlyzer
浏览器中访问 192.168.116.138/loganalyzer
提示没有配置文件,点击here 下一步
第一步,测试系统环境
点击next,下一步
提示错误:缺少config.php文件,并且权限要设置为666,可以使用contrib目录下的configure.sh脚本生成。
查看configure.sh文件的内容
[root@wzp loganalyzer-3.6.5]# ls
ChangeLog contrib COPYING doc INSTALL src
[root@wzp loganalyzer-3.6.5]# cd contrib/
[root@wzp contrib]# ls
configure.sh secure.sh
[root@wzp contrib]# cat configure.sh
#!/bin/sh
touch config.php
chmod 666 config.php
需要在/var/www/html/loganalyzer/下创建config.php文件,并设置666权限
[root@wzp contrib]# touch /var/www/html/loganalyzer/config.php
[root@wzp contrib]# chmod 666 !$
chmod 666 /var/www/html/loganalyzer/config.php
[root@wzp contrib]# ll !$
ll /var/www/html/loganalyzer/config.php
-rw-rw-rw-. 1 root root 0 5月 20 01:19 /var/www/html/loganalyzer/config.php
操作完上面的,执行Recheck,config.php文件可写,点击next进行下一步。
第三步:基础设置
第四:创建表
第五步:检查SQL结果
第六步:创建用户
第七:个系统日志source
第八步:完成
查看Loganalyzer首页
测试登录: