TOP LEVEL CATEGORIES
EXPLORE
# grep NagiosIssue2JSD -A1 -B1 /usr/local/nagios/etc/objects/commands.cfg define command{ command_name NagiosIssue2JSD command_line $USER1$/NagiosIssue2JSD.pl -s “$SERVICESTATE$” -t “$SERVICESTATETYPE$” -A “$SERVICEATTEMPT$” -H “$HOSTNAME$” -S “$SERVICEDESC$” -a “$SERVICEOUTPUT$” -d “$SHORTDATETIME$” }
# cat /usr/local/nagios/libexec/NagiosIssue2JSD.pl #!/bin/perl
use strict; use warnings; use JIRA::REST; use Data::Dumper;
use Getopt::Std; use Getopt::Long qw(:config no_ignore_case bundling);
my $jira = JIRA::REST->new({ url => ‘https://jira.localhost’, username => ‘nagios’, password => ‘******’ });
#my $baseurl = $jira->GET(‘/rest/servicedeskapi/info’); #print Dumper($baseurl);
use vars qw( $state $type $attempt $hostname $servicedesc $serviceoutput $datetime ); GetOptions( ‘help|h’ => &print_usage, ‘state|s=s’ => $state, ‘type|t=s’ => $type, ‘attempt|A=i’ => $attempt, ‘hostname|H=s’ => $hostname, ‘servicedesc|S=s’ => $servicedesc, ‘serviceoutput|a=s’ => $serviceoutput, ‘datetime|d=s’ => $datetime, );
if(!$state or !$type or !$attempt or !$hostname or !$servicedesc) { print “tUSAGE:/usr/local/nagios/libexec/jira_eventhandler.pl -s -t -A -H -S n”; exit 3; #unknown }
if($type ne “HARD” or $state eq “OK”) { # not doing anything till its reaaaally a problem exit 0; #ok }
my $issue = $jira->POST(‘/issue’, undef, { fields => { project => { key => ‘CAT’ }, issuetype => { name => ‘Incident’ }, summary => “[NAGIOS] Hostname:$hostname Service:$servicedesc State:$state”, description => “Hostname:$hostnamen Service:$servicedescn State:$staten Info:$serviceoutputn DateTime:$datetimen” }, });
exit 0;