TRD::Warch::DB - データベースの死活監視
Version 0.0.5
use TRD::Watch::DB; use DBI;
my $db_th = new1 TRD:Watch::DB( $name, '-db_sid' => 'Oracle:emp', '-db_user' => 'sccot', '-db_pass' => 'tiger', '-sql' => q!select TO_CHAR( sysdate, 'YYYY-MM-DD' ) from dual!, '-checkfunc' => \&checkfunc, '-errorfunc' => \&errorfunc, '-recoverfunc' => \&recoverfunc ); $db_th->start;
sub checkfunc($$) { my( $name, $sth ) = @_; my $stat = -1; # 0=normal, 0!=error
my( $row ) = $sth->fetchrow_array(); if( $row=~m/^\d\d\d\d-\d\d-\d\d$/ ){ $stat = 0; # normal } else { $stat = 1; # error } return $stat; }
sub errorfunc($$) { my( $name, $db_sid ) = @_; &send_error_mail( 'DB', $name, $db_sid ); }
sub recoverfunc($$) { my( $name, $db_sid ) = @_; &send_recover_mail( 'DB', $name, $db_sid ); }
DBIでアクセスできるデータベースを死活監視します。
TRD::Watch::DBのコンストラクタです。
TRD::Watch::DBオブジェクトを作成するコンストラクタです。
最初の引数は、オブジェクトの名前で、必須です。 その他のオプションは、省略可能です。
DBIに設定するデータソースを指定します。
DBIに設定するユーザ名を指定します。
DBIに設定するパスワードを指定します。
死活監視で発行するSQL文を指定します。
障害が発生したときに呼び出されるコールバック関数を指定します。
障害が回復したときに呼び出されるコールバック関数を指定します。
監視を行うコールバック関数を指定します。
監視のタイムアウトを秒で指定します。
死活監視の間隔を秒で指定します。
オブジェクトの名前を設定します。
死活監視のコールバック関数が呼ばれる際に名前がわたされます。 死活監視が開始されていた場合、再起動されます。
DBIに指定するデータソースを設定します。
死活監視のコールバック関数が呼ばれる際にデータソース名がわたされます。 死活監視が開始されていた場合、再起動されます。
DBIに指定するユーザ名を設定します。
死活監視が開始されていた場合、再起動されます。
DBIに指定するパスワードを設定します。
死活監視で発行するSQLを設定します。
死活監視を休止する時間を設定します。
設定した時間、死活監視を休止(sleep)し、計画的な障害検知を回避します。
休止に名前を設定します。
休止する開始時間をcronのような形式で設定します。 5つの空白で区切られた値を設定します。 詳しくはcrontabを参考にしてください。
休止時間を秒で設定します。 死活監視が開始されていた場合、再起動されます。
監視のタイムアウトを設定します。
DBからタイムアウト値までに返答が来ない場合、障害として扱います。 死活監視が開始されていた場合、再起動されます。
死活監視の間隔を設定します。
障害が発生したときに呼ばれるコールバック関数を指定します。
コールバック関数には死活監視の名前($name)とデータソース名($db_sid)が渡されます。 死活監視が開始されていた場合、再起動されます。
障害が回復したときに呼ばれるコールバック関数を設定します。
死活監視を行うコールバック関数を設定します。
コールバック関数には死活監視の名前($name)とDBIからのステートメントハンドル($sth)が渡されます。 死活監視が開始されていた場合、再起動されます。
死活監視を開始します。
死活監視を開始し、checkfuncがinterval間隔で呼び出されます。 障害が発生するとerrorfuncが呼び出され、障害が回復するとrecoverfuncが呼び出されます。
死活監視を停止します。
内部関数:死活監視を行うスレッド関数 監視はforkで起動される。
内部関数:休止時期を取得する。
内部関数:監視を行う。
内部関数:デフォルトの要害発生時のコールバック関数。
内部関数:デフォルトの障害回復時のコールバック関数。
内部関数:デフォルトの監視コールバック関数。
Mention other useful documentation such as the documentation of related modules or operating system documentation (such as man pages in UNIX), or any relevant external documentation such as RFCs or standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
Takuya Ichikawa, <ichi@cpan.org>
<ichi@cpan.org>
Copyright (C) 2009 Takuya Ichikawa, all rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in 'データベースの死活監視'. Assuming UTF-8
To install TRD::Watch::DB, copy and paste the appropriate command in to your terminal.
cpanm
cpanm TRD::Watch::DB
CPAN shell
perl -MCPAN -e shell install TRD::Watch::DB
For more information on module installation, please visit the detailed CPAN module installation guide.