Moogsoft Docs

Dynatrace Synthetic Integration Reference

Dynatrace Synthetic provides deep application monitoring and performance lifecycle management. The Dynatrace Synthetic Integration (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.

The Dynatrace Synthetic LAM configuration file has the following sections:

Monitor

Agent

HA Configuration

Mapping

Constants and Conversions

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 Monitor and CDynatraceSyntheticMonitor respectively.


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

Agent allows you to define two parameters:

Field
name This is the agent name, the events sent to MooMS by the Dynatrace Synthetic LAM are identified by the agent name in the log. In this LAM, the agent name is Dynatrace Synthetic.
log Dynatrace Synthetic LAM will write its ingress contents in the file dynatrace_synthetic_lam.log located at /var/log/moogsoft/.

HA Configuration LAM calls the Web Service Method GetAlertHistory with parameters like username

Refer to the document Integrations HA Configuration

Mapping

For alerts received in JSON format, you can directly map the alert fields of Dynatrace Synthetic with Moogsoft 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:

Severity Reference

Severity Levels
Moogsoft Severity Levels
severity:
        {
            "CLEAR" : 0,
            "INDETERMINATE" : 1,
            "WARNING" : 2,
            "MINOR" : 3,
            "MAJOR" : 4,
            "CRITICAL" : 5,
            moog_lookup_default: 3
        }
Level Description
0 Clear
1 Indeterminate
2 Warning
3 Minor
4 Major
5 Critical

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 MOOG, 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.


Performance Information

Minimum requirement
Component Value
CPU 2 core
RAM 4 GB
Operating System CentOS Linux release 6.7

Version

Integration Version Tool Version
1.0 - 1.5 Synthetic Monitoring Platform 2017