# Moogsoft Docs

## Configure the HP NNMi LAM

HP Network Node Manager i (HP NNMi) discovers the devices that are in the network and shows their relative location and status. It helps in ascertaining the level of congestion in the network and identifying the root cause of the congestion. It can monitor networks, isolate issues, find outages, and improve network availability and performance.

See HP NNMi for UI configuration instructions.

When a device fails, it generates events associated with the failures. HP NNMi creates incidents for each event which are fetched by the HP NNMi LAM and displayed in Moogsoft AIOps.

1. LAM reads the configuration from the hp_nnmi_lam.conf file.
2. LAM connects with HP NNMi Webservice using the given webservice endpoint in the config file.
3. LAM sends request to HP NNMi Server to fetch incidents.
4. The response is received with incident data in an object form.
5. LAM filters incident data based on the filters set in the config file.
6. The events are parsed and converted into normalized Moogsoft AIOps events.
7. The normalized events are then published to MooMS bus.

# HP NNMi LAM Configuration

The incidents received from HP NNMi are processed according to the configurations in the hp_nnmi_lam.conf file. The processed incidents are published to the 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_nnmi_lam.conf file.

Monitor

The HP NNMi LAM takes the incidents from the HP NNMi Server.  You can configure the parameters here to establish a connection with HP NNMi:

### General

Field
Type
Description
name and class String

Reserved fields: do not change. Default values are HpNnmi Lam Monitor and CHpNnmiMonitor.

target JSON Object A top-level container for which you can define one or more target HP NNMi sources. You can specify the configuration for each target. If you don't specify a  request_interval  the target uses the globally defined interval.
webservice_endpoint String

Enter the endpoint location of HP NNMi webservice where

hpnnmi is hostname or IP address. For example: http://examplehpnnmi/IncidentBeanService/IncidentBean

If you are using an encrypted password, then enter the encrypted password in this field and comment the password field. Either password or the encrypted_password field is used.

If both the fields are specified, then only the encrypted_password value will be used by the HP NNMi LAM.

polling_interval Integer

The polling time interval, in seconds, between the requests after which the event data is fetched from HP NNMi.

Default = 10 seconds. If 0 is entered, the time interval will set to 10 seconds.

max_retries Integer

The maximum number of retry attempts to reconnect with HP NNMi in case of a connection failure.

Default = -1, if no value is specified, then there will be infinite retry attempts.

If the specified value is greater than 0, then the LAM will try that many times to reconnect; in case of any other value less than 0, max retries will set to default.

retry_interval Integer

The time interval between two successive retry attempts.
Default = 60 seconds, if 0 is entered, the time interval is set to 60 seconds.

request_interval Integer Length of time to wait between requests, in seconds. Can be overridden by  request_interval  in individual targets. Defaults to 60.

### Secure Sockets Layer

Field
Type
Description
ssl Boolean
Set to true, 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/hpnnmi_ssl/keystore.jks".

• ssl_keystore_password : Enter the password of keystore. It is the same password that was entered when the keystore was generated.

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

• ### Note

The keystore.jks generated in the SSL configuration section is used both as a keystore and truststore. Therefore, the path to the keystore.jks is entered in the fields ssl_keystore_file_path and ssl_truststore_file_path.

### Filter

Field
Type
Description
filter Object Parameters to filter incidents:
• Origin: Specify the source from where the incident has been generated, if nothing is mentioned in this field, then incidents from all the sources will be fetched.The following sources are supported:
• SNMPTRAP

• MANAGEMENTSOFTWARE

• SYSLOG
• REMOTELYGENERATED
• MANUALLYCREATED
• OTHER
• maxObjects: The number of incidents that can be fetched in a poll will be entered here. If nothing is entered, then by default 1000 incidents will be fetched in one poll.

### Note

The entry in the fields maxObjects , polling_interval , max_retries and retry_interval should be an integer, and therefore, enter the values in these fields without quotation mark.

### Example

You can configure the HP NNMi LAM to retrieve events from one or more sources. The following example demonstrates a configuration that targets two HP NNMi sources. For a single source comment out the  target2  section. If you have more than two sources, add a  target  section for each one and uncomment properties to enable them.

