Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
#!/usr/bin/perl -w # # hpov_eventhandler.pl v1.0 – 07/21/2006 # # HP Openview Event Handler # Copyright 2006 GroundWork Open Source Solutions, Inc. (“GroundWork”) # All rights reserved. Use is subject to GroundWork commercial license terms. # # Revision History # 21-Jul-2006 Peter Loh # #
use strict; use Time::Local; use Time::HiRes;
my $debug = 1; my $debuglog = “>> /usr/local/nagios/var/hpov.log”; my $hpov_cmd = “/opt/OV/bin/opcmsg”; my ($lastcheck,$host,$service,$status,$statustext); my $type = $ARGV[0]; # host or service type
$lastcheck = $ARGV[1]; $host = $ARGV[2]; $status = $ARGV[3]; $statustext = $ARGV[4]; $service = $ARGV[5];
my $hpovstatus = undef;
if ($debug) {
open(FP, $debuglog) ;
print FP “———————————————————————n ” ;
print FP `date`.” Host: $hostn Svcdesc: $servicen Lastcheck: $lastcheckn Status: $statusn Statustext: $statustextn” ;
}
my $cmdstring = $hpov_cmd;
if ($host !~ /.Cadence.COM$/i) {
$host .= “.Cadence.COM”;
$cmdstring .= ” node=’$host'”;
$cmdstring .= ” application=’gto_gwmon'”;
if ($type eq “service”) {
$cmdstring .= ” object=’$service'”;
if ($status eq “OK”) {
$hpovstatus = “normal”;
} elsif ($status eq “WARNING”) {
$hpovstatus = “warning”;
} elsif ($status eq “CRITICAL”) {
$hpovstatus = “critical”;
} elsif ($status eq “UNKNOWN”) {
$hpovstatus = “minor”;
} elsif ($status eq “RECOVERY”) {
} elsif ($status eq “FLAPPING”) {
} else {
$cmdstring .= ” object=’HOST_ALERT'”;
if ($status eq “UP”) {
} elsif ($status eq “DOWN”) {
} elsif ($status eq “UNREACHABLE”) {
$hpovstatus = “major”;
$hpovstatus = “unknown”;
$cmdstring .= ” msg_text=’$statustext'”;
$cmdstring .= ” severity=’$hpovstatus'”;
$cmdstring .= ” msg_grp=’GWMP'”;
my @lines = `$cmdstring`;
print FP “Command string = $cmdstringn ” ;
print FP “Command Results = @linesn” ;
close FP;
__END__