Loading full navigation.

The LogicMonitor Edwin AI Dynatrace Integration enables Edwin AI to receive event data from your Dynatrace environment in real time using webhooks. This facilitates automated response, alert enrichment, and cross-platform incident correlation.

To integrate Edwin AI with Dynatrace, configure webhook notifications in Dynatrace to send structured JSON payloads to Edwin AI using the Edwin Common Event Format (CEF). Webhook payloads can be enriched with tags and assignments to support routing and visibility in Edwin AI.

For more information on configuring Dynatrace webhooks, see Send Dynatrace notifications via webhooks from Dynatrace.

Requirements for Configuring Edwin AI Dynatrace Integration

To configure your Edwin AI Dynatrace Integration, you need the following:

  • Dynatrace Operator v1.0 or later
  • Access to Dynatrace with integration permissions
  • An Edwin AI Client ID and Client Secret, provided by your Edwin AI administrator

In Edwin AI, Create a new Client ID and Client Secret by doing the following:

  1. Navigate to Settings > API Credentials.
  2. Select Create.
  3. Enter a comment to describe the credential pair.
  4. From the Scopes dropdown, select “event_write”.
  5. Select Save.
  6. The credentials display in the API Credentials table.
    Copy the Client ID and Secret for later use.

Configuring Edwin AI Dynatrace Integration

  1. In Dynatrace, create a new credential pair with the client ID and secret.
    For more information, see Credential Vault from Dynatrace.
  2. In Dynatrace, create and configure a webhook that includes a problem trigger and an HTTP node.
    For more information, see Send Dynatrace notifications via webhooks from Dynatrace.
  3. Configure the HTTP node in the Dynatrace webhook.
    The following configuration values are required:
FieldValue/Description
URLhttps://accountname.dexda.ai/integration/event/v1
Custom PayloadCustom JSON (CEF-compliant structure)
[
{
"cef": {
"generate_event_timestamp": true,
"event_severity": 1,
"event_source": "Dynatrace",
"event_domain": "",
"event_ci": "{ImpactedEntityNames}",
"event_object": "Object",
"event_name": "{ProblemTitle}",
"event_description": "{ProblemDetailsText}",
"event_source_id": "{ProblemID}",
"event_source_id_link": "{ProblemURL}",
"source_record": {ProblemDetailsJSONv2}
},
"enrichments": {}
}
]

Note: You can modify the template as needed. However the following must be present in the payload in order for the payload to work: "generate_event_timestamp": true

For more information, see Send Dynatrace notifications via webhooks from Dynatrace.

  1. Save your webhook. 
  2. In Dynatrace, create a synthetic HTTP monitor that fails.
    For example, include a domain that does not exist.

The monitor failing automatically creates a new Problem in Dynatrace, which is sent to Edwin AI. You can repeat this process to create a separate webhook per severity level.

Mapping Multiple Webhooks to Severity Levels

When mapping multiple webhooks to severity levels, you need to know the following:

  • Understanding Severity Levels
  • Creating Multiple Webhooks for Alert Severities
  • Conditional Webhook Usage

Understanding Severity Levels

To enable severity-based routing, you need to define individual webhooks for each severity level. 

The following table describes severity values:

Severity ValueDescription
5Critical
4Major
3Minor
2Warning
1Indeterminate

Recommendation: Use for Scheduled Downtime (SDT)

0Clear

Conditional Webhook Usage

Use conditional tags in your monitor configuration to control when each webhook is triggered based on the alert state.

The following tags are evaluated by Dynatrace and determine the appropriate severity-based webhook to call:

TagDescription
{{#is_alert}}Matches when a critical alert is triggered.
{{#is_warning}}Matches when a warning alert is triggered.
{{#is_alert_recovery}}Matches when a critical alert has cleared.
{{#is_warning_recovery}}Matches when a warning alert has cleared.
{{#is_alert_to_warning}}Matches when an alert is downgraded from critical to warning.

The following example displays how conditional webhook tags can be used for your Edwin AI Dynatrace integration:

{{#is_alert}} @webhook-lm-edwin-sev5 {{/is_alert}}
{{#is_warning}} @webhook-lm-edwin-sev4 {{/is_warning}}
{{#is_alert_recovery}} @webhook-lm-edwin-sev0 {{/is_alert_recovery}}
{{#is_warning_recovery}} @webhook-lm-edwin-sev0 {{/is_warning_recovery}}
{{#is_alert_to_warning}} @webhook-lm-edwin-sev4 {{/is_alert_to_warning}}

Enrichments in Webhook Payloads

You can use the enrichments section to include custom fields in each event. These enrichments display as new columns in Edwin AI.

The following JSON snippet illustrates how the enrichment displays in the payload:


"enrichments": {
  "Tags": "{Tags}",
  "assignment_group": "network_support"
}