サーバー監視 · 2 min read · Oct 18, 2025

集中型RSYSLOGサーバー監視

集中型RSYSLOGサーバー監視

このチュートリアルでは、Debian 6 (Squeeze) にRSYSLOGサーバーをインストールし、複数のクライアントサーバーからそのサーバーにsyslogデータを送信する方法について、ステップバイステップの手順を提供します。また、syslogデータを収集するためのApacheウェブサーバーとMySQLデータベースサーバーのインストール方法、収集したデータをウェブブラウザで簡単に閲覧するためのLogAnalyzerのインストール方法も紹介します。

私はこのセットアップのために既製の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

アクティブなインターネット接続(サーバーと確立された接続)
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コマンドシェルを起動し、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

アクティブなインターネット接続(サーバーと確立された接続)
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ウェブサーバーを設定してログを表示します。

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ウェブサーバーのwwwフォルダのユーザー権限を設定します。

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

そしてLogAnalyzerフォルダに対していくつかの「良い作業」を行います。

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

そして、私たちはウェブブラウザを使用してLogAnalyzerの最終設定に入る準備ができました。ウェブブラウザを私たちの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アドレスを192.168.0.15に変更します。(mkdirコマンドで/rsyslog/workスプールディレクトリを作成することも検討してください。)

# 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

アクティブなインターネット接続(サーバーと確立された接続)
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

これが成功したセットアップのようになります。

スクリーンショット - LogAnalyzerの使用中

| | サミ・マッティラ
Internet-Content.europa SM OY

電話: +358.9.42833310
携帯: +358.400.749692
メール: [email protected]
ショップ: https://shop.internet-content.net
サイト: http://www.internet-content.net
ブログ: http://www.internet-content.net/en/blog |

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。