======================================================================
                     Halcyon Monitoring Solutions
                          www.HalcyonInc.com

                       Neuron Management Suite 
                            Version 1.16.0

                           README.reverseAck
======================================================================


Overview
======================================================================
This README.reverseAck file describes how to reverse acknowledge 
Halcyon Neuron Management Suite events from IBM Tivoli, IBM Tivoli 
Netcool, and HP Openview Operations Manager or Network Node Manager 
event lists. This is achieved by executing the ReverseAcknowledge.sh 
script, which sends an SNMP trap to Halcyon Neuron Management Suite 
where the event was initially recorded. 

The following sections contain the reverse acknowledgement configuration
instructions:
    1. Definitions
    2. Reverse Acknowledgement Configuration: IBM Tivoli
    3. Reverse Acknowledgement Configuration: IBM Tivoli Netcool
    4. Reverse Acknowledgement Configuration: HP Openview 


Definitions
======================================================================
Neuron      The server where the Halcyon Neuron Management Suite is
Management  installed and running.
Server

Neuron      The Halcyon Neuron Management Suite is the framework that
Management  is central to all Halcyon Neuron Integration products as
Suite       well as the Neuron Management Portal.

BASEDIR     The base directory where the Halcyon Neuron Management
            Suite was installed. The default value is /opt/HMF. To
            determine the value of BASEDIR, run one of the following
            commands:

            On a Solaris host (for Solaris 10+ zoned environment,
            this must be a non-sparse root zone):

                # pkgparam HALhmfcom BASEDIR

            On a Linux host:

                # rpm -q --queryformat '%{INSTPREFIXES}\n' HALhmfcom

LOCALDIR    The configuration and logfile directory of the Halcyon
            Neuron Management Suite. By default this is /var/opt/HMF.
            To determine LOCALDIR, run on of the one of the following
            commands:

            On a Solaris host (for Solaris 10+ zoned environment,
            this must be a non-sparse root zone):

                # pkgparam HALhmfcom LOCALDIR

            On a Linux host:

                # cat [BASEDIR]/globalInstallVariables | grep LOCALDIR



2. Reverse Acknowledgement Configuration: IBM Tivoli
======================================================================
1) Copy the ReverseAcknowledge.sh script and the snmptrap binary from 
   Halcyon Neuron Management Suite host to the Tivoli Server host in the 
   $BINDIR/TME/TEC directory. This script and the snmptrap binary are 
   located in the [BASEDIR]/bin directory on the Halcyon Neuron
   Management Suite host.

   The ReverseAcknowledge.sh script must be executable by root and located 
   in a file system contained in the PATH variable on the Tivoli Server. 
   The snmptrap binary must be placed in the same directory as this script.
   By default, the ReverseAcknowledge.sh script looks for the snmptrap 
   binary in the same directory. The snmptrap binary mentioned above has
   been tested on a Solaris system. If the Tivoli Server host is not a Solaris 
   host, you need to modify the ReverseAcknowledge.sh script to use an
   snmptrap binary that is available.

   NOTE:
       The ReverseAcknowledge.sh script is intended for reference purposes 
       only. Customizations may be required in order to support your 
       environment. For more details on these requirements, review the 
       ReverseAcknowledge.sh script.

2) Create a new Tivoli rule base

       # wrb -crtrb -path <rulebase_path> <rulebase>

3) Import the file "TivoliAdapter.baroc" to an existing rule base:

       # wrb -imprbclass TivoliAdapter.baroc <rulebase>

4) Import the rules file "TivoliAdapter.rls" to an existing rule base

       # wrb -imprbrule TivoliAdapter.rls <rulebase>

5) Compile the modified rule base

       # wrb -comprules <rulebase>

6) Load the modified rule base

       # wrb -loadrb -use <rulebase>

7) Restart the Tivoli event server

       # wstopesvr
       # wstartesvr

8) Verify that the events from Halcyon Neuron Management Suite 
   are reaching the TEC console. 



