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.

You can install a basic HP NNMi integration in the UI. See HP NNMi for integration steps.

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.

Before You Begin

Before you set up the LAM, ensure you have met the following requirements for each HP NNMi system:

  • You have the URL of the HP NNMi webservice.

  • You have credentials to connect to HP NNMi.

  • The port for your HP NNMi server is open and accessible from Moogsoft AIOps.

  • Your HP NNMi system is able to accept HTTP/HTTPS requests.

Additionally, you can provide optional configuration details. You can:

  • Select the origin of the incidents.

  • Configure the maximum number of incidents that Moogsoft AIOps can fetch in each poll.

  • Set a request interval and retry interval time in seconds. Both default to 60.

Configure the LAM

Edit the configuration file to control the behavior of the HP NNMi LAM. You can find the file at $MOOGSOFT_HOME/config/hp_nnmi_lam.conf.

See the HP NNMi LAM Reference and LAM and Integration Reference for a full description of all properties. Some properties in the file are commented out by default. Uncomment properties to enable them.HP NNMi LAM Reference

  1. Configure the LAM behavior for each target:

    • request_interval: Length of time to wait between requests, in seconds.

    • max_retries: Number of times the LAM attempts to reconnect after connection failure.

    • retry_interval: Length of time to wait between reconnection attempts, in seconds.

  2. Configure the connection properties for each target source:

    • webservice_endpoint: Endpoint location of HP NNMi webservice.

    • username: Username of the account used to log in to the HP NNMi console

    • password or encrypted_password: Password or encrypted password of the account used to log in to the HP NNMi console.

  3. Configure the SSL properties if you want to encrypt communications between the LAM and the REST connection:

    • disable_certificate_validation: Whether to disable SSL certificate validation.

    • path_to_ssl_files: Path to the directory that contains the SSL certificates.

    • server_cert_filename: SSL root CA file.

    • client_key_filename: Client SSL key.

    • client_cert_filename: Client SSL certificate.

  4. Optionally configure filtering. See the LAM and Integration Reference for more information.

  5. Optionally configure the LAM identification and capture logging details:

    • name: Maps to $Laminstancename, so that the agent field indicates events Moogsoft AIOps ingests from this LAM.

    • capture_log: Name and location of the LAM's capture log file, which it writes to for debugging purposes.

  6. Optionally configure severity conversions. See Severity Reference for further information and "Conversion Rules" in Data Parsing for details on conversions in general.

  7. Optionally configure the process logging details:

    • configuration_file: Name and location of the LAM's process log configuration file. See Configure Logging for more information.Configure Logging

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",
                                #password: "password",
                                encrypted_password: "qJAFVXpNDTk6ANq65pEfVGNCu2vFdcoj70AF5BIebEc=",
                                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",
                                #password: "password",
                                encrypted_password: "bDGFSClSHBn8DSw43nGwSPLSv2dGwdsj50WD4BHdfVa&",
                                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
                                }
                        }
                }
        }
Configure for High Availability

Configure the HP NNMi LAM for high availability if required. See High Availability Overview for details.

Configure LAMbot processing

The HP NNMi LAMbot processes and filters events before sending them to the Message Bus. You can customize or bypass this processing if required. You can also load JavaScript files into the LAMbot and execute them.

See LAMbot Configuration for more information. An example HP NNMi LAM filter configuration is shown below.

filter:
{
    presend: "HpNnmiLam.js",
    modules: [ "CommonUtils.js" ]
}
Start and Stop the LAM

Restart the HP NNMi LAM to activate any changes you make to the configuration file or LAMbot.

The LAM service name is hpnnmilamd.

See Control Moogsoft AIOps Processes for the commands to start, stop and restart the LAM.

You can use a GET request to check the status of the HP NNMi LAM. See "Check the LAM Status" in Configure the REST LAM for further information and examples.

Configure HP NNMi

After you have the HP NNMi LAM running and listening for incoming requests, you can configure HP NNMi. See "Configure HP NNMi" in HP NNMi.