ウェブサイトの簡易監視プログラム
簡易監視モジュール。
WebサイトにHTTPアクセスをして、成功(200OK)でなかったらSNMPTrapを投げるプログラム
use Http::Request::Common; use LWP::UserAgent; $MANAGER="x.x.x.x"; $COMMUNITY="public"; $OID="y.y.y.y.y"; mt $ua = LWP::UserAgent->new; my $res = $ua->request(GET 'http://example.com'); unless ( $res->is_success){ system("snmptrap -v 1 -c $COMMUNITY $MANAGER $OID localhost 1 0 '' "); print $res->error_as_HTML(); }
こいつをcronに登録して監視。
snmptrapよりもメール通知の方が利用シーンが多いかも。
snmptrapがsystemコマンドなのが個人的にイマイチ。
Net::SNMPを使えばPerlモジュール化可能。
大急ぎで作った簡易プログラムなので、このへんは大目に。(^^;