Page tree
Skip to end of metadata
Go to start of metadata

Overview

HP Operations Manager (OMi) is an automated IT operations management software application. HP OMi provides automated monitoring, root cause identification and prioritization, with automated remedial action.

The HP OMi LAM fetches events from the HP OMi and forwards it to Moogsoft AIOps.

Process Overview

  1. LAM reads the configuration from the  hp_omi_lam.conf file.
  2. LAM connects to HP OMi REST API with given host name.
  3. The response is received with event data in json format.
  4. Events are parsed and converted into normalized Moogsoft AIOps events.
  5. The normalized events are then published to MooMS bus.

HP OMi LAM Configuration

The alarms received from HP OMi are processed according to the configurations in the hp_omi_lam.conf file. The processed alerts are published to Moogsoft AIOps.

The configuration file contains a JSON object. At the first layer of the object, the LAM has a parameter called config, and the object that follows config has all the necessary information to control the LAM.

The following sections are available for configuration in the hp_omi_lam.conf file.

Monitor

The HP OMi LAM takes the alerts from the HP OMi Server. The user can configure the parameters here to establish a connection with HP OMi.

config :
    {

        monitor:
        {

            name                     : "HpOmi Lam Monitor",

            class                    : "CHpOmiMonitor",

            url		                 : "http://<ip-address:80>",

            user_name                : "user_name",

            password                 : "password",

            # encrypted_password     : "ieytOFRUdLpZx53nijEw0rOh07VEr8w9lBxdCc7229o=",

            events_date_format       : "yyyy-MM-dd'T'HH:mm:ss.SSSXXX",

            event_uri				 : "/opr-web/rest/9.10/event_list",

            ssl 				     : false,

            ssl_keystore_file_path   : "usr/local/hpomi_ssl/keystore.jks",

            ssl_keystore_password    : "",

            polling_interval         : 10,

            max_retries              : 10, 

            retry_interval           : 60,
			
			timeout					 : 120

		},
  


  • name and class: These fields are reserved and should not be changed the default values are HpOMi Lam Monitor and CHpOMiMonitor respectively
  • url: Enter the IP address or the host name or the FQDN of the HP OMi server along with the port on which it will communicate, e.g. http://myhpomi:80. In case of SSL communication, use https, instead of http, e.g. https://myhpomi:443

  • user_name and password: Enter the username and password for accessing the HP OMi console

    The username and the password of user who has the permissions of handling all the events should be given here. If the user does not have permissions for handling all the events, then the LAM will not fetch all the events present in HP OMi

  • encrypted_password: If encrypted password is to be entered, then enter the encrypted password in the encrypted_password field and comment the password field. At a time either password or the encrypted_password field is used. If both the fields are not commented, then the field encrypted_password will be used by the HP OMi LAM
  • events_date_format: The format of the date/time in event response. The possible value would be like "yyyy-MM-dd'T'HH:mm:ss" or "yyyy-MM-dd'T'HH:mm:ss.SSSXXX".  If this value is set to blank then event date/time will be epoch time

    If the date format of the received events is in a format other than epoch time, and the field events_date_format is left blank, then the LAM receives duplicated events which may lead to increase in the count of the received events in the Moogsoft AIOps GUI.

  • event_uri: This is the uri of the REST Server from which the events will be fetched e.g. /opr-web/rest/9.10/event_list. The version given here is 9.10 i.e. the current version of the OMi Event Web Service (not the current OMi version). If the version number is omitted, versions lower than 9.10 of the Event Web Service are addressed. The user can change the version in case there is an upgrade of the API of HP OMi

  • ssl: Enter true here, to enable SSL Communication

  • ssl_keystore_file_path: Enter the path of the keystore file. This is the path where the generated keystore file is copied in Moogsoft AIOps, e.g. "/usr/local/hpomi_ssl/keystore.jks"

  • ssl_keystore_password: Enter the password of keystore

  • polling_interval: The polling time interval between the requests after which the event data is fetched from HP OMi. The polling interval is entered in seconds

    The default value is set to 10 seconds, if 0 is entered in this field then the time interval is by default set to 10 seconds

  • max_retries: The maximum number of retry attempts to reconnect with HP OMi in case of a connection failure

    The default value is set to 10, if 0 is entered in this field then the LAM by default takes the value 10 and will try at least 10 times to reconnects

    If all the number of retries are exhausted, then an alert is sent to Moogsoft AIOps about the connection failure. For re-establishing the connection the LAM has to be restarted

  • retry_interval: The time interval between two successive retry attempts

    The default value is set to 60 seconds, if 0 is entered in this field then the time interval is by default set to 60 second

  • timeout: If for any reason the response is not received from the Server against a request, then the LAM discards the request after waiting for some time. The time that the LAM waits before discarding is given here in the timeout field. For example, If the timeout field has 120 entered in it, then the LAM will wait for 120 seconds for a response from the server, against a request. If no response is received for 120 seconds, then the LAM discards the request and sends a new request

The HP OMi has the functionality of duplicating events within its event browser. The LAM does not fetch all the duplicated events, instead it will fetch only the single event which is duplicated into multiple events

Agent

Agent allows the user to define two parameters:

agent:
        {
                name    : "HP OMi"
                #log    : "/var/log/moogsoft/hp_omi_lam.log"
        },


The above example specifies:

name: This is the agent name, the events sent to MooMS by the HP OMi LAM are identified by the agent name in the log. In this example the agent name is HP OMi

log: In this instance, the HP OMi LAM will write its ingress contents in the file hp_omi_lam.log located at the location /var/log/moogsoft/

HA Configuration

Refer the document HA Configuration of LAM

Mapping

For alerts received from HP OMi, a user can directly map the alert fields of HP OMi with Moogsoft fields. The parameters of the received alert are displayed in Moogsoft AIOps according to the mapping done here.

mapping :
        {
            catchAll: "overflow",
            rules:
            [
                { name: "signature", rule:      "$originating_server.ip_address::$related_ci.configuration_item.root_class" },   
                { name: "source_id", rule:      "$originating_server.ip_address" },
                { name: "external_id", rule:    "$originating_server.dns_name" },
                { name: "manager", rule:        "HP OMi" },
                { name: "source", rule:         "$originating_server.ip_address" },
                { name: "class", rule:          "$state" },
                { name: "agent", rule:          "$LamInstanceName" },
                { name: "agent_location", rule: "$category" }, 
                { name: "type", rule:           "$priority" },
                { name: "severity", rule:       "$severity", conversion:"sevConverter" },
                { name: "description", rule:    "$title" },
                { name: "agent_time", rule:     "$time_changed", conversion:"timeConverter"} 
            ]
        },
        filter:
        {
            presend:"HpOmiLam.js"
        }       


The above example specifies the mapping of the HP OMi alert fields with the Moogsoft AIOps alert fields.

Example of alerts in HP OMi

 

Constants and Conversions

Constants and Conversions allow the user to convert formats of the received data defined users.

constants:
        {
            severity:
            {
            	"unknown"		: 0,
                "normal"        : 1,
                "warning"       : 2,
                "minor"         : 3,
                "major"         : 4,
                "critical"      : 5
            }
           
        },
        conversions:
        {
            sevConverter:
            {
                lookup: "severity",
                input:  "STRING",
                output: "INTEGER"
            },
           
            stringToInt:
            {
                input:      "STRING",
                output:     "INTEGER"
            },
         
            timeConverter:
            {
                timeFormat: "yyyy-MM-dd'T'HH:mm:ss.SSS",
                input:      "STRING",
                output:     "INTEGER"
            }
        },


The above example specifies:

  • Severity and sevConverter: The severity field has a conversion defined as sevConverter in the Conversions section, this looks up the value of severity defined in the severity section of constants and returns back the mapped integer corresponding to the severity
  • stringToInt: It is used in a conversion, which forces the system to turn a string token into an integer value
  • timeConverter: It is used in conversion which forces the system to convert time. If epoc time is to be used, then timeFormat mentioned in timeConverter should be commented. Otherwise, the user should provide the timeFormat

Custom Info

The alarms/events are displayed in the Moogsoft AIOps, the data in the fields of the alarm or event mapped in the mapping section are shown in the respective columns of Moogsoft AIOps columns. The fields of alarms and events which are not mapped in the mapping section are displayed in the Custom Info field of the alarm. An example of Custom Info:

catchALL

The attribute that is never referenced in a rule is collected and placed as a JSON object in a variable called overflow defined here and passed as part of the event.

mapping :
        {
            catchAll: "overflow",
            rules:
            [
                { name: "signature", rule:      "$originating_server.ip_address::$related_ci.configuration_item.root_class" },   
                { name: "source_id", rule:      "$originating_server.ip_address" },
                { name: "external_id", rule:    "$originating_server.dns_name" },
                { name: "manager", rule:        "HP OMi" },
                { name: "source", rule:         "$originating_server.ip_address" },
                { name: "class", rule:          "$state" },
                { name: "agent", rule:          "$LamInstanceName" },
                { name: "agent_location", rule: "$category" }, 
                { name: "type", rule:           "$priority" },
                { name: "severity", rule:       "$severity", conversion:"sevConverter" },
                { name: "description", rule:    "$title" },
                { name: "agent_time", rule:     "$time_changed", conversion:"timeConverter"} 
            ]
        },


The HP OMi field epochSecond is sent to the LAM. Since it is not mapped to a field in the hp_omi_lam.conf file, it is placed in the overflow JSON object. The fields that are placed in the overflow variable can be viewed in the HP OMi LAM log file.

An example of an overflow JSON object created in the HP OMi LAM log file:

"overflow":"{\"created_time\":{\"epochSecond\":1490339209,\"nano\":244000000},\"notes\":\"\",\"originOccurrenceTime\":{\"epochSecond\":1490339199,\"nano\":958000000},\"rcaActive\":false,\"priority\":\"com.hp.nms.alert.priority.None\",\"firstOccurrenceTime\":{\"epochSecond\":1490339200,\"nano\":212000000},\"modified_time\":{\"epochSecond\":1490339209,\"nano\":244000000},\"sourceNodeUuid\":\"\",\"duplicateCount\":0,\"name\":\"test22\",\"id\":\"6443004269\",\"state\":\"com.hp.nms.alert.lifecycle.Registered\"}"

Quotes

In some instances, the attribute strings are quoted. Our JSON parser ignores it, but the standard requires quoting for all strings, so Moogsoft recommends that user quotes all strings.

Comments

A user can comment out lines by adding a hash(#) at the beginning of line.

Starting the HP OMi LAM

To start the HP OMi LAM enter the following command:

service hpomilamd start

To stop the HP OMi LAM enter the following command:

service hpomilamd stop


To view the status of HP OMi LAM, enter the following command:

service hphpomilamd status


Command line attributes

hp_omi_lam --help

Option

Description

--config

Points to a pathname to find the configuration file for the LAM. This is where the entire configuration for the LAM is specified

--help

Displays all the command line options

--version

Displays the components version number

--log level

Specifies the level of debugging. By default, User gets everything. In common with all executables in MOOG, having it set at that level can result in a lot of output (many messages per event message processed).

In all production implementations, it is recommended that log level is set to WARN, which only informs user of matters of importance

Version Information

LAM Version

Tool Version

Tested?

Expected to Work

1.0

HP OMi 10.6

Yes

Yes

1.1

HP OMi 10.6

Yes

Yes

1.2

HP OMi 10.6

Yes

Yes

1.3

HP OMi 10.6

Yes

Yes

System Information

This LAM was tested on a system with the following configurations:

CPU2 core
RAM4 GB
Operating SystemCentOS Linux release 6.7


The system must at least have the above mentioned system requirements to run the LAM.



  • No labels