Integrate with Zenoss

Overview

What does the integration offer?

The Zenoss integration plugin utilizes the full capabilities of Jira Service Management and provides bi-directional integration with Zenoss. The integration leverages Jira Service Management’s Zenoss-specific executable and JEC utility to create alerts automatically and synchronizes alert status between Zenoss and Jira Service Management.

Set up the integration

The following steps describe integrating Jira Service Management and Zenoss using the Jira Service Management Zenoss integration plugin. Note that slight alteration to these instructions may be necessary depending on the exact Linux distribution and your Zenoss 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 Zenoss

Jira Edge Connector (abbreviated as JEC) is a prerequisite for configuring the outgoing authentication of Zenoss integration. You can combinedly use JEC and Zenoss scripts to update alerts on Zenoss. With this setup, you can deploy your own script, modify the ones provided, or run customized actions on Zenoss. Download the latest version of the Zenoss package from this repository.

Run the following command: 

rpm -i jsm-zenoss-<your_version>.rpm

Before rpm upgrades, back up your configuration files.

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

Learn more about config file handling for rpm upgrades.

Run the following command: 

dpkg -i jsm-zenoss-<your_version>.deb

Add Zenoss integration

If you're using the Free or Standard plan in Jira Service Management, you can only add this integration from your team’s operations page. 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 Zenoss integration in Jira Service Management:

  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 “Zenoss”.

  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 API key.
    You will use this key while configuring the integration in Zenoss later.

  8. 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 Zenoss

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.

Configuration Parameters

Description

Mandatory?

Configuration Parameters

Description

Mandatory?

apiKey

Copy the URL from the integration configuration page in Jira Service Management. send2jsm uses this key to authenticate to Jira Service Management. It is also used to identify the right integration configuration that should be used to process alerts.

Yes

baseUrl

Change this field according to your Jira Service Management environment (For example: EU, sandbox)

 

zenoss.command_url

The URL to fetch detailed event data from Zenoss in send2jsm

No

zenoss.user

User credentials to authenticate to the Zenoss web server

No

zenoss.password

User credentials to authenticate to the Zenoss web server

No

responders

The default responder. This field is used to specify which responders should be notified for Zenoss alerts. You can modify it to route alerts to different teams or schedules in Jira Service Management. This field is required if you haven’t set responders in the integration configuration page.

No

tags

The tags of the alert created in Jira Service Management

No

logPath

The full path to the log file. (Default: /var/log/jec/send2jsm.log)

No

zenoss2jsm.http.proxy.enabled

To enable or disable the external proxy configuration. Default: false

No

zenoss2jsm.http.proxy.host

Host of the proxy

No

zenoss2jsm.http.proxy.port

Port of the proxy

No

zenoss2jsm.http.proxy.scheme

The proxy connection protocol. It may be http or https, depending on your proxy servers. Default: http

No

zenoss2jsm.http.proxy.username

The username for proxy authentication

No

zenoss2jsm.http.proxy.password

The password for proxy authentication

No

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

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

Configure by entering flags into the command of the notification created in Zenoss, described in https://operations-help.atlassian.net/wiki/spaces/OPSHELP/pages/4259932/Integrate+with+Zenoss#Configure-triggers-in-Zenoss. Use -apiKey flag for your apiKey.

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. To learn more about using raw parameters, see dynamic fields.

Configure triggers in Zenoss

  1. Select Events > Triggers from the Navigation menu.

  2. Create a trigger named Jira Service Management.

  3. Select Events > Triggers from the Navigation menu.

  4. Select Notifications from the left panel.

  5. Create a notification.

  6. Select the notification created earlier and select Edit.

  7. Under the "Notification" tab, enable the notification and select the "Send Clear" checkbox.

  8. Select the trigger you created earlier from the list and select Add.

  9. Under the "Content" tab:
    Add optional -eventState=close to Clear Command. send2jsm executable does not try to get event details from Zenoss and directly closes the event's alert in Jira Service Management. /home/jsm/jec/scripts/send2jsm -evid=${evt/evid}

  10. Under the "Subscribers" tab, select the subscribers and select SUBMIT.

Configure Jira Service Management to update Zenoss

This step is optional.

Use JEC and the script to update alerts on Zenoss. This enables deployment of your own scripts/ability to modify the ones provided and execute customized actions on Zenoss. To execute actions in Zenoss, JEC gets the configuration parameters from the configuration file at /home/jsm/jec/conf/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.

The Zenoss integration package does not support SSL v1.0. If your Zenoss server has SSL v1.0, upgrade your SSL server.

Source for 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.


See also

https://operations-help.atlassian.net/wiki/spaces/OPSHELP/pages/2129963

https://operations-help.atlassian.net/wiki/spaces/OPSHELP/pages/4653078