Skip to main content

Configure the Zenoss LAM

Zenoss is an Infrastructure Monitoring Application which monitors network, server, storage, power devices, etc. It is a distributed software that monitors the IT environment and generate events based on data which has been exposed with rest APIs or from third parties. This document describes the configurations required to establish a connection between the Zenoss application and the Zenoss Integration (LAM).

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

See the Zenoss documentation for details on Zenoss components.

Before You Begin

Before you set up the LAM, ensure you have met the following requirements for each Zenoss server:

  • You have the URL of the Zenoss server.

  • You have credentials to connect to the Zenoss server.

  • The port for your Zenoss server is open and accessible from Moogsoft Enterprise.

  • Your Zenoss server is able to accept HTTP/ HTTPS requests.

Configure the LAM

Edit the configuration file to control the behavior of the Zenoss LAM. You can find the file at $MOOGSOFT_HOME/config/zenoss_lam.conf.

See the Zenoss Reference and LAM and Integration Reference for a full description of all properties. Some properties in the file are commented out by default; remove the '#' character to enable them.

  1. Configure the connection properties for each target source:

    • url: Host name or IP address of the Zenoss server.

    • username: Zenoss username.

    • password or encrypted_password: Zenoss password or encrypted password.

  2. Configure the LAM behavior for each target:

    • uid_filter: Filters events based on device UID.

    • events_date_format: Format of the date/time in event response, in the format "yyyy-MM-dd'T'HH:mm:ss" or "yyyy-MM-dd'T'HH:mm:ss.SSSXXX". If set to blank, event date/time is set to epoch time.

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

    • timeout: Length of time to wait before halting a connection or read attempt, 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.

    • event_severity: Event severities to poll.

    • event_state: Event states to poll.

  3. If you want to connect through a proxy server, configure the host, port, user, and password or encrypted password properties in the proxy section for the target.

  4. 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.

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

    • name: Maps to $Laminstancename, so that the agent field indicates events Moogsoft Enterprise 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 Tokenize Source Event Data 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 Zenoss LAM to retrieve events from one or more sources. The following example demonstrates a configuration that targets two Zenoss 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: "Zenoss Lam Monitor",
    class: "CZenossMonitor",
    request_interval: 60,
    max_retries: -1,
    retry_interval: 60,
    targets:
    {
        target1:
        {
            url: "http://examplezenoss1:8080",
            user_name: "zenoss_user1",
            #password: "password",
            encrypted_password: "qJAFVXpNDTk6ANq65pEfVGNCu2vFdcoj70AF5BIebEc=",
            uid_filter: "/zport/dmd/Devices/Server/Windows",
            events_date_format: "yyyy-MM-dd HH:mm:ss",
            request_interval: 60,
            timeout: 120,
            max_retries: -1,
            retry_interval: 60,
            event_severity: [ "5", "4", "3", "2", "1" ],
            disable_certificate_validation: false,
            path_to_ssl_files: "config",
            server_cert_filename: "server1.crt",
            client_key_filename: "client1.key",
            client_cert_filename: "client1.crt",
            ssl_protocols: [ "TLSv1.2" ]
        } 

        target2:
        {
            url: "http://examplezenoss2:8080",
            user_name: "zenoss_user2",
            #password: "password",
            encrypted_password: "bDGFSClSHBn8DSw43nGwSPLSv2dGwdsj50WD4BHdfVa&",
            uid_filter: "/zport/dmd/Devices/Server/Windows",
            events_date_format: "",
            request_interval: 60,
            timeout: 120,
            max_retries: -1,
            retry_interval: 60,
            event_severity: [ "5", "4", "3", "2", "1" ],
            disable_certificate_validation: false,
            path_to_ssl_files: "config",
            server_cert_filename: "server2.crt",
            client_key_filename: "client2.key",
            client_cert_filename: "client2.crt",
            ssl_protocols: [ "TLSv1.2" ]
        }
    } 
}

Configure for High Availability

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

Configure LAMbot processing

The Zenoss 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 Zenoss LAM filter configuration is shown below.

filter:
{
    presend: "ZenossLam.js",
    modules: [ "CommonUtils.js" ]
}

Start and Stop the LAM

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

The LAM service name is Zenosslamd.

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

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

Configure Zenoss

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