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.
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:
Go to your team’s operations page.
On the left navigation panel, select Integrations and then Add integration.
Run a search and select “Zenoss”.
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 API key.
You will use this key while configuring the integration in Zenoss 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 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, their location, and states if they are mandatory.
Configure the golang-executable file in any of the following three methods:
Configure triggers in Zenoss
Select Events > Triggers from the Navigation menu.
Create a trigger named Jira Service Management.
Select Events > Triggers from the Navigation menu.
Select Notifications from the left panel.
Create a notification.
Select the notification created earlier and select Edit.
Under the "Notification" tab, enable the notification and select the "Send Clear" checkbox.
Select the trigger you created earlier from the list and select Add.
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}
Under the "Subscribers" tab, select the subscribers and select SUBMIT.
Configure Jira Service Management to update Zenoss
This step is optional.
You can combinedly use JEC and Zenoss script to update alerts on PRTG. With this setup, you can deploy your own script, modify the ones provided, or run customized actions on PRTG. To run actions in Zenoss, 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.
The Zenoss integration package does not support SSL v1.0. If your Zenoss 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
1. Zenoss alerts are not getting created in Jira Service Management
Run the following test command from the shell and check if a test alert is created in Jira Service Management:
/home/jsm/jec/scripts/send2jsm -test
If you get a "Trace/breakpoint trap" error, the send2jsm plugin isn't compatible with the server distribution. Rebuild send2jsm.go according to the specific server environment as described in https://operations-help.atlassian.net/wiki/spaces/OPSHELP/pages/4259932/Integrate+with+Zenoss#Source-for-send2jsm-and-recompiling.
If the alert is created in Jira Service Management, the integration is configured correctly. Zenoss is probably not notifying the Jira Service Management contact for alerts. Check your Zenoss alert notifications log.
If the alert is not created in Jira Service Management, check the logs at /var/log/jec/send2jsm.log.
Look for the following errors in the log file:If you see "RestException[Could not authenticate.]" in the logs, Jira Service Management couldn't identify the API key. Check if the API key is set correctly per the steps outlined in https://operations-help.atlassian.net/wiki/spaces/OPSHELP/pages/4259932/Integrate+with+Zenoss#Configure-the-Jira-Service-Management-plugin-in-Zenoss.
If unsure of the problem, set the plugin's log level to debug and try again. Contact us and share the logs.
If there is no /var/log/jec/send2jsm.log file or there are no logs in it, check the following:
Check if the Zenoss user has permission to write to /var/log/jec directory. The installation package should automatically do this for you. If you face issues, run the following command:
chown -R zenoss:jsm /var/log/jec
Check the Zenoss server logs at /opt/zenoss/log/zeneventd.log. See if there are error logs regarding
send2jsm
. Contact us with the logs as needed.
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 Zenoss alert is not acknowledged when the alert is acknowledged in Jira Service Management
Check the alert logs.
If "Posted [Acknowledge] action to Zenoss.." is not present in the log, Jira Service Management didn't send the Acknowledge action to Zenoss. Check the integration configuration, it might not have a matching the alert action.
If only the "Posted [Acknowledge] action to Zenoss.." log occurs followed by no related logs, it might mean JEC is having connection problems. Check the logs.
3. Could not open Zenoss RPM package
If you figure out while installing the rpm package that the package is obsolete, use
rpm -i jsm-zenoss-1.0.4-rpm-x86-64.rpm --nodeps
instead.If you get "is already installed" error, use
rpm -i jsm-zenoss-1.0.4-rpm-x86-64.rpm --force
instead.
Add Comment