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.
-
LAM reads the configuration from dynatrace_synthetic_lam.conf file.
-
LAM connects to the Alert Management Web Services API with the provided WSDL location, username, and password.
-
LAM calls the Web Service Method GetAlertHistory and GetLMAlertHistory with parameters like username, password, start time, and end time.
-
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.
-
The response is received with incident data in XML format.
-
The alerts are parsed and converted into normalized Moogsoft AIOps events.
-
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 theagent
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:
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. |