博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
阅读量:4261 次
发布时间:2019-05-26

本文共 4763 字,大约阅读时间需要 15 分钟。

一、简介

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

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

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  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        
 //将接收到的信息写到数据库中,数据库的用户名是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 

# 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 打开浏览器访问:

提示没有配置文件,点击 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 文件可写(注:在这里卡了半天,必须关闭防火墙和selinux会变成可写,否则显示不可写,因为前面的关闭只是临时关闭,重启之后必须重新关闭),点击 Next 进入下一步。

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

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

9.4 第四步,创建表

点击 Next 开始创建表。

9.5 第五步,检查SQL结果

9.6 第六步,创建管理用户

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

9.8 第八步,完成

十、测试

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

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

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

LogAnalyzer 首页

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

查看Statistics

登录测试

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

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...

分类:  , 

标签: , , , , , 

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

你可能感兴趣的文章
从零开始学Hadoop----浅析HDFS(二)
查看>>
从零开始学Hadoop----浅析HDFS(三)
查看>>
从零开始学Hadoop——浅析MapReduce(一)
查看>>
从零开始学Hadoop——浅析MapReduce(二)
查看>>
NoSql之初识HBase
查看>>
用索引来实现幂等
查看>>
大数据的仓库Hive学习(一)
查看>>
大数据的仓库Hive原理(二)
查看>>
大数据的仓库Hive原理(三)
查看>>
MyBatis的优化注意点
查看>>
String.format参加字符串拼接大比拼
查看>>
如何使用才能让缓存更高效
查看>>
MySQL提升效率之limit
查看>>
死锁剖析
查看>>
抽丝剥茧Reactor模式
查看>>
多线程——同步-异步-阻塞-非阻塞
查看>>
多线程——临界区-锁
查看>>
多线程——java线程池简介
查看>>
多线程——Java线程池原理深入
查看>>
多线程——并发锁的集结号
查看>>