CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

本教程逐步介绍了如何将RSYSLOG服务器安装到Debian
6Squeeze)操作系统上,还逐步介绍了如何从多个客户端服务器将syslog数据发送到该服务器系统上。我们还将演示如何安装一台Apache
Web服务器和MySQL数据库服务器以便收集syslog数据,并且演示如何安装LogAnalyzer日志分析器),以便使用互联网浏览器,轻松地浏览收集而来的数据。

CentOS利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

一、安装并设置LAMP环境

yum -y install httpd mysql* php*

二、安装Rsyslog

服务器端:

yum install rsyslog rsyslog-mysql

rsyslog-mysql :将日志传送到MySQL 数据库

mysql -uroot -p1234 <
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

配置数据权限

# mysql -uroot –p

mysql> grant all on Syslog.* to
[email protected]
identified by ‘syslog’;

mysql> flush privileges;

mysql> exit

修改配置文件

more /etc/rsyslog.conf

#### MODULES ####

$ModLoad imuxsock # provides support for local system logging (e.g. via
logger command)

$ModLoad imklog # provides kernel logging support (previously done by
rklogd)

$ModLoad immark # provides –MARK– message capability

###Mysql####

$ModLoad ommysql.so

*.* :ommysql:localhost,Syslog,syslog,syslog

# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

#Log file 动态生产日志文件

$template logfile,
“/data/rsyslog/%fromhost-ip%_%$year%%$month%%$day%.log”

*.* ?logfile

重启 rsyslog

service rsyslog restart

客户端:

# yum install rsyslog -y

配置rsyslog客户端发送本地日志到服务端

# vi /etc/rsyslog.conf

末行添加如下内容


*.* @rsyslog 服务器IP

重启 rsyslog

service rsyslog restart

三、安装部署LogAnalyzer

# wget

# tar zxf loganalyzer-3.6.5.tar.gz

# cd loganalyzer-3.6.5

# mkdir -p /data/www/loganalyzer

复制loganalyzer源代码到apache的DocumentRoot下loganalyzer目录

# cp -r src/* /data/www/loganalyzer

# cp -r contrib/* /data/www/loganalyzer

通过web向导安装loganalyzer前,必须先执行以下两个脚本

# cd /data/www/loganalyzer/

# sh configure.sh

# sh secure.sh

#chown -R apache.apache/data/www/loganalyzer

WEB端配置

(略)

一、安装并设置LAMP环境 yum -y install httpd mysql* php*
二、安装Rsyslog 服务器端: yum install rsyslog…

一、简介

为此,我使用了一个预先准备好的OpenVZ虚拟化模板,但是该模板应该也适用于大多数基于Debian的操作系统上。

LogAnalyzer
是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

我并不保准这个模板同样适用于你的环境!

LogAnalyzer
获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

安装RSYSLOG服务器

LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。

这第一个部分描述的是如何搭建从客户端收集syslog数据的RSYSLOG服务器。在该例子中,我们的服务器名为rsyslog.domain.com,其固定IP地址为192.168.0.15。

Ubuntu 13.04 安装
LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置

http://www.linuxidc.com/Linux/2013-06/86250.htm

首先,我们安装一些依赖项。

CentOS
5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12)
http://www.linuxidc.com/Linux/2013-03/80333p3.htm

apt-get
update
apt-get upgrade
apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail
flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3
libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev
autoconf automake1.9 libtool bison autotools-dev g++ mysql-server
mysql-client libmysqlclient15-dev apache2 apache2-doc
apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev
libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn
php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache
php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode
php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

RedHat
5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind
http://www.linuxidc.com/Linux/2012-10/72484p2.htm

安装过程中要求你输入MySQL服务器的密码时,创建一个密码!

LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP
http://www.linuxidc.com/Linux/2013-05/84882.htm

我的OpenVZ模板已准备好了一切,所以下面这个命令对你来说可能没有必要……

CentOS 6.3下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器 
http://www.linuxidc.com/Linux/2013-07/86956.htm

apt-get
install linux-kernel-headers

CentOS 6.5+Rsyslog+LogAnalyzer搭建中央日志服务器 
http://www.linuxidc.com/Linux/2014-06/102867.htm

确保相应服务已创建并运行起来……

RHEL5.4部署中央日志服务器之rsyslog+Log Analyzer
http://www.linuxidc.com/Linux/2012-01/51853.htm

/etc/init.d/rsyslog
restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart

CentOS 6.3下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
http://www.linuxidc.com/Linux/2013-07/86956.htm

确保服务器在侦听合适的TCP
IP端口端口80和端口3306)。这时,RSYSLOG还没有侦听任何端口。

RHEL5.4部署中央日志服务器之rsyslog+loganalyzer
http://www.linuxidc.com/Linux/2010-12/30801.htm

rsyslog:~#
netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address        
State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*              
LISTEN      415/mysqld        
tcp        0      0 0.0.0.0:80              0.0.0.0:*              
LISTEN      581/apache2

使用rsyslog mysql 和logAnalyzer 的日志服务器
http://www.linuxidc.com/Linux/2012-09/70717.htm

然后,我们可以构建rsyslog数据库:

二、系统环境

mysqladmin
-u root -p create rsyslog

Rsyslog Server OS:CentOS 6.5

接下来,我们启动MySQL命令外壳程序,创建rsyslog用户:

Rsyslog Server IP:192.168.1.107

mysql
-u root -p
GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO
‘rsyslog’@’localhost’ IDENTIFIED BY
‘ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE’;
FLUSH PRIVILEGES;
quit

Rsyslog 版本:rsyslog-5.8.10-8.el6.i686

接下来,我们配置rsyslog服务器,以便侦听TCP端口514:

LogAnalyzer 版本:LogAnalyzer 3.6.5 (v3-stable)

vi
/etc/rsyslog.conf

LAMP 版本:httpd-2.2.15-30.el6.centos.i686 + mysql-5.1.73-3.el6_5.i686

添加这几行……要记得将密码更改成你在创建MySQL服务器的rsyslog用户时输入的那个密码。)

  • php-5.3.3-27.el6_5.i686

$ModLoad
MySQL
*.*      
>127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE

防火墙已关闭/iptables: Firewall is not running.

……并去掉处理TCP
syslog接收的几行代码前面的注释。

SELINUX=disabled

#
rsyslog v3的/etc/rsyslog.conf配置文件
#
#
想了解更多信息,请参阅/usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.*
>127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE
#################
#### 模块 ####
#################
$ModLoad imuxsock # 提供对本地系统日志的支持
$ModLoad imklog # 提供内核日志支持以前由rklogd来提供)
#$ModLoad immark # 提供–MARK–息功能
# 提供UDP syslog接收
#$ModLoad imudp
#$UDPServerRun 514
# 提供TCP syslog接收
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### 全局指令 ####
###########################

Rsyslog Client OS:RHEL 6.4

并重启rsyslog服务。

Rsyslog Client IP:192.168.1.108

/etc/init.d/rsyslog
restart

三、安装并设置LAMP环境

确保服务器在侦听合适的TCP
IP端口。端口80、端口514和端口3306。)

3.1 安装LAMP环境

rsyslog:~#
netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address        
State       PID/Program name
tcp        0      0 0.0.0.0:514             0.0.0.0:*              
LISTEN      618/rsyslogd   
tcp        0      0 127.0.0.1:3306          0.0.0.0:*              
LISTEN      415/mysqld        
tcp        0      0 0.0.0.0:80              0.0.0.0:*              
LISTEN      581/apache2

# yum -y install httpd mysql* php*