# Configuration Guide for External Service Incident Dynatrace on the Elven Platform

The **External Services Center** of **Elven Platform** is the bridge that connects you to the best tools on the market to monitor, manage, and resolve incidents in a simple and efficient way. In it, you can integrate **Dynatrace** with **Elven Platform**, allowing the reception of notifications and events related to incidents directly on the platform. This enables you to monitor and analyze your applications and services from the perspective of **Incident Management**, using the best practices and methodologies in the market, all in one place.

{% embed url="<https://demo.elven.works/demo/cmd3ggpbq02o13l0i0q3yb3tu?utm_source=link>" %}

## **API Token**

To **integrate** Elven Platform with **Dynatrace**, we need to create an **API Token**. This unique key is essential for the two platforms to connect **securely**, ensuring **reliable** and **authenticated** information exchange. Simply access the **Organization Settings** of Elven Platform, navigate to the **API** section, and generate.

## **Creating an API Token**

* In the **top menu**, under your **user settings**, click on **Organization Settings**.
* In the **API** tab, click the **+ button** to create a new **API Token**.

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/ze6H5vT32oieJdzJoQ3Y/extdi01.png" alt=""><figcaption></figcaption></figure>

## **Accessing External Service Incident Dynatrace**

* Navigate to the **main menu** and click on **Services Hub**.
* In **External Services Monitoring**, select the **Incident Dynatrace** item.

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/p5dFxvfr2d0K6Wbj8GcX/extdi02.png" alt=""><figcaption></figcaption></figure>

## **Creating the External Services Incident Dynatrace**

In the **form**, start by filling in the **External Service Name** field, which will be the name of the external service, and define the **Responders**, that is, the people or teams who will receive notifications related to this service. After that, click **CREATE** to proceed. This action will create the initial record of your **external service**.

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/tZXTsAzKDPeRdDxPE56S/extdi03.png" alt=""><figcaption></figcaption></figure>

Then, locate the **API Token** you generated earlier and select it to configure the **integration** with **Dynatrace**.

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/Jdg157uXhnLUc9xDDzm4/extdi04.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/BIEtcvuPDhI8CknDtlbN/extdi05.png" alt=""><figcaption></figcaption></figure>

## **Configuring Webhooks in Dynatrace**&#x20;

To configure a **webhook** in **Dynatrace** and integrate it with the **Elven Platform**, the process is simple and straightforward. Start by accessing the **left side panel** in Dynatrace, navigating to **Apps > Manage > Settings Classic**. There, go to the **Integration** section and choose the **Problem Notification** option.

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/ZHptaJRzQFiZFudpwVcd/extdi06.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/PyLVNonAWPZzLcezByhK/extdi07.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/p29oAk5RYivYlcJ95OYf/extdi08.png" alt=""><figcaption></figcaption></figure>

In the **next step**, click **Add Notification** to create your new notification. Choose the notification type as **Custom Integration** and enter a friendly name in the **Display Name** field to make it easier to identify.\
In the **Webhook URL** field, enter the URL you obtained when setting up the external service in **External Service Dynatrace**.\
\
Remember to enable the **Call Webhook if problem is Closed** option, ensuring you will be notified both when issues are opened and closed. Also, add an **HTTP header** by setting the name as **User-Agent** and the value as **1PCustomAuth/1.0**. In the **Custom Payload** field, you must paste the content provided by the **Elven Platform**. This payload is essential for the integration and must include the severity levels, which range from **critical** to **informational**, including **high**, **moderate**, and **low**.

```
{

  "title": "{ProblemTitle}",

  "description": "{ProblemDetailsText}",

  "external_aggregate_key": "{Pid}",

  "action": "{State}",

  "severity": ""

}
```

The **severity** field must be filled with the following values: **critical**, **high**, **moderate**, **low**, and **informational**.

* critical
* high
* moderate
* low
* informational

Finally, select the **Alerting Profile** that corresponds to the types of incidents you want to monitor and click **Save Changes**.

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/lOo6Y8UgM27TzLCt8nj3/extdi09.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/qymIZd7ooZ7SSwqlLt61/extdi10.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/NbD6tAAcbxaY8pw1cchL/blobs/nfuIGbjIH1HIZD4SmTWY/extdi11.png" alt=""><figcaption></figcaption></figure>

Once configured, the **service** will appear in the **External Services Monitoring Center**, categorized by **status**, making it easier to monitor **incidents**, with priority given to those in an **alarm state**.

## **Additional Security and Performance Settings**

* **IP Whitelist**: API communication can be configured to allow only **authorized IPs**. To enable or modify this setting, contact **Elven Platform support**.
* **Rate Limiting**: The default time for **request limiting** is 5 minutes, but it can be adjusted as needed. For changes, contact **Elven Platform support**.

These settings ensure greater **security** and **control** over the **data traffic** between the integrated systems.

## **Glossary of Technical Terms**

**API Token**: A unique key generated to enable secure integration between platforms, ensuring authenticated information exchange. In **Elven Platform**, it is created in **Organization Settings**, under the **API** section.\
**External Service Name**: Name assigned to the external service during its configuration in **Elven Platform**, used for identification and organization.\
**Responders**: Individuals or teams designated as responsible for receiving notifications and acting on the resolution of incidents related to the integrated service.\
**Webhook**: A method for sending real-time notifications or events from one application to another. In **Dynatrace**, the webhook is configured with a **Webhook URL** provided by **Elven Platform** to ensure integration.\
**Webhook URL**: URL provided by **Elven Platform** used in **Dynatrace** to route notifications and events to the integrated platform.\
**Custom Integration**: Type of notification configured in **Dynatrace** to create a personalized integration, allowing specification of details such as **payload** and **HTTP headers**.\
**Problem Notification**: A **Dynatrace** feature that allows configuring notifications based on events or incidents monitored by the tool.\
**Custom Payload**: Content sent by **Dynatrace** via **webhook** that includes incident details, such as **severity level**. The **payload format** is defined by the **Elven Platform** team.\
**Severity**: Level of seriousness of the incident recorded in **Dynatrace**, classified as:

* **Critical**: Critical issue requiring immediate attention.
* **High**: High-priority issue.
* **Moderate**: Moderate issue that may partially impact the system.
* **Low**: Low-priority issue.
* **Informational**: Information with no direct impact on the system.

**Alerting Profile**: Profile configured in **Dynatrace** to define which types of incidents or alerts should be monitored and notified.\
**User-Agent**: HTTP header used to identify the client making a request to the API, configured as `1PCustomAuth/1.0` in the **Dynatrace webhook**.\
**Integration**: Section in the **Dynatrace** settings menu where integrations such as **Problem Notification** can be managed.\
**Add Notification**: Option in **Dynatrace** to create a new **custom notification**, used to configure event delivery to **Elven Platform**.
