Gentoo Linux文書 -- Tenshi
1.
はじめに
Tenshiは、ユーザが設定した正規表現に適合するログの行をレポートする、ログ監視プログラムです。
正規表現は、メール送信者リストと通知間隔を持つキューに対応づけられます。
キューは、ログ行が置かれるとすぐに通知を送信することもできますし、定期的にレポートすることも出来ます。
加えて、標準の正規表現のグループ化の演算子 ( )を用いて、あまり興味のないログの行のフィールド(たとえばPIDなど)をマスクすることも可能です。
これは、もっと整理された読みやすいリポートを作成します。
すべてのリポートは、ホスト名で分かれており、メッセージは可能であれば、圧縮されています。
このプログラムは、設定ファイルを読み込み、特定のログファイルを監視するためのデーモンをforkします。
このtenshi.conf例とtenshi.8のmanページの使用方法を読んでください。
重要:
このパッケージは、以前Wasabiとして知られていましたが、商標違反で名前が変わりました。
|
2.
例
次のtenshi.conf設定を考えてみてください。
コード表示 2.1: tenshi.confキュー設定 |
...
set hidepid on
set queue mail tenshi@localhost sysadmin@localhost [0 */12 * * *]
set queue misc tenshi@localhost sysadmin@localhost [0 */24 * * *]
set queue critical tenshi@localhost sysadmin@localhost [now]
group ^ipop3d:
mail ^ipop3d: Login user=(.+)
mail ^ipop3d: Logout user=(.+)
mail ^ipop3d: pop3s SSL service init from (.+)
mail ^ipop3d: pop3 service init from (.+)
mail ^ipop3d: Command stream end of file, while reading.+
mail ^ipop3d: Command stream end of file while reading.+
critical ^ipop3d: Login failed.+
trash ^ipop3d:.+
group_end
critical ^sudo: (.+) : TTY=(.+) ; PWD=(.+) ; USER=root ; COMMAND=(.+)
misc .*
|
mailキューまたはcriticalキューに関連づけられた正規表現に合致しないすべてのipop3dのメッセージは、trashキュー(組み込まれたnullキュー)に合うでしょう。
その他のメッセージは、miscに合うでしょう。
(.+)に囲まれたメッセージのフィールドは、マスクされます。
mailキューのサンプルレポートです(12時間ごとに送信されます)。
コード表示 2.2: サンプルレポート - [mail]キュー |
host1:
79: ipop3d: Login user=___
74: ipop3d: Logout user=___
host2:
30: ipop3d: Login user=___
30: ipop3d: Logout user=___
19: ipop3d: pop3 service init from ___
12: ipop3d: pop3s SSL service init from ___
1: ipop3d: Command stream end of file while reading line user=??? host=bogus.domain.net [192.168.0.1]
1: ipop3d: Command stream end of file, while reading authentication host=bogus1.domain.net [10.1.7.1]
|
これらのサンプルレポートはcriticalキューです(正規表現に合うたびにメッセージが送信されます)。
コード表示 2.3: サンプルレポート - [critical]キュー |
host1:
1: /usr/bin/sudo: ___ : TTY=___ ; PWD=___ ; USER=root ; COMMAND=/bin/dmesg
|
コード表示 2.4: サンプルレポート - [critical]キュー |
host1:
1: /usr/bin/sudo: ___ : TTY=___ ; PWD=___ ; USER=root ; COMMAND=/bin/bash
|
コード表示 2.5: サンプルレポート - [critical]キュー |
host2:
1: ipop3d: Login failed user=admin auth=admin host=bogus1.domain.net [10.1.7.1]
|
コード表示 2.6: サンプルレポート - [critical]キュー |
host2:
1: ipop3d: Autologout user=??? host=bogus.domain.net [192.168.0.1]
|
3.
要求事項
teshiは、動作する'tail'実装が必要になります。
また、Net::SMTP perlモジュール(標準のperlインストールに含まれています)もリポートをメールするために必要になります。
Gentoo Linuxユーザはapp-admin/tenshi ebuildをインストールするだけです。
4.
リソース
もっとも新しいtenshiリリースはtenshi-latest.tar.gzで見つけることが出来ます。
すべてのリリースはhttp://www.gentoo.org/~lcars/tenshiで、見つけることが出来ます。
要望、提案、バグ等はtenshi@gentoo.orgまでメールしてください。
|