Configure the Dynatrace Synthetic LAM

Note

As of October 31st 2019, Dynatrace have discontinued the Dynatrace Synthetic product. See the Dynatrace Synthetic documentation for more information.

To receive events from the Dynatrace platform, use the Dynatrace Notification integration.

Dynatrace Synthetic provides deep application monitoring and performance lifecycle management. The Dynatrace Synthetic LAM connects with Dynatrace Synthetic and fetches alerts from it. The alerts are then forwarded to Moogsoft AIOps.

See Dynatrace Synthetic for UI configuration instructions.

  1. LAM reads the configuration from dynatrace_synthetic_lam.conf file.

  2. LAM connects to the Alert Management Web Services API with the provided WSDL location, username, and password.

  3. LAM calls the Web Service Method GetAlertHistory and GetLMAlertHistory with parameters like username, password, start time, and end time.

  4. When LAM starts for the first time, it takes the end time as the current time and the start time as 24 hrs before the current time. In case of subsequent calls, it takes start time as the end time of the previous call and the end time is set with the current time.

  5. The response is received with incident data in XML format.

  6. The alerts are parsed and converted into normalized Moogsoft AIOps events.

  7. The normalized events are then published to MooMS bus.

Configuration

The alerts received from Dynatrace Synthetic are processed according to the configurations in the dynatrace_synthetic_lam.conf file. The processed alerts are published to 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.

Monitor

The Dynatrace Synthetic LAM takes the alerts from Dynatrace Synthetic Server. You can configure parameters here to establish a connection with Dynatrace Synthetic:

General

Field

Type

Description

Example

name and class

String

Reserved fields: do not change. Default values are Dynatrace Synthetic Monitorand CDynatraceSyntheticMonitorrespectively.

wsdl_location

String

Enter the WSDL (Web Services Definition Language) location of the Dynatrace Synthetic server.

user_name and Password

String

Enter the username and password for accessing Dynatrace Synthetic server.

encrypted_password

String

If the password is encrypted, then enter the encrypted password in this field and comment the password field. At a time either password or the encrypted_password field is used. If both the fields are not commented, then Dynatrace Synthetic Lam will use the encrypted_password field.

polling_interval

Integer

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

Default = 60 seconds, if 0 is entered the time interval will set to 60 seconds.

max_retries

Integer

The maximum number of retry attempts.

Default = -1, if no value is specified, then there will be infinite retry attempts. If the specified value is less than 1, then it will switch to default i.e. -1.

If the specified value is greater than 1, then the LAM will try that many times to reconnect.

retry_interval

Integer

The time interval between two successive retry attempts.

Default = 60 seconds, if 0 is entered the time interval will set to 60 seconds.

Example

Config File

config :
    {
        monitor:
        {

            name                     : "Dynatrace Synthetic Monitor",

            class                    : "CDynatraceSyntheticMonitor",

                        wsdl_location            : "https://gpn.webservice.gomez.com/AlertManagementService20/AlertManagementWS.asmx",

            user_name                : "username",

            password                 : "password",

            #encrypted_password      : "ieytOFRUdLpZx53nijEw0rOh07VEr8w9lBxdCc7229o=",

            polling_interval         : 60,

            max_retries              : -1, 

            retry_interval           : 60,
                        
        },
          
Agent and Process Log

Agent and Process Log allow you to define the following properties:

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

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

Mapping

For alerts received in JSON format, you can directly map the alert fields of Dynatrace Synthetic with Moogsoft AIOps fields. In case of an alert received in text format, the alert is first tokenised in the Variable section, and the tokenised alert is then mapped here in the mapping section. The parameters of the received alert are displayed in Moogsoft AIOps according to the mapping done here:

mapping :
        {
            builtInMapper:  "CJsonDecoder",
            catchAll: "overflow",
            rules:
            [
                { name: "signature", rule:      "$monitorId" },
                { name: "source_id", rule:      "$siteIP" },
                { name: "external_id", rule:    "$alertId" },
                { name: "manager", rule:        "Dynatrace Synthetic" },
                { name: "source", rule:         "$siteIP" },
                { name: "class", rule:          "$alertType" },
                { name: "agent", rule:          "$LamInstanceName" },
                { name: "agent_location", rule: "$siteName" },
                { name: "type", rule:           "$alertType" },
                { name: "severity", rule:       "$alertState", conversion: "sevConverter" },
                { name: "description", rule:    "$description" },
                { name: "agent_time", rule:     "$timeStamp"}
            ]
        },
        filter:
        {
            presend: "DynatraceSyntheticLam.js"
        }

The above example specifies the mapping of the Dynatrace Synthetic alert fields with the Moogsoft AIOps fields. The stringToInt is used to convert the data received in the string format into an integer format.

Note

The signature field is used by the LAM to identify correlated alerts.

Constants and Conversions

Constants and Conversions allows you to convert format 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,
  "GOOD"        : 2,
  "WARNING"       : 3,
  "BAD"           : 4,
  "SEVERE"        : 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"
},
Example

Example Constants and Conversions

constants:
        {
                severity:
            {
                "CLEAR"         : 0,
                "GOOD"                : 2,
                "WARNING"       : 3,
                "BAD"                 : 4,
                "SEVERE"              : 5
            }
        },
        conversions:
        {
            sevConverter:
            {
                lookup: "severity",
                input:  "STRING",
                output: "INTEGER"
            },
                            
                        stringToInt:
            {
                input:      "STRING",
                output:     "INTEGER"
            }
        },
Custom Info

The fields in Custom Info shows those events which are not listed in the Mapping section. An example of Custom Info is as follows:

29960482.png
Service Operation Reference

Process Name

Service Name

dynatrace_synthetic_lam

dynatracesyntheticlamd

Start the LAM Service:

service dynatracesyntheticlamd start

Stop the LAM Service:

service dynatracesyntheticlamd stop

Check the LAM Service status:

service dynatracesyntheticlamd status
Command Line Reference

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

dynatrace_synthetic_lam --help

The dynatrace_synthetic_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.

--loglevel

Specifies the level of debugging. By default, user gets everything. In common with all executables in Moogsoft AIOps, 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. This ensures only warning, error and fatal messages are recorded.