Configure the Dynatrace APM Plugin LAM

The Dynatrace APN Plugin LAM is an endpoint for HTTP notifications from Dynatrace. The LAM parses the alerts from Dynatrace into Moogsoft AIOps events.

You can install a basic Dynatrace APM Plugin integration in the UI. See Dynatrace APM Plugin for integration steps.

The Dynatrace APM Plugin LAM does not require authentication. It listens without requiring password information.

Configure the Dynatrace APM Plugin 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

The Dynatrace APM Plugin LAM has been validated with Dynatrace APM v 6.5 and v. 7.0. Before you start to set up the LAM, ensure you have met the following requirements:

  • You have an active Dynatrace account.

  • You have the necessary permissions to install and configure a plugin in Dynatrace.

  • You know the path to your Dynatrace installation, for example C:\Program Files\Dynatrace\Dynatrace<version>\server.

  • You have the necessary permissions to edit incident rules in Dynatrace.

  • Dynatrace can make requests to external endpoints over port 443.

If you are configuring a distributed deployment refer to High Availability Overview first. You will need the details of the server configuration you are going to use for HA.

Configure the LAM

Edit the configuration file to control the behavior of the Dynatrace APM Plugin LAM. You can find the file at $MOOGSOFT_HOME/config/dynatrace_apm_plugin_lam.conf

The Dynatrace APM Plugin LAM is a REST-based LAM as it provides an HTTP endpoint for data ingestion. Note that only the generic REST LAM properties in dynatrace_apm_plugin_lam.conf apply to the Dynatrace APM Plugin LAM; see the 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.

  1. Configure the properties for the REST connection:

    • address: Address on the Moogsoft AIOps server that listens for REST messages. Defaults to all interfaces.

    • port: Port on the Moogsoft AIOps server that listens for Dynatrace messages. Defaults to 48004.

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

    • use_ssl: Whether to use SSL certification.

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

    • ssl_key_filename: The SSL server key file.

    • ssl_cert_filename: The SSL root CA file.

    • ssl_protocols: Sets the allowed SSL protocols.

  3. Configure the LAM behavior:

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

    • rest_response_mode: When to send a REST response. See the LAM and Integration Reference for the options.

    • rpc_response_timeout: Number of seconds to wait for a REST response.

    • event_ack_mode: When Moogfarmd acknowledges events from the REST LAM during the event processing pipeline.

    • accept_all_json: Allows the LAM to read and process all forms of JSON.

    • lists_contain_multiple_events: Whether Moogsoft AIOps interprets a JSON list as multiple events.

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

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

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

Unsupported Properties

Dynatrace APM Plugin alerts do not support client authentication. Do not uncomment or change the following properties:

  • use_client_certificates

  • client_ca_filename

  • auth_token or encrypted_auth_token

  • header_auth_token or encrypted_header_auth_token

  • authentication_type

  • authentication_cache

Example

The following example demonstrates a Dynatrace APM Plugin LAM configuration.

monitor:
{
    name                          : "DynatraceApmPlugin Lam Monitor",
    class                         : "CRestMonitor",
    port                          : 48004,
    address                       : "0.0.0.0",
    use_ssl                       : false,
    #path_to_ssl_files            : "config",
    #ssl_key_filename             : "server.key",
    #ssl_cert_filename            : "server.pem",
    #use_client_certificates      : false,
    #client_ca_filename           : "ca.crt",
    #auth_token                   : "my_secret",
    #encrypted_auth_token         : "dfJtTQMGiFHfiq7sCmxguBt6Jv+eytkoiKCquSB/7iWxpgGsG2aez3z2j7SuBtKj",
    #header_auth_token            : "my_secret",
    #encrypted_header_auth_token  : "dfJtTQMGiFHfiq7sCmxguBt6Jv+eytkoiKCquSB/7iWxpgGsG2aez3z2j7SuBtKj",
    #ssl_protocols                : [ "TLSv1.2" ],
    authentication_type           : "none",
    authentication_cache          : false,
    accept_all_json               : true,
    lists_contain_multiple_events : true,
    num_threads                   : 5,
    rest_response_mode            : "on_receipt",
    rpc_response_timeout          : 20,
    event_ack_mode                : "queued_for_processing"
},
agent:
{
    name                          : "Dynatrace APM Plugin",
    #capture_log                  : "$MOOGSOFT_HOME/log/data-capture/dynatrace_apm_plugin_lam.log"
},
log_config:
{
    configuration_file            : "$MOOGSOFT_HOME/config/logging/dynatrace_apm_plugin_lam_log.json"
},

Configure for High Availability

Configure the Dynatrace APM Plugin LAM for high availability if required. See High Availability Overview for details.

Configure LAMbot Processing

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

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

Mapping

By default the following Dynatrace properties map to the following Moogsoft AIOps Dynatrace APM Plugin LAM properties. You can configure custom mappings in the Dynatrace APM Plugin LAMbot.

Dynatrace Event Property

Dynatrace APM Plugin LAM Property

Dynatrace APM Plugin LAM

agent

Dynatrace APM Plugin LAM

agent_location

startTime

agent_time

key.systemProfile

class

Message

description

key.uuid

external_id

Dynatrace APM

manager

severity

severity

key.systemProfile::$incidentRule.name

signature

serverName

source

serverName

source_id

incidentRule.name

type

Start and Stop the LAM

Restart the Dynatrace APM Plugin LAM to activate any changes you make to the configuration file or LAMbot.

The LAM service name is dynatraceapmpluginlamd.

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

Configure Dynatrace

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