Home Directory

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

Directory Tree

Directory

amarildosertorio

Reviews(1)
byamarildosertorio, July 25, 2018
Nagios-2JiraServerDesk-Issue-Creator
# 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:$hostname\n Service:$servicedesc\n State:$state\n Info:$serviceoutput\n DateTime:$datetime\n"
},
});

exit 0;