1999/8/29
バージョン   swatch 3.0b2
OS   Slackware 3.6 (Linux 2.0.35)
ホームページ   http://www.engr.ucsb.edu/~eta/swatch
ダウンロード   ftp://ftp.stanford.edu/general/security-tools/swatch/

システムログを監視して、特定の文字列が書き込まれた時に、管理者へ知らせることができます。

Perl5と、Time::HiRes、Date::Calc、File::Tailの3つのモジュールが必要です。これらのモジュールがインストールされていない場合は、自動的にCPANモジュールを使ってダウンロードしに行きますので、インターネットに接続された環境が必要です。インターネットに接続されていない場合は、これらのモジュールを事前に手動でインストールしておく必要があります。

インストール

$ tar xvfz swatch-3.0b2.tar.gz

$ cd swatch-3.0b2

必要なサブモジュールがインストールされるので、以下rootで実行します。

$ su

# perl Makefile.PL

今回、原因は不明ですが、1度目のMakefile.PLではFile::Tailがうまくインストールされず、2度目でインストールされたけど、Makefileが生成されず、3度目でやっと完了しました。

# make

# make test

# make install

使い方

設定ファイルを編集します。設定ファイルのデフォルトは~/.swatchrcです。今回はデフォルト通り、/var/log/messagesを処理するので、~root/.swatchrcを編集します。

設定ファイルには、パターンマッチさせる正規表現文字列と、それを見つけたときに処理する内容を記述します。処理内容としては、beepを鳴らす、コンソールに表示する、メールを送る、プログラムを実行する。などが使用できます。以下は設定例です。

watchfor = /(panic|halt)/
	beep
	echo
	[email protected]
watchfor = /-root/
	echo

swatchを起動します。

# swatch &

設定ファイルと、処理するログファイルを指定する場合は以下のようにします。

# swatch -c /etc/swatchrc -t /var/log/messages &