• Get started
  • Documentation

Integrate with ITRS OP5 Monitor

This article highlights a new alerting feature that's natively available in Jira Service Management which is gradually rolling out to some Jira Service Management Cloud customers. It may not yet be visible or available on your site.

OP5 Monitor logo

What does the integration offer?

Jira Service Management provides a powerful bidirectional integration with OP5. When a new alert - host or service - is created in OP5, a corresponding Jira Service Management alert is automatically created, containing rich information about the alert. Jira Service Management provides detailed notifications with on-call rotations, scheduling features, and alert escalations. Users select any of the alert actions of Jira Service Management to map to the Acknowledge action of OP5.

How does the integration work?

OP5 to Jira Service Management

  • When a host or service alert is created on OP5, an alert is created in Jira Service Management.

  • When a host or service alert is closed on OP5, the corresponding alert is closed in Jira Service Management.

  • When a host or service alert is acknowledged on OP5, the corresponding alert is acknowledged in Jira Service Management.

Jira Service Management to OP5

If Send alert updates back to OP5 is selected, actions that are run on OP5 alerts are sent to OP5 as acknowledgment actions.

Set up the integration

OP5 is a bidirectional integration. Setting it up involves the following steps:

  • Add an OP5 integration in Jira Service Management

  • Map alert actions

  • Configure the integration in OP5

Install the Jira Service Management plugin for OP5

Jira Edge Connector (abbreviated as JEC) is a prerequisite for configuring the outgoing authentication of OP5 integration. Download the latest version of the OP5 package from this repository.

For OP5 Monitor's Red Hat-based distributions

Either share the OP5 file to the remote OP5 monitor or copy the link on the opening page.

  • Run the following command:
    wget https://linkTo.the.OP5Package

  • Run the following command :
    rpm -i jsm-op5-<your_version>.rpm

Before rpm upgrades, back up your configuration files.

During upgrades, the rpm package does not overwrite the existing configuration. It saves the new default configuration file as integration.conf.rpmnew. To update from version 201X-XX-XX to 2.X.X, add the --force parameter. For example: rpm -U --force jsm-integration-<your_version>.rpm

Learn more about rpm upgrade config file handling.

Add an OP5 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.

  1. Go to your team’s operations page.

  2. On the left navigation panel, select Integrations and then Add integration.

  3. Run a search and select “OP5”.

  4. On the next screen, enter a name for the integration.

  5. Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.

  6. Select Continue.
    The integration is saved at this point.

  7. Expand the Steps to configure the integration section and copy the integration API key.
    You will use this key while configuring the integration in OP5 later.

  8. Select Turn on integration.
    The rules you create for the integration will work only if you turn on the integration.

Configure OP5 package in OP5 Monitor

The plugin uses a golang-executable file (included in the plugin as send2jsm) to create, acknowledge, and close alerts in Jira Service Management. Configure OP5 to execute this file on events to create, acknowledge, and close alerts in Jira Service Management. Setting the apiKey is mandatory. Other configuration parameters are set to defaults that work with OP5.

The following table lists the parameters and their locations:

Configuration parameters

Configuration parameters

 Description

Location

apiKey

Copy the API key from the OP5 integration created. send2jsm uses this key to authenticate to Jira Service Management. API key is also used to identify the right integration configuration that should be used to process alerts.

/home/jsm/jec/conf/jec-config.json

baseUrl

Can change this field according to your Jira Service Management environment (for example: EU, sandbox)

/home/jsm/jec/conf/jec-config.json

responders

Responders field is used to specify which teams should be notified for the OP5 alerts. This field is used to set the default teams field value. Modify to route different alerts to different teams in integration settings.

/home/jsm/jec/conf/integration.conf

tags

Tags field is used to specify the tags of the alert that created in Jira Service Management.

/home/jsm/jec/conf/integration.conf

logPath

Specifies the full path of the log file. (Default value is /var/log/jec/send2jsm.log)

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.enabled

nagios2jsm.http.proxy.enabled field is to enable/disable external proxy configuration. The default value is false.

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.host

It is the host of the proxy.

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.port

It is the port of the proxy.

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.scheme

It is the proxy connection protocol. It may be http or https depending on your proxy servers. Its default value is http.

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.username

It is the proxy authentication username.

/home/jsm/jec/conf/integration.conf

nagios2jsm.http.proxy.password

It is the proxy authentication password.

/home/jsm/jec/conf/integration.conf

Configure the golang-executable file in any of the following three methods:

Method 1: Configure from conf file

Configure from the /home/jsm/jec/conf/integration.conf file. This overwrites any configuration you previously made in the script.

Method 2: Configure by using Golang flags

Configure by entering flags into the command in the jsm.cfg file. Use -apiKey flag for your apiKey and -ns flag for nagios_server name. If multiple OP5 servers are not in use, there is no need to define the nagios server. Using flags overwrites all the other configuration methods discussed earlier in the article.
Configure the apiKey from the cfg file as follows:

1 2 3 4 define command { command_name notify-service-by-jsm command_line /home/jsm/jec/scripts/send2jsm -apiKey="apiKey1" -entityType=service ... }

When apiKey is added to the cfg file, it overrides the apiKey in the config.json file.

To send additional custom arguments, add them after the flags. For example, customArgName1 customArgValue1 customArgName2 customArgValue2. Parse custom arguments by adding {{_payload.customArgName}} to wherever is needed in the input fields. Read more about dynamic properties.

Method 3: Configure from script

Configure apiKey and nagios_server from send2jsm.go script. To use this option, build the script again and put the new executable to /usr/bin directory. Find information about the location of the send2jsm.go and how to build a go script in the "Source for send2jsm and recompiling" section.

