CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
一、简介
LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。
二、系统环境
Rsyslog Server OS:CentOS 6.5
Rsyslog Server IP:192.168.1.107
Rsyslog 版本:rsyslog-5.8.10-8.el6.i686
LogAnalyzer 版本:LogAnalyzer 3.6.5 (v3-stable)
LAMP 版本:httpd-2.2.15-30.el6.centos.i686 + mysql-5.1.73-3.el6_5.i686 + php-5.3.3-27.el6_5.i686
防火墙已关闭/iptables: Firewall is not running.
SELINUX=disabled
Rsyslog Client OS:RHEL 6.4
Rsyslog Client IP:192.168.1.108
三、安装并设置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 'abc123'
3.4 测试php运行环境
# cd /var/www/html/
[root@TS html]# cat > index.php <<EOF
> <?php
> phpinfo();
> ?>
> EOF
打开浏览器访问:http://192.168.1.107/index.php
LAMP环境配置完毕。
四、检查并安装服务器端软件
4.1 检查是否安装了rsyslog软件
# rpm -qa|grep rsyslog //默认系统都安装了该软件
4.2 安装rsyslog 连接MySQL数据库的模块
# yum install rsyslog-mysql –y
rsyslog-mysql 为rsyslog 将日志传送到MySQL 数据库的一个模块,这里必须安装。
五、配置服务器端
5.1 导入rsyslog-mysql 数据库文件
# cd /usr/share/doc/rsyslog-mysql-5.8.10/
# mysql -uroot -pabc123 < createDB.sql
查看做了哪些操作
# mysql -uroot –p
mysql> show databases;
mysql> show tables;
导入数据库操作创建了Syslog 库并在该库中创建了两张空表SystemEvents 和SystemEventsProperties。
5.2 创建rsyslog 用户在mysql下的相关权限
# mysql -uroot –p
mysql> grant all on Syslog.* to rsyslog@localhost identified by '123456';
mysql> flush privileges;
mysql> exit
5.3 配置服务端支持rsyslog-mysql 模块,并开启UDP服务端口获取网内其他LINUX系统日志
# vi /etc/rsyslog.conf
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,123456
在 #### MODULES #### 下添加上面两行。
说明:localhost 表示本地主机,Syslog 为数据库名,rsyslog 为数据库的用户,123456为该用户密码。
5.4 开启相关日志模块
# vi /etc/rsyslog.conf
$ModLoad immark #immark是模块名,支持日志标记
$ModLoad imudp #imupd是模块名,支持udp协议
$UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志
5.5 重启rsyslog 服务
# /etc/init.d/rsyslog restart
六、配置客户端
6.1 检查rsyslog 是否安装
# rpm -qa|grep rsyslog
6.2 配置rsyslog 客户端发送本地日志到服务端
# vi /etc/rsyslog.conf
*.* @192.168.1.107
行尾新增上面这行内容,即客户端将本地日志发送到服务器。
6.3 重启rsyslog 服务
# /etc/init.d/rsyslog restart
6.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.5.tar.gz
# tar zxf loganalyzer-3.6.5.tar.gz
# cd loganalyzer-3.6.5
# mkdir -p /var/www/html/loganalyzer
# rsync -a src/* /var/www/html/loganalyzer/
九、在浏览器安装向导中安装LogAnalyzer
9.1 打开浏览器访问:http://192.168.1.107/loganalyzer/
提示没有配置文件,点击 here 利用向导生成。
9.2 第一步,测试系统环境
点击 “Next”,进入第二步。
提示错误:缺少config.php 文件,并且权限要设置为666,可以使用contrib目录下的configure.sh 脚本生成。
查看configure.sh 文件内容
需要在/var/www/html/loganalyzer/ 下创建config.php 文件,并设置其权限为666。
# touch /var/www/html/loganalyzer/config.php
# chmod 666 /var/www/html/loganalyzer/config.php
做完上面的操作之后,执行 ReCheck 操作,config.php 文件可写,点击 Next 进入下一步。
9.3 第三步,基础配置
在User Database Options 中,填入上面设置的参数,然后点击 Next.
9.4 第四步,创建表
点击 Next 开始创建表。
9.5 第五步,检查SQL结果
9.6 第六步,创建管理用户
9.7 第七步,创建第一个系统日志source.
9.8 第八步,完成
十、测试
LogAnalyzer 首页
点击任何一条记录,查看详情。
查看Statistics
登录测试
在Admin Center 里可以进行一些系统设置。
Rsyslog + LogAnalyzer 日志服务器部署完毕。
David Camp
- 技术交流,请加QQ群:系统运维技术分享Ⅳ:480423035
- 给我写信:mchina_tang@qq.com
我们永远相信,分享是一种美德 | We Believe, Great People Share Knowledge...