3. Reverse Acknowledgement Configuration: IBM Tivoli Netcool
======================================================================
Prior to configuring Netcool Omnibus to send remote acknowledgements
of Halcyon Neuron Management Suite events, the following conditions 
must be met:

   *  A Netcool Omnibus Process Agent must be installed and running
      on the Netcool ObjectServer, and must be configured to execute
      external procedures.

      Consult your Tivoli Netcool/OMNIbus administrator if you require
      assistance in installing or configuring the Netcool Process Agent.

   *  Copy the ReverseAcknowledge.sh script from Halcyon Neuron 
      Management Suite host to the Netcool Omnibus ObjectServer host.  
      This script is located in the [BASEDIR]/bin directory on the 
      Halcyon Neuron Management Suite host. The ReverseAcknowledge.sh
      script must be executable.

   *  An appropriate snmptrap binary must be available on the Netcool
      ObjectServer host. By default, the ReverseAcknowledge.sh script
      looks for the snmptrap binary in the same directory. If the
      Netcool ObjectServer host is a Solaris host, we recommend using
      the snmptrap binary that is shipped with Halcyon Neuron Management 
      Suite. The snmptrap binary is located in the [BASEDIR]/bin 
      directory on Halcyon Neuron Management Suite host. Copy it to 
      the same location as the ReverseAcknowledge.sh script.

   *  It is strongly recommended that a new Alert Class be created in
      all Netcool ObjectServers expected to receive events from Halcyon
      Neuron Management Suite. For example, the new Alert Class could be called
      "Halcyon Neuron Integration". This allows greater flexibility
      and ease in identifying and managing Halcyon Neuron Management Suite events
      in a Netcool environment.

      Remember that the class id of events originating from Halcyon
      Neuron Management Suite must be updated accordingly in the mttrapd.rules to
      match the id of the newly created Omnibus class.

There are several methods that can be used to achieve automated reverse
acknowledgement of Halcyon Neuron Management Suite events in a Netcool environment.
One of the simplest methods is through the use of database triggers to
detect the [local] acknowledgement of a Netcool alert and then forward
the acknowledgement to Halcyon Neuron Management Suite.

The following steps are required to configure Netcool for alarm status
integration with Halcyon Neuron Management Suite:

   1) Create an External Procedure to call the ReverseAcknowledge.sh script
   2) Create a Trigger Group
   3) Create a Database Trigger to reverse acknowledge Halcyon Neuron
      Management Suite events


Launching the Netcool/OMNIbus Administrator Utility
-------------------------------------------------------------------------
   1) Launch the Netcool administration utility with the following command

          # ${OMNIHOME}/bin/nco_config

   2) Select the View dropdown menu and select ObjectServers
   3) Right-click the desired ObjectServer and select the 'Connect As...' option
   4) Provide login credentials for the ObjectServer.

Creating an External Procedure
-------------------------------------------------------------------------
   1) Launch the Netcool/OMNIbus Administrator
   2) Expand the Automation menu in the side bar
   3) Select the Procedures icon
   4) Right-click the Procedures window and select 'Add External Procedure'
      from the popup menu
   5) Configure the procedure, for example,
        In the External Procedure Details window, in the 'Name:' field, type
            "Halcyon_Neuron_Integration_Reverse_Ack_Event".
        In the 'Parameters' list, add the following two parameters:
            "in HalcyonNeuronManagementSuiteHost Char(64)"
            "in HalcyonNeuronManagementSuiteEventId Char(10)"
        In the 'Executable:' field, select the ReverseAcknowledge.sh script
        from the location where it is stored.
        In the 'Arguments:' text box, type
            '-host \'' + HalcyonNeuronManagementSuiteHost + '\' -alarmid \'' + HalcyonNeuronManagementSuiteEventid + '\''

      Note that the full usage information of the ReverseAcknowledge.sh script
      is as follows:

           ReverseAcknowledge.sh -host <host>[:<port>] -alarmid <alarmid>
                 [-c <community>] [-oid <oid>] [-user <username>] [-reason <reason>]

      In order to override any of the default values, additional parameters
      must be added to the Parameters list and specified in the Arguments text box.

Creating a Trigger Group
-------------------------------------------------------------------------
   1) Launch the Netcool/OMNIbus Administrator
   2) Expand the Automation menu in the side bar
   3) Select the Trigger Group icon
   4) Right-click the Trigger Groups window and select 'Add Trigger Group'
      from the popup menu
   5) Specify a Group Name, e.g. "halcyon_neuron_integration", and ensure
      that the group is enabled.

