特集
2003/09/08 18:00 更新

UNIX USER2003年10月号「Pragmatic UNIX」より転載
シスログの仕組み (3/7)


UNIX USER 2003年10月号より転載

OS固有のセレクタ指定
 シスログの使用に慣れてくると、不便に思うところが出てくるのではないでしょうか。とくにセレクタの動作に関して、
・あるレベルのメッセージだけを残したいのに指定したレベルより高いものまで全部ログに出力してしまう
・ファシリティ単位ではなく、プログラム単位でログを採取したい
などは、よく聞かれる質問です。LinuxとFreeBSDでは、これらの要求に応える拡張仕様があります。Solarisにはそういう余計なものを付けずに、ただオリジナルのシスログ仕様に従うだけです。よって、これから説明するセレクタの書き方は、Linux固有、FreeBSD固有の書き方です。ほかのOSに対して互換性はありませんので、注意して使ってください。

●Linux固有のセレクタ指定
 Linuxでは、指定したレベルだけを意味し、それより高いレベルを含みたくないときに「=」を使います。また、「!」を前に付ければ「そのレベル以上を含まない」という意味になります。この2つと一般の記述を合わせれば、さまざまなレベルを指定できるようになります。指定例と意味を表3にまとめておきます。
 なお、「!=」にすると「そのレベル以外」になるので気を付けましょう。

表3 Linux固有のセレクタ指定

指定例 意味
daemon.=warning warningレベルだけのメッセージ
daemon.warning;daemon.!crit warningとerrレベルのメッセージ
daemon.warning;daemon.!=err warningレベル以上で err を除く

●FreeBSD固有のセレクタ指定
 FreeBSDでは、Linuxと同じようなレベルの選択(ただし記述方法は違います)に加えて、ファシリティ名称の代わりにプログラム名称を利用できます。指定したレベルより高いもの、指定したレベルより低いもの、指定したレベルに等しいものは、それぞれ「<、>、=」で指定できます。基本的に数式と同じなので覚えやすいですね。指定例と意味を表4にまとめておきます。

表4 FreeBSD固有のセレクタ指定

指定例 意味
daemon.>=warning warning レベル以上のメッセージ
daemon.>warning warning レベルより上(err以上)のメッセージ
daemon.=warning warning レベルだけ
daemon.<warning warning レベルより下(notice以下)のメッセージ
daemon.<=warning warning レベル以下のメッセージ

 このほか、ファシリティ名称の代わりにプログラム名称を使いたいときは、「!」を使ったパラグラフをsyslog.confの中に指定します。次の「!」が現れるかファイルの終わりまでがそのパラグラフとして扱われます。たとえば、namedはdaemonファシリティに属し、sshdはデフォルトでauthファシリティに属するので、この2つのデーモンをほかのプログラムと分けて抜き出すには、リスト1の設定をsyslog.confの最後に追加します。

リスト1 プログラム名称でメッセージを分ける

!named
*.*              /var/log/named
!sshd
*.*              /var/log/sshd
                   ←(空白行が必要)

UNIX USER連載「Pragmatic UNIX」
シスログの仕組み
シスログとは何か
シスログの設定
OS固有のセレクタ指定
シスログメッセージのフォーマットと内容
設定変更手順
Column:プログラムでファシリティを設定する
今月のサマリ

関連リンク
▼UNIXUSER
▼定期購読のご案内
▼バックナンバー販売協力店
▼読者モニターレポート

UNIX USER10月号表紙
UNIX USER 10月号

第1特集:オリジナル1CD Linux講座
第2特集:今日から始めるグリッドコンピューティング
第3特集:仮想環境によるシステム構築術

付録CD-ROM 2枚組み
・オリジナル1CD Linux
・Globus Toolkit 2.4/3.0
・VisualuRuby 030817、Ruby 1.8.0 ほか

前のページ | 1 2 3 4 5 6 7 | 次のページ

[山下 哲典,UNIX USER]

Copyright © ITmedia, Inc. All Rights Reserved.