package App::MadEye::Plugin::Agent::SNMP::Process; use strict; use warnings; use App::MadEye::Plugin::Agent::Base; use App::MadEye::Util; use List::Util qw/first/; my $hrSWRunPath = '.1.3.6.1.2.1.25.4.2.1.4'; sub is_dead { my ($self, $host) = @_; my $process = $self->config->{config}->{process} or die "missing process"; my $response = snmp_session( $self, $host => sub { my $session = shift; my $response = $session->get_table( -baseoid => $hrSWRunPath, ) or die "cannot get a $_ : " . $session->error; return $response; } ); if (first { $_ eq $process } values %$response) { return; # alive } else { return "404 $process not found"; } } 1; __END__ =head1 NAME App::MadEye::Plugin::Agent::SNMP::Process - monitoring process =head1 SCHEMA type: map mapping: target: type: seq required: yes sequence: - type: str community: required: yes type: str port: required: no type: int timeout: required: no type: int process: required: yes type: str =head1 AUTHORS Tokuhiro Matsuno =head1 SEE ALSO L, L