Define Jira Service Management as Contact

  1. Log in to your OP5 monitor.

  2. Go to the /opt/monitor/etc directory to find nagios.cfg.
    cd /opt/monitor/etc

  3. Add the following line to the main Nagios configuration file (nagios.cfg).

    1 2 3 ... cfg_file=jsm.cfg ...
  4. Reboot the monitor to see the "jsm" contact in the contact list.

  5. Add the contact "jsm" to the OP5 Monitor’s main contact group.

If everything goes well, alerts are created in Jira Service Management for every notification created in OP5.

Map alert actions

You can define mappings between Jira Service Management actions and OP5 actions (also when the source of the alert is OP5), which requires additional authentication for your OP5 account.

  • Username: The username of your OP5 account

  • Password: The password of your OP5 account

  • OP5 Monitor URL: This is the domain name of your OP5 Monitor. For example: https://19.167.1.143

For alerts created by OP5

In the Send alert updates back to OP5 section, map Jira Service Management actions to OP5 actions when the source of the alert is OP5 (when the alert is created by OP5 integration itself). Map different Jira Service Management actions to different OP5 actions. For example, acknowledge the alert in OP5, when the alert is acknowledged from OP5. To do this, define If alert is acknowledged in Jira Service Management, acknowledge in OP5 mapping in Send alert updates back to OP5 section. 

Configure Jira Service Management to update OP5

This step is optional.

Use Jira Service Management’s JEC and the OP5 script to update alerts on OP5. This enables deployment of your own scripts/ability to modify the ones provided and execute customized actions on OP5. To execute actions in OP5, JEC gets the configuration parameters from the configuration file. The configuration file is found under /home/jsm/jec/conf/jec-config.json.

Configuration parameters

  • url – JEC posts alert actions to an endpoint which is constructed using this URL.

  • username – JEC uses your OP5 account's username to authenticate.

  • password – JEC uses your OP5 account's password to authenticate.

The package that you downloaded also includes JEC utility which is located under /usr/local/bin and the script that is needed to be run by JEC which is under /home/jsm/jec/scripts. After the configuration of JEC is done, be sure to run it. Read more about running JEC.

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. Find out how to install go. The executable in the plugin is built for linux/amd64 systems.

FAQ and troubleshooting

If the integration is not working, review this section and follow the guidance prescribed:

1. OP5 alerts are not getting created in Jira Service Management

Run the following test command from the shell. Check if the test alert is created in Jira Service Management:

/home/jsm/jec/scripts/send2jsm -entityType=host -t=PROBLEM -hs=DOWN -hn=test_host

If "Trace/breakpoint trap" error occurs: It means the send2jsm plugin isn't compatible with the server distribution. Follow the "Source and Recompiling send2jsm" section on this page and rebuild send2jsm.go according to the specific server environment.

If the alert is created in Jira Service Management: It means the integration is configured correctly. The problem might be that OP5 is not notifying the Jira Service Management contact for alerts. Check the OP5 alert notifications log.

If not: Check the log files under /var/log/jec. Look for the following errors in the log file:

  • If a "RestException[Could not authenticate.]" error appears in the logs, it means Jira Service Management couldn't identify your API key. Check if the API key is set correctly, as explained in "Configure OP5 Package in OP5 Monitor" on this page.

  • If "Could not execute this action with apiKey of [OP5] integration" appears in the logs, the wrong integration package may have been downloaded. Make sure to download the OP5 integration package.

  • If unsure of the problem, set the plugin's log level to debug, try again, and contact us and send the logs. If there is no log files under /var/log/jec file, or there are no logs in it, check the following:

  1. First, make sure the nagios user has permission to write to /var/log/jec directory. The installation package automatically does this for you. If you encounter problems, execute chown -R nagios:nagios:jsm /var/log/jec.

  2. Now check the OP5 server logs under /var/log/jec. See if there are error logs regarding send2jsm, and contact us with them.

Set log level of send2jsm plugin to DEBUG

Change the line send2jsm.logger=warning to nagios2jsm.logger = debug in /home/jsm/jec/conf/integration.conf file.

Configure Jira Service Management to update Zenoss

Set the send2jsm plugin's log level to DEBUG. Open the /home/jsm/jec/conf/integration.conf file and change the line zenoss2jsm.logger=warning to zenoss2jsm.logger=debug.

2. The OP5 alert is not acknowledged when acknowledged in Jira Service Management

  1. First, check your alert logs.

  • If a "Posted [Acknowledge] action to OP5.." error does not appear in the log, it means Jira Service Management didn't send the Acknowledge action to OP5. Check the integration configuration, it might not have matched the alert action.

  • If a "Executed [Acknowledge] action via JEC with errors." error appears in the log, it means the op5ActionExecutor.groovy script in JEC has encountered an error. Check the log files under /var/log/jsm/ for error logs.

  • If the "Posted [Acknowledge] action to OP5.." is the only error to appear in the log and no related log after that, it might mean JEC is having connection problems. Check the log files under /var/log/jsm/ for error logs.

If no logs exist, restart JEC and try sending an Acknowledge action again.

3. Could not open OP5 RPM package

  • If you figure out while installing the rpm package that the package is obsolete, use rpm -i jsm-op5-1.0.4-rpm-x86-64.rpm --nodeps instead.

  • If you get "is already installed" error, use rpm -i jsm-op5-1.0.4-rpm-x86-64.rpm --force instead.

If unsure of the problem, set the JEC's script log level to “debug” and try again. Contact us with the log files found under /var/log/jsm/.

Still need help?

The Atlassian Community is here for you.