| App-MadEye documentation | Contained in the App-MadEye distribution. |
App::MadEye::Plugin::Agent::DBI - monitoring DB
- module: Agent::DBI
config:
target:
- DBI:mysql:database=foo
user: root
password: ~
type: map
mapping:
target:
type: seq
required: yes
sequence:
- type: str
user:
required: yes
type: str
password:
required: yes
type: str
Tokuhiro Matsuno
| App-MadEye documentation | Contained in the App-MadEye distribution. |
package App::MadEye::Plugin::Agent::DBI; use strict; use warnings; use App::MadEye::Plugin::Agent::Base; use DBI; sub is_dead { my ($self, $dsn) = @_; my $conf = $self->config->{config}; my $user = $conf->{user} or die "missing user"; my $password = $conf->{password} || ''; my $dbh; eval { $dbh = DBI->connect( $dsn, $user, $password, {RaiseError => 1, AutoCommit => 1} ); }; if ($@) { return $@; } elsif (! $dbh->ping) { return "DEAD"; } else { return; # alive. } } 1; __END__