Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Directory
amarildosertorio
byamarildosertorio, July 25, 2018
# 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;
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;