monitor:
{
name									: "HpNnmi Lam Monitor",
class									: "CHpNnmiMonitor",
request_interval						: 60,
max_retries								: -1,
retry_interval							: 60,
targets:
{
target1:
{
request_interval				: 60,
max_retries						: -1,
retry_interval					: 60,
webservice_endpoint				: "http://examplehpnnmi1/IncidentBeanService/IncidentBean",
user_name						: "hpnnmi_user1",
disable_certificate_validation	: false,
path_to_ssl_files				: "config",
server_cert_filename			: "server1.crt",
client_key_filename				: "client1.key",
client_cert_filename			: "client1.crt",
filter:
{
origin						: "",
maxObjects					: 1000
}
}
target2:
{
request_interval				: 60,
max_retries						: -1,
retry_interval					: 60,
webservice_endpoint				: "http://examplehpnnmi2/IncidentBeanService/IncidentBean",
user_name						: "hpnnmi_user2",
disable_certificate_validation	: false,
path_to_ssl_files				: "config",
server_cert_filename			: "server2.crt",
client_key_filename				: "client2.key",
client_cert_filename			: "client2.crt",
filter:
{
origin						: "SNMPTRAP",
maxObjects					: 1000
}
}
}
}

## Agent

Agent allows you to define two parameters:

Field

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

HP NNMi LAM will write its ingress contents in the file  hp_nnmi_lam.log  located at  $MOOGSOFT_HOME/log/data-capture/  ### Example Agent agent: { name : "HP NNMi" #log : "$MOOGSOFT_HOME/log/data-capture/hp_nnmi_lam.log"
},

## HA Configuration

Refer the document HA Configuration of LAM

## Mapping

For incidents received from HP NNMi, you can directly map the incident fields of HP NNMi with Moogsoft fields. The parameters of the received incidents will be displayed in the Moogsoft AIOps according to the mapping done here:

mapping :
{
catchAll: "overflow",
rules:
[
{ name: "signature", rule:      "$family" }, { name: "source_id", rule: "$sourceName" },
{ name: "external_id", rule:    "$sourceNodeName" }, { name: "manager", rule: "HP NNMi" }, { name: "source", rule: "$origin" },
{ name: "class", rule:          "$nature" }, { name: "agent", rule: "$LamInstanceName" },
{ name: "agent_location", rule: "$category" }, { name: "type", rule: "$sourceType" },
{ name: "severity", rule:       "$severity", conversion:"sevConverter" }, { name: "description", rule: "$formattedMessage" },
{ name: "agent_time", rule:     "\$lastOccurrenceTime"}
]
},
filter:
{
presend:"HpNnmiLam.js"
}       

## Constants and Conversions

Constants and Conversions allow you to convert formats of the received data.

Field
Description
Example
Severity and sevConverter

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.

severity:
{
   "CLEAR"    : 0,
"NORMAL"   : 1,
"WARNING"  : 2,
"MINOR"    : 3,
"MAJOR"    : 4,
"CRITICAL" : 5

},
sevConverter:
{
lookup : "severity",
input  : "STRING",
output : "INTEGER"
},
stringToInt

used in a conversion, which forces the system to turn a string token into an integer value.

stringToInt:
{
input  : "STRING",
output : "INTEGER"
},
timeConverter 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.
timeConverter:
{
timeFormat : "yyyy-MM-dd'T'HH:mm:ss.SSS",
input      : "STRING",
output     : "INTEGER"
}

### Example

Example Constants and Conversions
constants:
{
severity:
{
"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"
}
},

See Severity Reference for a description of severity levels in Moogsoft AIOps.

# Service Operation Reference

Process Name Service Name
hp_nnmi_lam hpnnmilamd

Start the LAM Service:

service hpnnmilamd start

Stop the LAM Service:

service hpnnmilamd stop

Check the LAM Service status:

service hpnnmilamd status

# Command Line Reference

To see the available optional attributes of the hp_nnmi_lam, run the following command:

hp_nnmi_lam --help

The hp_nnmi_lam is a command line executable, and has the following optional attributes:

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 component’s 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.

# Performance Information

Minimum requirement
Component Value
CPU 2 core
RAM 4 GB
Operating System CentOS Linux release 6.7

# Version Information

LAM Version

Tool Version

Tested?

Expected to Work

1.0

HP NNMi 10.20.280

Yes

Yes

1.1

HP NNMi 10.20.280

Yes

Yes

1.2

HP NNMi 10.20.280

Yes

Yes