Creating a Database Trigger
-------------------------------------------------------------------------
   1) Launch the Netcool/OMNIbus Administrator
   2) Expand the Automation menu in the side bar
   3) Select the Triggers icon
   4) Right-click the Triggers window and select 'Add Database Trigger'
      from the popup menu
   5) Click the 'Settings' tab and configure the Settings tab. For example:
        Select "alerts" and "status" for 'On' field.
        In the 'Run' box, select '20' for Priority, check 'Pre database
        action' and check 'Update'.
        Check 'Row' for 'Apply to' field.
        Check 'Enabled' for 'State' field.
   6) Click on the 'When' tab and add the following conditions
          old.Class = <Halcyon Neuron Integration Alert Class id> and
          old.Acknowledged = 0 and
          new.Acknowledged = 1

      The <Halcyon Neuron Integration Alert Class id> refers to the
      ObjectServer Alert class that was created to refer to Halcyon Neuron
      Management Suite events. Refer to previous instructions or ask your Netcool
      administrator for assistance.
   7) Click on the 'Action' tab and add the following statements
          begin
          execute procedure <procedure name>(nvp_get(new.ExtendedAttr,
                'HalcyonNeuronManagementSuite_RevAck'), nvp_get(new.ExtendedAttr,
                'HalcyonNeuronManagementSuite_EventId'))
          end

      where <procedure name> is the name of the procedure created in
      "Creating an External Procedure" section.
   8) If additional input parameters were added to the external procedure
      created in a previous step, ensure that the procedure is called
      with the correct number of arguments.
   9) Click on the 'Comment' tab and add comments as necessary



4. Reverse Acknowledgement Configuration: HP Openview 
======================================================================
The Halcyon Neuron Management Suite host name, its SNMP port number 
(default is 2162), the Halcyon Neuron Management Suite event id are 
required to perform reverse acknowledgment and can be obtained from 
the varbinds of the SNMP trap sent from the Neuron Integration for 
HP OpenView to OVO.

Prior to configuring HP Openview to send remote acknowledgements of
Halcyon Neuron Management Suite events, the following conditions 
must be met:

    * By default, the ReverseAcknowledge.sh script looks for the
      snmptrap binary in the same directory. The script may also
      be modified to call any snmp utility.

      If the HP Openview managed node host is a Solaris host, we
      recommend using the snmptrap binary that is shipped with Halcyon
      Neuron Management Suite. The snmptrap binary is located in the 
      [BASEDIR]/bin directory on Halcyon Neuron Management Suite host.
      Copy it to the same location as the ReverseAcknowledge.sh script.

      In order to successfully reverse acknowledge Halcyon Neuron
      Management Suite events from the HP console, the user who launched the
      HP console must have /opt/OV/bin/ listed in their PATH.

    * The following utilities must be copied from Halcyon Neuron
      Management Suite host to the HP Openview managed node host and 
      be executable:
          - [BASEDIR]/bin/ReverseAcknowledge.sh
          - [BASEDIR]/bin/OpenViewAdapter-ReverseAckWrapper-OVOM.sh
          - [BASEDIR]/bin/OpenViewAdapter-ReverseAckWrapper-NNM.sh

      Note that the above files may be copied to any directory on the
      HP Openview host that is readable by the HP console user. However,
      the files should be copied to the same directory on the HP Openview
      host.

Detailed instructions on configuring both Operations Manager and Network
Node Manager to perform reverse acknowledgment of Halcyon Neuron Management 
Suite events can be found in the following sections:
    4.1 Configuring Reverse Acknowledgement of Halcyon Neuron 
        Management Suite events from HP Openview Operations Manager
    4.2 Configuring Reverse Acknowledgement of Halcyon Neuron 
        Management Suite events from HP Network Node Manager


4.1 Configuring Reverse Acknowledgement of Halcyon Neuron Management 
    Suite events from HP Openview Operations Manager
----------------------------------------------------------------------
Ensure HP Operations Manager is configured to include the Halcyon
Neuron Management Suite eventId ($10 in the SNMP traps sent from Halcyon 
Neuron Management Suite) and eventAckHost ($14 in the SNMP traps sent 
from Halcyon Neuron Management Suite) in the message key, as: <$10>@<$14>

