syslog-ngの導入と設定新世代syslogデーモン徹底活用(2)(1/3 ページ)

UNIX系OSのシステムロギングをおよそ20年の長きにわたって支えてきた「syslogd」にも、限界が見えつつあります。その限界を打ち破る機能を備えた新しいシスログデーモンを紹介します。(編集部)

» 2008年08月21日 00時00分 公開
[Shin.鶴長@IT]

 前回「syslogdの限界と次世代シスログデーモン」、シスログデーモン「syslogd」の問題点や限界について言及し、その代替として「syslog-ng」と「rsyslog」を紹介しました。今回はそのうち、シスログの内容に基づいてメール通知やアクセスフィルタを実行できるなど、さまざまな機能を備えたsyslog-ngを取り上げ、その導入方法やsyslogdからの移行方法を解説します。

syslog-ngのインストール

 openSUSEではデフォルトで採用するなど、一部ではsyslog-ngの標準化も進んでいます。openSUSEに限らず多くのディストリビューションでも、パッケージ管理ツールを使って容易にインストールすることができます。

 バイナリパッケージが用意されていないプラットフォームやカスタムインストールを実行する場合も、Linuxならソースから手軽にインストールすることもできます。バイナリパッケージを使用する場合と、ソースからインストールする場合、それぞれのインストール方法を解説します。

 以降はrootユーザーにて作業を行います。Ubuntuのようにrootユーザーが直接使用できない場合には、sudoコマンドを使用します。

バイナリパッケージを利用する

 それぞれのディストリビューションで用意されているパッケージ管理ツールを使って、インストールを実行します。

 Fedoraではyumコマンドを使って、オンラインインストールを実行することができます。syslog-ngを使用するには、ほかにも依存するパッケージが必要になりますが、yumコマンドならパッケージの依存性を自動で解決し、必要なパッケージ(今回はeventlog)の追加インストールを自動で行います。

 なおFedora9では、syslog-ngをインストールすると、標準インストールされるrsyslogと競合し、「Error: rsyslog conflicts with syslog-ng」というエラーが表示されます。この場合は競合するパッケージを先に削除しておく必要があります。rsyslogを削除する際は、パッケージとの依存性を無視する必要があるため、rpmコマンドで「--nodeps」オプションを使用します。

 削除に先立ち、設定ファイルsyslogd.confのコピーを保存します。これは後ほど、syslog-ngの設定で利用します。

# cp /etc/syslogd.conf /etc/syslogd.conf.org
(syslogdの設定ファイルを再利用するため、事前にバックアップを作成)
# rpm -e --nodeps rsyslog
(syslog-ngと競合する場合には、競合するパッケージを削除)
rsyslogの削除
# yum install syslog-ng ←syslog-ngのオンラインインストール
...省略...
Is this ok [y/N]: y   ←「y」をタイプ
...省略...
Running Transaction
Installing   : eventlog                                [1/2] 
Installing   : syslog-ng                               [2/2] 
...省略...
syslog-ngのオンラインインストール

 オンラインインストール後、設定ファイルを編集し、syslog-ngを自動起動するようにします。この後の手順は「syslog-ngの設定」へ続きます。

 Fedora以外にCentOSやRed Hatでもyumコマンドが使用できますが、2008年8月時点ではパッケージが提供されていないため、ソースからインストールする必要があります。またUbuntuやDebianではSynapticを、openSUSEではYaST2といったパッケージ管理ツールを使ってオンラインインストールを実行します。

画面1 UbuntuのSynaptic(デスクトップメニューの「システム→システム管理→Synaptic パッケージ・マネージャ」で起動) 画面1 UbuntuのSynaptic(デスクトップメニューの「システム→システム管理→Synaptic パッケージ・マネージャ」で起動)

ソースからインストールする

 ソースファイルを使ってインストールする場合は、BalaBitのWebサイトから、syslog-ngのソースアーカイブとともにeventlogのソースをダウンロードし、同時にインストールする必要があります。

関連リンク:

BalaBitのダウンロードURL
http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/


 eventlogとsyslog-ngをソースからインストールする手順は以降のとおりです。ここでは、インストール先をデフォルトの「/usr/local」から「/usr」に変更するため、configure実行時にオプションを指定しています。そのほかのオプションも「# configure --help」で確認し、適宜追加します。

(eventlogのダウンロードとインストール)
# wget http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/eventlog-0.2.7.tar.gz
# tar xvfz eventlog-0.2.7.tar.gz
# cd eventlog-0.2.7
# ./configure --prefix=/usr ←prefix=/usr:インストール先の指定
# make
# make install
 
(syslog-ngのダウンロードとインストール)
# wget http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/syslog-ng-2.0.9.tar.gz
# tar xvf syslog-ng-2.0.9.tar.gz
# cd syslog-ng-2.0.9
# ./configure --prefix=/usr --sbindir=/sbin \
> --sysconfdir=/etc/syslog-ng \
> --enable-tcp-wrapper \
> --enable-dynamic-linking
 
  --prefix=/usr:インストール先の指定
  --sbindir=/sbin:syslog-ng本体プログラムのインストール先を指定
  --sysconfdir=/etc/syslog-ng:設定ファイルのパスを指定
  --enable-tcp-wrapper:TCP_Wrapperによるアクセス制限を有効化
  --enable-dynamic-linking:動的リンクを使用
# make
# make install
/eventlog/syslog-ngのインストール

 なお、eventlog以外に、libnetやtcp_wrappers(およびtcp_wrappersのライブラリ、インクルードファイル)といったパッケージが必要な場合があります。その際は各ディストリビューションのインストールメディアやリポジトリから追加インストールしてください。

 次に、自動起動スクリプトや設定ファイルを用意します。主要なディストリビューションでは、ソースアーカイブに同梱されたファイルをそのまま使用できます。

 以下はFedoraでの作業例ですが、Red HatやopenSUSEでも、ソースディレクトリ中の「contrib/」に各ファイルを見つけることができます。そのほかのディストリビューションでは、これらのファイルを参考にして作成する必要があります。

 この後の手順は「syslog-ngの設定」へ続きます。

(自動起動スクリプトの用意)
# cp contrib/fedora-packaging/syslog-ng.init /etc/init.d/syslog-ng
# chmod +x /etc/init.d/syslog-ng
 
(設定ファイルの用意)
# mkdir /etc/syslog-ng
# cp contrib/fedora-packaging/syslog-ng.conf /etc/syslog-ng/
自動起動スクリプトと設定ファイルの用意
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。