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  (现在的启动方法为systemctl start httpd,原因见“关于systemd和sysvinit的说明”一文)

# chkconfig httpd on  

启动数据库

# /etc/init.d/mysqld start  (我在CentOS Linux release 7.0.1406 (Core)(使用cat /etc/centos-release查看的)下测试的时候没有找到mysql的安装项,但是在添加了RMPForge后出现了mariadb,它是mysql的一个分支,安装方法见http://blog.csdn.net/u010154760/article/details/45271787,而如果有mysql,安装方法见http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html,关于RMPForge的安装方法见http://wiki.centos.org/zh/AdditionalResources/Repositories/RPMForge和http://blog.csdn.net/u010154760/article/details/45271765)

# 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

1

打开浏览器访问:http://192.168.1.107/index.php开始时访问不了这个目录,http://litaotao.blog.51cto.com/6224470/1283871中介绍了修改httpd.conf来创建虚拟主机的方法。

2

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

3

查看做了哪些操作

# mysql -uroot –p

mysql> show databases;

mysql> show tables;

5

导入数据库操作创建了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

7

5.3 配置服务端支持rsyslog-mysql 模块,并开启UDP服务端口获取网内其他LINUX系统日志

# vi /etc/rsyslog.conf

$ModLoad ommysql 
*.* :ommysql:localhost,Syslog,rsyslog,123456        
 //将接收到的信息写到数据库中,数据库的用户名是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协议转发过来的日志

6

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

11

Server 端侦测:

10

说明接收正常,包括你重启机器的一些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/

12

九、在浏览器安装向导中安装LogAnalyzer

9.1 打开浏览器访问:http://192.168.1.107/loganalyzer/

13

提示没有配置文件,点击 here 利用向导生成。

9.2 第一步,测试系统环境

14

点击 “Next”,进入第二步。

15

提示错误:缺少config.php 文件,并且权限要设置为666,可以使用contrib目录下的configure.sh 脚本生成。

查看configure.sh 文件内容

16

需要在/var/www/html/loganalyzer/ 下创建config.php 文件,并设置其权限为666。

# touch /var/www/html/loganalyzer/config.php

# chmod 666 /var/www/html/loganalyzer/config.php

17

做完上面的操作之后,执行 ReCheck 操作,config.php 文件可写(注:在这里卡了半天,必须关闭防火墙和selinux会变成可写,否则显示不可写,因为前面的关闭只是临时关闭,重启之后必须重新关闭),点击 Next 进入下一步。

18

9.3 第三步,基础配置(因为要连接数据库,所以填入数据库的用户名和密码)

21

在User Database Options 中,填入上面设置的参数,然后点击 Next.

9.4 第四步,创建表

22

点击 Next 开始创建表。

9.5 第五步,检查SQL结果

23

9.6 第六步,创建管理用户

24

9.7 第七步,创建第一个系统日志source.

27

9.8 第八步,完成

28

十、测试

刚开始测试的时候出现了错误,如下:


谷歌之后根据http://nolabnoparty.com/en/install-rsyslog-loganalyzer/链接中的修改方法如下图:


但是修改后仍然无法修复,而我发现需要在界面上的Admin Center->下面的Sources;然后在数据库中将systemevents改为SystemEvents就可以了。

LogAnalyzer 首页

点击任何一条记录,查看详情。

30

查看Statistics

31

登录测试

32

在Admin Center 里可以进行一些系统设置。

34

Rsyslog + LogAnalyzer 日志服务器部署完毕。

 


我所创建的用户和密码:

数据库root用户密码为222222

数据库ltf密码为******(你懂的)

数据库rsyslog密码为123456(和原文一样


loganalyzer用户:

用户ltf,密码为******(你懂的)


David Camp

  • 技术交流,请加QQ群:

    系统运维技术分享Ⅲ:416491168

  • 作者QQ:562866602
  • 我的微信号:mchina_tang
  • 给我写信:mchina_tang@qq.com
  • 我的地址:江苏·苏州

我们永远相信,分享是一种美德 | We Believe, Great People Share Knowledge...

分类:  LinuxLinux Server

标签: linuxMysqlCentOSrsyslogloganalyzerlog server


来源:http://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值