CentricCRM Trouble Ticket Plugin
Subscribe

From OpenNMS

Jump to: navigation, search
!!DRAFT!!

Fault management in the enterprise follows the common objective of alarm resolution but the workflow and the processes involved with getting to resolution are as unique as the corporations themselves. OpenNMS provides a rich set of workflows within it's current fault management capabilities, but often this capability needs to extend further into the enterprise. The corporate helpdesk, for many enterprises and service providers, is the window into IT. With the release of version 1.3.3, OpenNMS now includes a seamless alarm and trouble ticket integration API along with its first implementation. This first implementation was corporate sponsored by a service provider and integrates OpenNMS with CentricCRM's help desk module.

Contents

Overview

Enterprise network management requires seamless integration capabilities with other enterprise systems such as inventory, provisioning, and help desk (trouble ticket) systems. With the release of OpenNMS 1.3.3, OpenNMS now includes a plugin trouble ticket integration strategy that seamlessly integrates with OpenNMS alarms.

The OpenNMS Group, Inc. provides network management professional services for OpenNMS and was called upon to discuss the fault management capabilities of OpenNMS. The OpenNMS consultants quickly recognized the workflow required and within 3 weeks The OpenNMS Group consultants and software engineers completed the configurations and software enhancements necessary to integrate OpenNMS with the corporate workflow. This integration included:

  1. Configuration for the detection of new alarms and initial severities.
  2. Automations that preprocessed alarms setting the correct state (i.e. is this an actionable alarm)
  3. Software enhancements giving OpenNMS the capability to commit/rollback transactions across multiple data sources (i.e. automations that verify an alarm is from a production or test system and change the severity of the alarm)
  4. A trouble ticket plugin API and the CentricCRM plugin implementation.

Implementing CentricCRM Trouble Ticket Plugin

The implementation of the CentricCRM plugin is as simple as the following steps:

  • Download the Plugin jar file from sourceforge
  • Copy the jar to $OPENNMS_HOME/lib
  • Edit the $OPENNMS_HOME/etc/opennms.properties file and change this:
opennms.ticketer.plugin=org.opennms.netmgt.ticketd.NullTicketerPlugin

to this:

opennms.ticketer.plugin=org.opennms.netmgt.ticketer.centric.CentricTicketerPlugin
  • Edit the $OPENNMS_HOME/webapps/opennms/WEB_INF/configuration.properties file and change this:
#opennms.alarmTroubleTicketEnabled = false
#opennms.alarmTroubleTicketLinkTemplate = <a href="http://localhost:8080/centric/TroubleTickets.do?command=Details&id=${id}">${id}</a>

to this:

opennms.alarmTroubleTicketEnabled = true
opennms.alarmTroubleTicketLinkTemplate = <a href="http://<your centric server host>:8080/centric/TroubleTickets.do?command=Details&id=${id}">${id}</a>
  • Edit the $OPENNMS_HOME/lib/centric.properties file and change the following to match an associated Sync Client Record in CentricCRM under Admin -> Configure System -> HTTP-XML API Client Manager.
connection.url=http://localhost:8080/centric
connection.id=localhost
connection.code=opennms
connection.clientId=1
connection.url=http://<your centric server>:8080/centric
connection.id=<Sync Client Name>
connection.code=<Sync Client Code>
connection.clientID=<Sync Client ID>

You'll also need to set several mandatory ticket-level properties in this file:

orgId ; Numeric identifier of a Centric account with which tickets will be associated
contactId ; Numeric identifier of a Centric contact with which tickets will be associated (should probably be associated with the account specified in orgId)
priorityCode ; Priority code (may not be required, I've got it set to 1)
enteredBy ; Numeric ID of a Centric contact who entered this ticket. I'm told that a value of 0 has special meaning and is legal.
modifiedBy ; Numeric ID of a Centric contact who modified this ticket, for creation best to set equal to enteredBy. I'm told that a value of 0 has special meaning and is legal.

Example:

orgId=1
contactId=2
priorityCode=1
enteredBy=1
modifiedBy=1

Building the Centric-Plugin from source

  1. Follow the instructions in the OpenNMS Wiki for Checking out the Source Code from the SourceForge repository and building OpenNMS.
  2. Download the CentricCRM tools jar from the OpenNMS Maven repository.
cd opennms-tools/centric-troubleticketer
 ../../build.sh -Dcentric.tools.jar=/Users/david/Development/src/centric/branch-41/dist/centric_crm_tools-4.1.jar clean
 ../../build.sh -Dcentric.tools.jar=/Users/david/Development/src/centric/branch-41/dist/centric_crm_tools-4.1.jar package assembly:attached

Version History/Availability