Configure the Moogsoft Express Polling LAM

The Moogsoft Express Polling LAM receives and processes Moogsoft Express events forwarded to Moogsoft Enterprise. The LAM parses the data into Moogsoft Enterprise events.

To configure the LAM you require backend access. Alternatively, you can install an Express Polling integration in the UI. See Moogsoft Express Polling for integration steps.

Configure the Express Polling LAM if you want to configure custom properties, set up high availability or configure advanced options that are not available in the UI integration.

Before You Begin

Before you start to set up your integration, ensure you have met the following requirements:

  • You have an API key from Moogsoft Express.

  • Moogsoft Express API is accessible from Moogsoft Enterprise.

Configure the LAM

Edit the configuration file to control the behavior of the Express Polling LAM. You can find the file at $MOOGSOFT_HOME/config/moogsoft_express_client_lam.conf.

See the Moogsoft Express Polling LAM 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 LAM behavior:

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

    • timeout: Length of time to wait before halting a connection or read attempt, in seconds.

    • num_threads: Number of worker threads to use when processing events.

  2. Configure the connection properties for each target source:

    • url: URL of Moogsoft Express API to fetch alerts from.

    • api_key: or encrypted_api_key API key for Moogsoft Express.

  3. Optionally configure a filter to restrict which alerts Moogsoft Enterprise polls. See the /alerts endpoints in the Moogsoft Express documentation for more information.

  4. If you want to connect through a proxy server, configure the hostportuser, and password or encrypted password properties in the proxy section for the target.

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

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

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

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

An example Express Polling LAM configuration is as follows:

monitor:
{
    name: "Moogsoft Express Client Lam Monitor",
    class: "CMoogsoftExpressMonitor",
    request_interval: 60,
    max_retries: -1,
    retry_interval: 60,
    retry_recovery:
    {
        recovery_interval: 20,
        max_lookback: -1
    },
    num_threads: 5
    timeout: 120,
    targets:
    {
        target1:
        {
            url: "https://api.moogsoft.ai/rest/v1/alerts",
            api_key: "MyKey",
            #encrypted_api_key: "",
            #filter: "",
            proxy:
            {
                    host: "localhost",
                    port: 8080,
                    user: "John.Doe",
                    password: "password123"
            },
            disable_certificate_validation: true,
            path_to_ssl_files: "config",
            server_cert_filename: "server.crt",
            client_key_filename: "client.key",
            client_cert_filename: "client.crt",
            request_interval: 60,
            timeout: 120,
            max_retries: -1,
            retry_interval: 60
        }
        target2:
        {
            url: "https://api.moogsoft.ai/rest/v1/alerts",
            #api_key: "",
            encrypted_api_key: "ieytOFRUdLpZx53nijEw0rOh07VEo=",
            #filter                       : "",
            disable_certificate_validation: false,
            path_to_ssl_file: "config",
            server_cert_filename: "server.crt",
            #client_key_filename: "client.key",
            #client_cert_filename: "client.crt",
            request_interval: 60,
            timeout: 120,
            max_retries: -1,
            retry_interval: 60
            }
        }
    agent:
    {
        name: "MOOGSOFT",
        capture_log: "$MOOGSOFT_HOME/log/data-capture/moogsoft_express_client_lam.log"
    },
    log_config:
    {
        configuration_file: "$MOOGSOFT_HOME/config/logging/moogsoft_express_client_lam_log.json"
    },

Configure for High Availability

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

Configure LAMbot processing

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

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

Start and Stop the LAM

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

The LAM service name is moogsoftexpressclientlamd.

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 Express Polling LAM. See "Check the LAM Status" in Configure the REST LAM for further information and examples.

Configure Moogsoft Express

You do not need to perform any LAM-specific steps on Moogsoft Express. After you configure the LAM, it polls Express at regular intervals to collect event data (every 60 seconds by default).