From OpenNMS
Contents |
Summary
OpenNMS can support acknowledgement state synchronization from Hyperic HQ. To get the integration to work, you must add an OpenNMS HQU plugin to Hyperic that allows access to the alert states and then enable a process within OpenNMS's Ackd process that will use the Hyperic extension to synchronize the alert statuses. (The development specification for this feature is here.)
Export Hyperic Alerts with OpenNMS
To use this feature, you must first already be exporting Hyperic alerts to OpenNMS. Instructions for doing this are at the Hyperic-OpenNMS integration instructions on the Hyperic web site under the heading "Alert OpenNMS Action".
Install the AlertStatusController.groovy HQU plugin on Hyperic
To allow external access to alert statuses, you need to install the alertStatus HQU plugin on your Hyperic server. This script is currently in the OpenNMS contrib directory but we expect to have it integrated into future versions of Hyperic HQ.
To install the plugin, you just need to copy the file from the OpenNMS contrib directory into the Hyperic HQ webapp like this:
cp -i /opt/opennms/contrib/hyperic-integration/opennms/app/AlertStatusController.groovy \
/opt/hyperic/server-current/hq-engine/server/default/deploy/hq.ear/hq.war/hqu/opennms/app/AlertStatusController.groovy
Check the value of eventsource
When Hyperic HQ forwards alerts to OpenNMS, it sets a parameter that identifies the Hyperic server where the event originated. This value is stored in the eventsource field. Check the events in your database to verify the value of this parameter. It defaults to HQ but if you have multiple Hyperic HQ servers forwarding alerts to OpenNMS, there may be multiple unique values in this field.
SELECT DISTINCT eventsource FROM events WHERE eventuei = 'uei.opennms.org/external/hyperic/alert';
Enable HypericReader plugin for Ackd
To enable synchronization from each of the Hyperic HQ systems that are sending you Hyperic alerts, you need to configure the HypericReader plugin for Ackd. The plugin's configuration is inside /opt/opennms/etc/ackd-configuration.xml but it is disabled by default.
To enable it, find the <reader reader-name="HypericReader"> XML tag and change it from enabled="false" to enabled="true". Then, you need to add configuration parameters for each of the Hyperic HQ systems that are sending alerts to your OpenNMS system.
Remember the eventsource values that we found in the database before? Add a configuration parameter for each of those values to the Ackd configuration. For instance, if you have one Hyperic HQ system that is sending events to OpenNMS, this is the configuration you need:
PostgreSQL query
opennms=# select distinct eventsource from events where eventuei = 'uei.opennms.org/external/hyperic/alert'; eventsource --------------- HQ (1 row)
Ackd Reader Configuration
...
<reader enabled="true" reader-name="HypericReader">
<reader-schedule interval="180" unit="s"/>
<!-- This parameter associates Hyperic platform IDs with URLs that provide alert status lists -->
<parameter key="source:HQ" value="http://user:password@hyperic.mycompany.com:7080/hqu/opennms/alertStatus/list.hqu" />
</reader>
...
Just make sure you associate each eventsource value (such as HQ) with a <parameter key="source:HQ" value="http://user:password@hyperic.mycompany.com:7080/hqu/opennms/alertStatus/list.hqu"/> tag in the configuration file.
Version History/Availability
- This feature was added in version 1.7.10






