Skip to main content

Overview

Dynatrace is an AI-powered software intelligence platform. EasyContact integrates with Dynatrace Problem Notifications, automatically creating incidents when Dynatrace detects problems in your environment.

Setup Instructions

1

Create Integration in EasyContact

  1. Go to ConfigurationIntegrations
  2. Click Add Integration
  3. Select Dynatrace as the type
  4. Enter a name (e.g., “Production Dynatrace”)
  5. Save and copy the webhook URL
2

Configure Problem Notification in Dynatrace

  1. Go to SettingsIntegrationProblem notifications
  2. Click Add notification
  3. Select Custom Integration
3

Configure Webhook

  • Name: EasyContact
  • Webhook URL: Your EasyContact webhook URL
  • Accept any SSL certificate: Based on your setup
  • Configure the payload (see below)
4

Test the Integration

Use the Send test notification button in Dynatrace

Webhook Configuration

{
  "PID": "{PID}",
  "ProblemID": "{ProblemID}",
  "ProblemTitle": "{ProblemTitle}",
  "ProblemDetails": "{ProblemDetailsText}",
  "ProblemSeverity": "{ProblemSeverity}",
  "ProblemImpact": "{ProblemImpact}",
  "State": "{State}",
  "ProblemURL": "{ProblemURL}",
  "ImpactedEntities": "{ImpactedEntities}",
  "ImpactedEntityNames": "{ImpactedEntityNames}",
  "RootCauseEntity": "{RootCauseEntity}",
  "ProblemStartTime": {ProblemStartTime},
  "ProblemEndTime": {ProblemEndTime},
  "Tags": "{Tags}"
}

Placeholder Variables

PlaceholderDescription
{PID}Problem ID (short form)
{ProblemID}Full problem identifier
{ProblemTitle}Problem title
{ProblemDetailsText}Detailed description
{ProblemSeverity}Severity level
{ProblemImpact}Impact type
{State}OPEN, RESOLVED, or MERGED
{ProblemURL}Link to problem in Dynatrace
{ImpactedEntities}JSON array of affected entities
{ImpactedEntityNames}Entity names (comma-separated)
{RootCauseEntity}Root cause entity
{ProblemStartTime}Start time (epoch ms)
{ProblemEndTime}End time (epoch ms, -1 if open)
{Tags}Problem tags

Field Mapping

Dynatrace FieldEasyContact Field
PID / ProblemIDEvent ID
ProblemTitleTitle
ProblemDetails / ProblemDetailsTextDescription
StateStatus
ProblemSeveritySeverity
ProblemImpactImpact tag
ImpactedEntityNamesHost/Service
ProblemURLURL
RootCauseEntityRoot cause tag

Severity Mapping

Dynatrace SeverityEasyContact Severity
AVAILABILITYCritical
ERRORCritical
PERFORMANCEHigh
RESOURCE_CONTENTIONHigh
CUSTOM_ALERTWarning

Custom Mapping

{
  "severityMapping": {
    "sourceField": "ProblemSeverity",
    "mappings": {
      "AVAILABILITY": "critical",
      "ERROR": "critical",
      "PERFORMANCE": "high",
      "RESOURCE_CONTENTION": "warning",
      "CUSTOM_ALERT": "warning"
    },
    "default": "warning"
  }
}

Status Handling

Dynatrace StateEasyContact Status
OPENProblem
RESOLVEDOK
MERGEDProblem (linked)

Example Payload

{
  "PID": "P-12345",
  "ProblemID": "-1234567890123456789_1705315800000",
  "ProblemTitle": "High CPU on host web-server-01",
  "ProblemDetails": "CPU usage exceeded 90% threshold",
  "ProblemSeverity": "RESOURCE_CONTENTION",
  "ProblemImpact": "INFRASTRUCTURE",
  "State": "OPEN",
  "ProblemURL": "https://abc12345.live.dynatrace.com/#problems/problemdetails;pid=P-12345",
  "ImpactedEntities": "[{\"entity\":\"HOST-ABC123\",\"name\":\"web-server-01\"}]",
  "ImpactedEntityNames": "web-server-01",
  "RootCauseEntity": "HOST-ABC123",
  "ProblemStartTime": 1705315800000,
  "ProblemEndTime": -1,
  "Tags": "env:production,team:platform"
}

Impact Types

Dynatrace categorizes problem impact:
ImpactDescription
INFRASTRUCTUREAffects infrastructure components
SERVICEAffects monitored services
APPLICATIONAffects applications
ENVIRONMENTAffects entire environment
Impact is captured as a tag for routing.

Impacted Entities

The ImpactedEntities field contains a JSON array:
[
  {
    "entity": "HOST-ABC123",
    "name": "web-server-01",
    "type": "HOST"
  },
  {
    "entity": "SERVICE-DEF456",
    "name": "checkout-service",
    "type": "SERVICE"
  }
]
The first entity’s name is used as the host/service.

Enrichment Examples

{
  "enrichment": {
    "tags.source": "dynatrace",
    "tags.environment": "production",
    "tags.ai_powered": "true"
  }
}

Alerting Profile Integration

Configure which problems trigger notifications:
  1. Go to SettingsAlertingAlerting profiles
  2. Create or edit a profile
  3. Define severity and scope rules
  4. Link to your webhook notification
This allows fine-grained control over which problems reach EasyContact.

Troubleshooting

  1. Verify webhook URL in Dynatrace settings
  2. Test with “Send test notification” button
  3. Check Dynatrace notification logs
  4. Verify SSL/TLS settings if using HTTPS
  1. Ensure State field is in payload
  2. Check that RESOLVED state is being sent
  3. Verify PID matches between OPEN and RESOLVED
  1. Include {ImpactedEntityNames} in payload
  2. Check that problem has entity association
  3. Use {ImpactedEntities} for detailed JSON
  1. Review ProblemSeverity values in samples
  2. Configure custom severity mapping
  3. Check alerting profile severity filters

Best Practices

Filter which problems send notifications to avoid noise from low-priority issues.
Always include {ProblemURL} so responders can quickly access Dynatrace for details.
Use Dynatrace tags (environment, team, service) for better routing in EasyContact.
Tune Dynatrace’s automatic problem detection to reduce false positives before they reach EasyContact.