連載
» 2002年05月21日 00時00分 公開

実用qmailサーバ運用・管理術(9):daemontoolsによるロギングとプロセス監視 (3/3)

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

そのほかのdaemontools

 ここで紹介した以外に、さまざまなdaemontoolsが使用可能です。そのうち、頻繁に使用されるものには次のものがあります。

tai64nlocal

 前述のように、multilogのロギングではTAI64N形式のタイムスタンプを利用します。これを、人間が日常使用している形式で表示させるのに使います。ログを確認する際は、毎回のように使用することになる大事なコマンドです。

# tai64nlocal < TAI64N形式で記録されたログファイル

@400000003ce2403d3677ea94 starting delivery 3: msg 257198 to local example.jp-user1@example.jp
@400000003ce2403d367809d4 status: local 1/10 remote 0/20
@400000003ce2403d38b82634 delivery 3: success: did_0+0+1/
@400000003ce2403d38cb739c status: local 0/10 remote 0/20
@400000003ce2403d38cb8b0c end msg 257198
@400000003ce24054307e7f54 new msg 257198
@400000003ce24054307e9e94 info msg 257198: bytes 5246 from <user2@example.jp> qp 20255 uid 1003
@400000003ce2405430c4bfb4 starting delivery 4: msg 257198 to remote user3@foo.com
変換前(TAI64N形式)

2002-05-15 20:02:11.913828500 starting delivery 3: msg 257198 to local example.jp-user1@example.jp
2002-05-15 20:02:11.913836500 status: local 1/10 remote 0/20
2002-05-15 20:02:11.951592500 delivery 3: success: did_0+0+1/
2002-05-15 20:02:11.952857500 status: local 0/10 remote 0/20
2002-05-15 20:02:11.952863500 end msg 257198
2002-05-15 20:02:34.813596500 new msg 257198
2002-05-15 20:02:34.813604500 info msg 257198: bytes 5246 from <user2@example.jp> qp 20255 uid 1003
2002-05-15 20:02:34.818200500 starting delivery 4: msg 257198 to remote user3@foo.com
変換後

softlimit

 daemontoolsのメリットの1つである「起動するデーモンごとにlimitをかけられる。これによってメモリ使用量やユーザー権限を制限できる」を実現するためのものです。/serviceディレクトリにシンボリックリンクを張ったサービス定義ディレクトリ内のrunスクリプトに記述します。次のスクリプトは、プロセスの同時起動数を10に制限しています。

#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
exec /usr/local/bin/softlimit -p 10
tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup [サーバのFQDN] \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
制限を加えた/var/qmail/services/pop3d/run

 そのほかにも、softlimitのオプションには次のものがあります。

-d n プロセス当たりのデータ・セグメントをn bytesに制限する
-s n プロセス当たりのスタック・セグメントをn bytesに制限する
-l n プロセス当たりのロックされた物理ページをn bytesに制限する。OSによっては、このオプションは無効になる
-a n プロセス当たりのすべてのセグメントの総量をn bytesに制限する。OSによっては、このオプションは無効になる
-o n プロセス当たりの開いているファイル記述子の数をnに制限する。OSによっては、このオプションは無効になる
-m n 「-d n -s n -l n -a n」と同等
-p n UID当たりのプロセス数をnに制限する
-f n 出力するファイルのサイズをn bytesに制限する
-c n coreのファイルサイズをn bytesに制限する
メモリ使用量制御オプション

-r n 常駐設定サイズをn bytesに制限する。この制限は物理メモリがいっぱいでない限り強要されない
-t n CPU時間をn秒に制限する。この制限は、プロセスがn秒後にSIGXCPUシグナルを受けることがなければ強要されない
効率オプション

まとめと次回予告

 D. J. Bernstein氏が提供するパッケージは、makeなどのコンパイル作業は難なく終わらせられるものの、その後の設定ファイルのコンフィグレーション、特に各スクリプトの作成でへきえきしてしまう人も少なくないと思います。しかし、ここで紹介したように、1つ1つの作業は非常に単純で、コマンドへの引数でプロセスの挙動を制御する方法に至っては、大変直感的で分かりやすいものです。

 インストール先に/usr/localを使用していなかったり、/etcディレクトリに設定ファイルを保存しないなど、ソースからのインストールを得意にしている方には引っ掛かるものがあるかと思いますが、導入する価値は大いにあります。ぜひお試しください。

 次回は、収集したログを分析してレポートをまとめるツールを紹介します。稼働状況をデイリーレポートで受け取ることはもちろん、グラフイメージを作成し、視覚を通して直感的に状況を訴求するようなツールも導入してみましょう。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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