4.1.1 Create an OVO Application to execute the
      OpenViewAdapter-ReverseAckWrapper-OVOM.sh utility:

   1) Open the Application Bank window.
   2) Open the Actions menu and select the Add Application Group... option.
   3) Create an application group to hold NeuronIntegration applications.
   4) From the Application Bank window, enter the newly created
      NeuronIntegration application group.
   5) Open the Actions menu and select the Add OVO Application...
   6) Create an application to have similar values as the following example.
      Ensure that the correct path to the OpenViewAdapter-ReverseAckWrapper-OVOM.sh
      utility is provided.

      Example:
           Application Name      - NeuronIntegration_ReverseAck
           Label                 - Halcyon Neuron Integration Reverse Acknowledge
           Description           - Halcyon Neuron Integration Reverse Acknowledge event
           Application Call      - OpenViewAdapter-ReverseAckWrapper-OVOM.sh
           Additional Parameters - $OPC_MSG.MSG_KEY
           Start on Management Server (checked)
           Execute as User:
             User Name           - root
           Presentation          - Window (Output Only)


4.1.2 Assign the EventAction application to a user:

   1) Open the User Bank window.
   2) Select the user responsible for monitoring Halcyon Neuron Cor events.
   3) Open the Modify User window.
   4) Click the Applications... button.
   5) Add the NeuronIntegration OVO Application created above to the
      User Applications window


4.1.3 Execute the Remote Acknowledgment Application:

   In order to reverse acknowledge Halcyon Neuron Management Suite events 
   from within the HP Openview event list, the user must be logged into 
   the HP OVOM Java console.

   1) Launch the HP OVO java console.
   2) Login to a user account that has access to Halcyon Neuron 
      Management Suite events and the NeuronIntegration application.
   3) Locate a Halcyon Neuron Management Suite event in the event list.
   4) Right click the selected event and find the NeuronIntegration
      application within the Start menu.
   5) If the alarm was acknowledged successfully, the status of the
      Halcyon Neuron Management Suite event will change to normal (green).


4.2 Configuring Reverse Acknowledgement of Halcyon Neuron
    Management Suite events from HP Network Node Manager
----------------------------------------------------------------------
Ensure HP Operations Manager is configured to include the following
Halcyon Neuron Management Suite SNMP trap information in the HP event message:
    - eventId: $10 in the SNMP traps sent from Halcyon Neuron Management Suite
    - eventHost: $1 in the SNMP traps sent from Halcyon Neuron Management Suite
    - eventSeverity: $5 in the SNMP traps sent from Halcyon Neuron Management Suite
    - eventMessage: $6 in the SNMP traps sent from Halcyon Neuron Management Suite

For example:
    The HP Event Message could be set to:
       Halcyon Neuron Integration Open Event ($10) on $1:$5 - $6


4.2.1 Create a user-defined action to run the
      OpenViewAdapter-ReverseAckWrapper-NNM.sh script

   1) Open the Event Configuration window from the NNM Options menu.
   2) Select the Additional Actions... option located in the Configure
      submenu of the Edit menu.
   3) Add a new action which calls the OpenViewAdapter-ReverseAckWrapper-NNM.sh
      script using the following format:

          OpenViewAdapter-ReverseAckWrapper-NNM.sh -host <host>[:<port>]
             -regex <expr> [-c <community>] [-oid <oid>] [-user <username>][-reason <reason>]

      The following options are supported:
          -host:   the host name and port number of the Halcyon Neuron
                   Management Suite host; the port number defaults to 2162 if no
                   value is specified
          -regex:  a regular expression utilizing sub-pattern matching
                   to parse the Halcyon Neuron Management Suite event id number
                   from the HP event message string.
          -c:      the SNMP community string configured with Halcyon Neuron
                   Management Suite SNMP Service.  Default is "public".
          -oid:    set to '1.3.6.1.4.1.1242.1.2.20.99' by default and
                   does not need to be overridden.
          -user:   the name of the user responsible for acknowledging the alarm.
          -reason: a brief note regarding the initial alarm, why it was
                   acknowledged, or what actions have or will be taken.

     For example:

     In order to reverse acknowledge an event on the Halcyon Neuron Management Suite
     host 'HostA', using default port 2162 with the community string public,
     and an HP event message as defined in the previous section as
     "Halcyon Neuron Integration Open Event ($10) on $1: $5 - $6";
     the following command is required:

         OpenViewAdapter-ReverseAckWrapper-NNM.sh -host HostA -c public
            -regex 'Halcyon Neuron Integration Open Event (\([1-9][0-9]*\)).*'

   4) Save and close the Event Configuration window.

   5) Highlight one or more Halcyon Neuron Management Suite events in the Alarm Browser.
      Acknowledge the event[s] by selecting Additional Actions... in the
      Actions menu. Select the newly created action and click the OK button.
      A popup window appears to indicate the status of the operation,
      all data printed to stdout is displayed under the status message.


---//---