Build precise queries to find exactly what you need
Press ESC to close
@lbtm
Favorites0
Views
Projects0
#!/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") { $hpovstatus = "normal"; } elsif ($status eq "FLAPPING") { $hpovstatus = "minor"; } else { $hpovstatus = "minor"; } } else { $cmdstring .= " object='HOST_ALERT'"; if ($status eq "UP") { $hpovstatus = "normal"; } elsif ($status eq "DOWN") { $hpovstatus = "critical"; } elsif ($status eq "UNREACHABLE") { $hpovstatus = "major"; } elsif ($status eq "UNKNOWN") { $hpovstatus = "minor"; } elsif ($status eq "RECOVERY") { $hpovstatus = "normal"; } elsif ($status eq "FLAPPING") { $hpovstatus = "unknown"; } else { $hpovstatus = "minor"; } } $cmdstring .= " msg_text='$statustext'"; $cmdstring .= " severity='$hpovstatus'"; $cmdstring .= " msg_grp='GWMP'"; my @lines = `$cmdstring`; if ($debug) { print FP "Command string = $cmdstringn " ; print FP "Command Results = @linesn" ; close FP; } __END__
Reviewed 14 years ago