連載
» 2008年08月21日 00時00分 公開

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

[Shin.鶴長,@IT]
前のページへ 1|2|3       

syslog-ngの基本的な設定

 syslog-ngの設定ファイル「syslog-ng.conf」は、syslogdの設定ファイルと記述方法が異なっており、互換性がありません。従って、そのまま流用するわけにはいきません。

 先に、syslogd.confをsyslog-ng.confに変換するsyslog2ngスクリプトの使い方を紹介しましたが、syslog-ngの利点を生かした設定を行ったり、新たなロギングを追加したりするには、syslog-ngの記述方法を理解しておく必要があります。

syslog-ng.confの基本構文

 syslogd.confでは設定の単位が「行」であるのに対し、syslog-ngでは図1のような「構文」を用います。

 source ○○{...}でログの受け取り方法を、filter ○○{...}で対象とするログの分別条件を、destination ○○{...}で出力方法を定義します。定義だけではロギングは行われません。定義された各条件をlog { source(○○); filter(○○); destination(○○); };のように組み立てることで、ロギングが機能します。

 なお、定義されたsource/filter/destinationは何度でも使用することができます。同一のsourceに対し異なるfilterを組み合わせ、多面的にシスログを収集するといった利用法も可能です。

 syslog-ngの動作にかかわる設定はoptions {...}で行います。

図1 syslog-ng.confの基本構文(クリックすると拡大します) 図1 syslog-ng.confの基本構文(クリックすると拡大します)

syslog-ng.confの簡単な例

 では、syslogdで使用していた設定をsyslog-ng.confに置き換える作業を通して、設定方法を解説しましょう。

 syslogdの設定ファイルsyslod.confの次の1行では、認証(authpriv)サービスにかかわるログを、「/var/log/secure」ファイルに出力するよう設定しています。ログの種別にはファシリティ(facility)とプライオリティ(priority)の組み合わせを用いています。「authpriv.info」ではファシリティが「authpriv」、プライオリティが「info」になります。スペースまたはタブに続けて、出力先「/var/log/secure」を指定します。

authpriv.info                                   /var/log/secure
置き換える前の/etc/syslog.confのサンプル

 これをsyslog-ngの設定に書き換えます。まず「source」を使って、ログの取得元を指定します。Linuxではソケットファイル「/dev/log」を通してログを取得します(定義名「s1」)。

 次に「filter」でログの抽出条件を定義します。ファシリティ「authpriv」で、プライオリティ「info」〜「emerg」までのログを抽出するようにします(定義名「f1」)。

 続いて「destination」で出力先を定義します。出力先には「/var/log/secure」ファイルを指定します(定義名「d1」)。

 最後に「log」を使って、source/filter/destinationを組み立てます。

source s1 {
        unix-stream("/dev/log");
        internal();
};
←internal()はsyslog-ng内部で生成するメッセージを取得する際に指定
 
filter f1 {
        facility(authpriv) and level(info..emerg);
};
 
destination d1 {
        file("/var/log/secure");
};
 
log { source(s1); filter(f1); destination(d1); };
←s1/f1/d1といった定義名には、syslog-ng.conf内で重複しない限り、任意の文字列を使用できます
syslog-ng.confの設定に置き換えたもの

 今回はsyslog-ngのインストールと基本的な設定方法を解説しました。次回はsyslog-ngの活用方法を解説します。

 なお、syslog-ngの設定方法に関するより詳細な解説は、「syslog-ng.conf.doc」などの付属ドキュメントを参考にしてください。付属ドキュメントは以下のディレクトリに用意されています。

参考:

/usr/share/doc/syslog-ng-2.0.9/syslog-ng.conf.doc
Fedoraなどで、yumやrpmでインストールした場合

/...syslog-ngソースディレクトリ.../contrib/syslog-ng.conf.doc
ソースからインストールした場合



前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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