Solaris9にswatchを入れてみる

SunFireV480につけてあるStorEdge3510のディスクが一本いかれている状態が結構長期にわたって放置されていた(幸いホットスペアがあるため大事には至らなかった)ためこれではいかんだろうということでsyslog監視をすることになりました。
出来る限りリアルタイムでメール送信したいのでswatchを導入することに。swatchperlベースのログ監視ツールで↓からダウンロードできます。
http://swatch.sourceforge.net
なおビルドにはperlのモジュールが必要となる場合がありますが↓で拾うことができます。
http://search.cpan.org/
以下インストール手順。

1. perlモジュールのインストール
Solarisの場合はデフォルトでは/usr/ucb/ccを使ってビルドしようとするが/usr/ucb/ccは実体が無いのでgccを/usr/ucb/ccにリンクしておくと良い。
基本的にはソースを解凍後以下のコマンドでビルドとインストールを行う。
# perl Makefile.PL
# make
# make install

make時にエラーが出る場合はMakefileを以下のとおり変更する
CCCDLFLAGS='-KPIC' → CCCDLFLAGS='-fPIC'
OPTIMIZE='-xO3 -xdepend' → OPTIMIZE='-O3 -depend'

以下の順番でperlモジュールのインストールを行う
TimeDate-1.16
Time-HiRes-1.68
File-Tail-0.99.1
Date-Calc-5.4 (Warningが出るが無視して構わない)
DateManip-5.42a

2. swatchのインストール
以下のコマンドでビルドとインストールを行う
# perl Makefile.PL
# make
# make install

make時にエラーが出る場合はMakefileを以下のとおり変更する
CCCDLFLAGS='-KPIC' → CCCDLFLAGS='-fPIC'
OPTIMIZE='-xO3 -xdepend' → OPTIMIZE='-O3 -depend'

swatchをパスの通っているディレクトリにリンクする
# ln -s /usr/perl5/5.6.1/bin/swatch /usr/sbin/swatch

設定ファイルを作成後以下のコマンドで起動
# swatch --config-file=/export/home/fiosys/syslog.swatch --tail-file=/var/adm/messages --use-cpan-file-tail &

メール送信機能はデフォルトで/usr/sbin/sendmailを呼びに行くので必要であれば
リンクを張っておくこと。

設定の仕方は探せば出てくると思うのでそちらを参照してください。とりあえずerr以上はメールを投げるようにしたけどこれだとStorEdge3510のシステムコントローラがバッテリ減ってますとか充電終わりましたとかまで引っ掛けてくるのね。もう少し絞込みが必要かなぁ。

しかし誰もマシンルーム内のマシンのLEDとか見ていないのは問題ありすぎ。こういうのって日次業務だと思うのですが…。個人情報保護法対応で入室制限きつくなったのも一因なんですが。