Integrate with Nagios XI
Overview
Jira Service Management provides a two-way rich integration plugin for Nagios XI. Besides that, Jira Service Management provides a number of easy-to-use integration methods (email, API, command line tools, programming libraries, etc.) to ensure all monitoring tools can be easily integrated with Jira Service Management. Nagios XI can be integrated with Jira Service Management via the email interface, or by executing scripts in any language that uses Jira Service Management Web API. This document describes two supported integration options.
This article explains integrating Jira Service Management with Nagios XI. If you’re using Nagios, go to Integrate with Nagios.
What does the integration offer?
Jira Service Management Nagios XI plugin supports bi-directional integration with Nagios XI. Integration leverages Jira Service Management’s Nagios-specific executable and JEC utility to automatically create rich alerts (status, alert histogram, trends, etc.) and synchronizes alert status between Nagios XI and Jira Service Management. Jira Service Management Nagios XI plugin is the recommended integration method as it enables Nagios XI to take advantage of advanced capabilities provided by Jira Service Management.
How does the integration work?
When a host or service state becomes down in Nagios XI, an alert is created in Jira Service Management.
Upon creating the new alert, related histogram and trends images from Nagios XI are automatically attached to the alert.
When the Jira Service Management alert is acknowledged, the alert in Nagios XI is also acknowledged automatically, and vice versa.
When a note is added to the Jira Service Management alert, the alert in Nagios XI is also updated automatically, and vice versa.
Set up the integration
The Nagios XI integration plugin utilizes the full capabilities of Jira Service Management and provides bi-directional integration with Nagios XI. The steps in the following procedure describe how to integrate Jira Service Management and Nagios XI using the Nagios XI integration plugin. Note that slight alteration to these instructions may be necessary depending on the exact Linux distribution and your Nagios XI configuration.
Installation prerequisites
The installation packages support the following systems:
RedHat-based Linux distributions
Debian-based Linux distributions
Install the Jira Service Management plugin for Nagios XI
Jira Edge Connector (JEC) is a prerequisite for configuring the outgoing authentication of Nagios XI integration. You can combinedly use JEC and Nagios XI scripts to update alerts on Nagios XI. With this setup, you can deploy your own script, modify the ones provided, or run customized actions on Nagios XI. Download the latest version of the Nagios XI package from this repository.
Add Nagios XI integration
If you're using the Free or Standard plan in Jira Service Management. To access the feature through Settings
(gear icon) > Products
(under JIRA SETTINGS) > OPERATIONS
, you need to be on Premium or Enterprise plan.
Adding an integration from your team’s operations page makes your team the owner of the integration. This means Jira Service Management only assigns the alerts received through this integration to your team.
To add a Nagios XI integration in Jira Service Management:
Go to your team’s operations page.
On the left navigation panel, select Integrations and then Add integration.
Run a search and select “Nagios XI”.
On the next screen, enter a name for the integration.
Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.
Select Continue.
The integration is saved at this point.Expand the Steps to configure the integration section and copy the URL.
You will use this URL while configuring the integration in Nagios XI later.Select Turn on integration.
The rules you create for the integration will work only if you turn on the integration.
Configure the Jira Service Management plugin in Nagios XI
The plugin uses a golang-executable file (included in the plugin as send2jsm) to create, acknowledge, and close alerts in Jira Service Management. To make send2jsm work, you need to make some configurations. The following table lists the parameters and states if they are mandatory. Setting the apiKey is required. Other configuration parameters are set to their default values that work with most Nagios XI implementations but may also need to be modified.
Configure the golang-executable file in any of the following three methods:
Define Nagios XI commands
1. Create and configure host and service notification commands with the following content from Nagios XI web interface through Configure > Core Config Manager > Commands.
2. Define the host command:
Command name: notify-host-by-jsm
Command type: misc command
Command line:
/home/jsm/jec/scripts/send2jsm -entityType=host -t="$NOTIFICATIONTYPE$" -ldt="$LONGDATETIME$" -hn="$HOSTNAME$" -hdn="$HOSTDISPLAYNAME$" -hal="$HOSTALIAS$" -haddr="$HOSTADDRESS$" -hs="$HOSTSTATE$" -hsi="$HOSTSTATEID$" -lhs="$LASTHOSTSTATE$" -lhsi="$LASTHOSTSTATEID$" -hst="$HOSTSTATETYPE$" -ha="$HOSTATTEMPT$" -mha="$MAXHOSTATTEMPTS$" -hei="$HOSTEVENTID$" -lhei="$LASTHOSTEVENTID$" -hpi="$HOSTPROBLEMID$" -lhpi="$LASTHOSTPROBLEMID$" -hl="$HOSTLATENCY$" -het="$HOSTEXECUTIONTIME$" -hd="$HOSTDURATION$" -hds="$HOSTDURATIONSEC$" -hdt="$HOSTDOWNTIME$" -hpc="$HOSTPERCENTCHANGE$" -hgn="$HOSTGROUPNAME$" -hgns="$HOSTGROUPNAMES$" -lhc="$LASTHOSTCHECK$" -lhsc="$LASTHOSTSTATECHANGE$" -lhu="$LASTHOSTUP$" -lhd="$LASTHOSTDOWN$" -lhur="$LASTHOSTUNREACHABLE$" -ho="$HOSTOUTPUT$" -lho="$LONGHOSTOUTPUT$" -hnu="$HOSTNOTESURL$" -hpd="$HOSTPERFDATA$"
3. Define the service command.
Command name: notify-service-by-jsm
Command type: misc command
Command line:
/home/jsm/jec/scripts/send2jsm -entityType=service -t="$NOTIFICATIONTYPE$" -ldt="$LONGDATETIME$" -hn="$HOSTNAME$" -hdn="$HOSTDISPLAYNAME$" -hal="$HOSTALIAS$" -haddr="$HOSTADDRESS$" -hs="$HOSTSTATE$" -hsi="$HOSTSTATEID$" -lhs="$LASTHOSTSTATE$" -lhsi="$LASTHOSTSTATEID$" -hst="$HOSTSTATETYPE$" -ha="$HOSTATTEMPT$" -mha="$MAXHOSTATTEMPTS$" -hei="$HOSTEVENTID$" -lhei="$LASTHOSTEVENTID$" -hpi="$HOSTPROBLEMID$" -lhpi="$LASTHOSTPROBLEMID$" -hl="$HOSTLATENCY$" -het="$HOSTEXECUTIONTIME$" -hd="$HOSTDURATION$" -hds="$HOSTDURATIONSEC$" -hdt="$HOSTDOWNTIME$" -hpc="$HOSTPERCENTCHANGE$" -hgn="$HOSTGROUPNAME$" -hgns="$HOSTGROUPNAMES$" -lhc="$LASTHOSTCHECK$" -lhsc="$LASTHOSTSTATECHANGE$" -lhu="$LASTHOSTUP$" -lhd="$LASTHOSTDOWN$" -lhur="$LASTHOSTUNREACHABLE$" -ho="$HOSTOUTPUT$" -lho="$LONGHOSTOUTPUT$" -hpd="$HOSTPERFDATA$" -s="$SERVICEDESC$" -sdn="$SERVICEDISPLAYNAME$" -ss="$SERVICESTATE$" -ssi="$SERVICESTATEID$" -lss="$LASTSERVICESTATE$" -lssi="$LASTSERVICESTATEID$" -sst="$SERVICESTATETYPE$" -sa="$SERVICEATTEMPT$" -msa="$MAXSERVICEATTEMPTS$" -siv="$SERVICEISVOLATILE$" -sei="$SERVICEEVENTID$" -lsei="$LASTSERVICEEVENTID$" -spi="$SERVICEPROBLEMID$" -lspi="$LASTSERVICEPROBLEMID$" -sl="$SERVICELATENCY$" -set="$SERVICEEXECUTIONTIME$" -sd="$SERVICEDURATION$" -sds="$SERVICEDURATIONSEC$" -sdt="$SERVICEDOWNTIME$" -spc="$SERVICEPERCENTCHANGE$" -sgn="$SERVICEGROUPNAME$" -sgns="$SERVICEGROUPNAMES$" -lsch="$LASTSERVICECHECK$" -lssc="$LASTSERVICESTATECHANGE$" -lsok="$LASTSERVICEOK$" -lsw="$LASTSERVICEWARNING$" -lsu="$LASTSERVICEUNKNOWN$" -lsc="$LASTSERVICECRITICAL$" -so="$SERVICEOUTPUT$" -lso="$LONGSERVICEOUTPUT$" -snu="$SERVICENOTESURL$" -spd="$SERVICEPERFDATA$"
4. Select Apply New Configuration for the changes to take effect.
Define Nagios XI Contacts
Go to Configure > Core Config Manager > Contacts.
Select Add New.
Populate the Common Settings as follows:
Contact Name: jsm
Description: JSM ContactSelect the Active checkbox.
Populate alert settings:
Select Save and Apply Configuration.
Ensure that the contact is added to your Hosts and Services contact list. If everything goes well, you will see alerts in Jira Service Management for every notification created in Nagios XI. When the host or service comes back up, the alert in Jira Service Management gets closed automatically as well.
If you face any problems, check the send2jsm logs and the FAQ and troubleshooting section. Contact us with the logs if needed.
Configure Jira Service Management to update Nagios XI
This is an optional step.
Select the Send Alert Actions To Nagios XI checkbox on the integration configuration page. You can combinedly use JEC and Nagios XI scripts to update alerts on Nagios XI. With this setup, you can deploy your own script, modify the ones provided, or run customized actions on Nagios XI.
To run actions in Nagios XI, JEC gets the configuration parameters from the configuration file, config.json (found at /home/jsm/jec/conf/jec-config.json).
The downloaded package includes the JEC utility (found in /usr/local/bin) and the script that JEC needs to run (found in /home/jsm/jec/scripts). Be sure to run JEC after configuring it. Learn more about running JEC documentation. If using JEC, rich alerts are populated with host or service current status information in Jira Service Management for every notification created in Nagios XI.
The Nagios XI integration package does not support SSL v1.0. If your Nagios XI server has SSL v1.0, upgrade your SSL server.
Source and recompiling send2jsm
The source for the executable send2jsm is found in /usr/bin/ and send2jsm.go, in /home/jsm/jec/scripts respectively, and is also available in this repository. To change the behavior of the executable, edit send2jsm.go and build it by using the following command: go build send2jsm.go
For installing go, refer to http://golang.org/doc/install. Note that the executable in the plugin is built for linux/386 systems.
FAQ and troubleshooting
If the integration is not working, review this section and follow the prescribed guidelines.