集中式RSYSLOG服务器监控

集中RSYSLOG服务器监控

本教程提供了有关如何在Debian 6(Squeeze)上安装RSYSLOG服务器以及如何从多个客户端服务器向其发送syslog数据的分步说明。 我们还将展示如何安装Apache Web服务器和MySQL数据库服务器来收集syslog数据,以及如何安装LogAnalyzer以便通过Web浏览器轻松浏览收集的数据。

我正在为此设置使用现成的OpenVZ虚拟化模板,但这也适用于大多数基于Debian的操作系统。

我不会保证这将为您工作!

安装RSYSLOG服务器

第一部分介绍如何构建将从客户端收集syslog数据的RSYSLOG服务器。 在这个例子中,我们的服务器叫做rsyslog.domain.com ,它的IP地址为192.168.0.15

首先我们安装一些依赖关系。

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

创建MySQL服务器密码当安装要求您输入它!

我的OpenVZ模板已经准备好了,所以这个命令可能不是为你或者...

apt-get install linux-kernel-headers

确保服务正在运行...

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

检查服务器是否正在监听正确的TCP IP端口。 (80&3306)。 目前RSYSLOG还没有在任何端口上监听。

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数据库:

mysqladmin -u root -p create rsyslog
接下来,我们启动MySQL命令shell并创建rsyslog用户:
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服务器配置为监听TCP端口514:

vi /etc/rsyslog.conf

添加这些行...(记住将密码更改为在创建MySQL服务器的rsyslog用户时输入的密码。)

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

...并删除处理TCP syslog接收的行前面的注释。

# /etc/rsyslog.conf Configuration file for rsyslog v3.
#
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE
#################
#### MODULES ####
#################
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides --MARK-- message capability
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### GLOBAL DIRECTIVES ####
###########################

并重新启动rsyslog服务。

/etc/init.d/rsyslog restart

检查服务器是否正在监听正确的TCP IP端口。 (80,514和3306)

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

然后我们下载LogAnalyzer并配置Apache Web服务器来显示日志。

cd /tmp
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz
tar xvzf loganalyzer-3.4.1.tar.gz
mv loganalyzer-3.4.1/ /var/www/
cd /var/www

然后我们为Apache Web服务器配置www文件夹用户权限。

chown www-data:www-data * . -Rf

然后我们在LogAnalyzer文件夹上做一些“不错的”工作。

mv loganalyzer-3.4.1/ loganalyzer
cd contrib/
cp * ./../src/
cd ./../src/
sh ./configure.sh

我们准备使用我们的网络浏览器进入LogAnalyzer的最终设置。 将您的Web浏览器指向我们的rsyslog服务器的固定IP地址,在此演示中是http://192.168.0.15/loganalyzer/src/install.php

通过简单的安装脚本(它几乎...下一个 - >下一个)。

现在你应该有工作的rsyslog服务器,LogAnalyzer启动并运行。

接下来,我们配置RSYSLOG客户端将其syslog数据发送到rsyslog服务器:

配置RSYSLOG客户端

通常我们需要做的是配置rsyslog.conf文件并重新启动服务。 (几乎所有的Debian都安装了rsyslog。)

vi /etc/rsyslog.conf

添加在网络连接丢失的情况下使用的工作假脱机目录行,并将您的rsyslog服务器IP ADDRESS更改为192.168.0.15 。 (您也可以使用mkdir命令创建/ rsyslog / work spool目录。)

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # default location for work (spool) files
$ActionQueueType LinkedList # use asynchronous processing
$ActionQueueFileName srvrfwd # set file name, also enables disk mode
$ActionResumeRetryCount -1 # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
*.* @@YOUR-RSYSLOG-SERVER-ADDRESS-HERE
###########################
#### GLOBAL DIRECTIVES ####
###########################

并重新启动rsyslog服务。

/etc/init.d/rsyslog restart

检查服务器是否连接在正确的TCP IP端口(514)上。

root@ic1:~# netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.0.100:49188     192.168.0.15:514         ESTABLISHED 13289/rsyslogd

这是一个成功的设置。

sammy·马蒂拉
Internet-Content.europa SM OY

开关: +358.9.42833310
手机: +358.400.749692
电子邮件: firstname.lastname@internet-content.org
商店: https //shop.internet-content.net
网站: http : //www.internet-content.net
博客: http //www.internet-content.net/en/blog
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