# AppDynamics Integration

AppDynamics provides application performance management (APM) and IT operations analytics across cloud computing environments as well as inside the data center.

With ilert's AppDynamics integration, you can automatically create alerts in ilert based on custom thresholds from AppDynamics. That way, you will never miss a critical alert and always alert the right person using ilert's on-call schedules, automatic escalation, and multiple alerting channels. When a threshold in AppDynamics is exceeded, ilert will alert the on-call person through their preferred channel, including SMS, phone calls, push notifications and Slack. ilert will automatically escalate to the next person, if the alert is not acknowledged. ilert also lets you define alerting rules based on support hours and delay alerts until your support hours start.

## In ilert: Create an AppDynamics alert source <a href="#create-alert-source" id="create-alert-source"></a>

1. Go to **Alert sources** --> **Alert sources** and click on **Create new alert source**

   <figure><img src="https://4017197022-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FjX0cS4q7woTXKajZmc1W%2FScreenshot%202023-08-28%20at%2010.21.10.png?alt=media&#x26;token=8ef3666b-84eb-4b51-abee-f07303313941" alt=""><figcaption></figcaption></figure>
2. Search for **AppDynamics** in the search field, click on the AppDynamics tile and click on **Next**.

   <figure><img src="https://4017197022-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FlXzQlJpaTFSR49AZk0xA%2FScreenshot%202023-08-28%20at%2010.24.23.png?alt=media&#x26;token=cffeacb4-57b9-47d4-827d-b0f6b1afd914" alt=""><figcaption></figcaption></figure>
3. Give your alert source a name, optionally assign teams and click **Next**.
4. Select an **escalation policy** by creating a new one or assigning an existing one.

   <figure><img src="https://4017197022-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FNnuZqONaIhbOf6fn4OkZ%2FScreenshot%202023-08-28%20at%2011.37.47.png?alt=media&#x26;token=8a74f7b5-5bd2-4eea-97fa-1c1dbb041333" alt=""><figcaption></figcaption></figure>
5. Select you [Alert grouping](https://docs.ilert.com/alerting/alert-sources#alert-grouping) preference and click **Continue setup**. You may click **Do not group alerts** for now and change it later.

   <figure><img src="https://4017197022-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2FueugN4JgHn1c90ggFA6u%2FScreenshot%202023-08-28%20at%2011.38.24.png?alt=media&#x26;token=b8009daf-3ca8-4264-a6fa-e42ef7333205" alt=""><figcaption></figcaption></figure>
6. The next page show additional settings such as customer alert templates or notification prioritiy. Click on **Finish setup** for now.
7. On the final page, an API key and / or webhook URL will be generated that you will need later in this guide.​

   <figure><img src="https://4017197022-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M76ygPnS4HUcFSX8ulm%2Fuploads%2Fi3TIOBvNYBQfDtNpmm0A%2FScreenshot%202023-08-28%20at%2011.47.34.png?alt=media&#x26;token=6cae965a-e448-4443-8c20-37cf501c43b2" alt=""><figcaption></figcaption></figure>

## In AppDynamics: Create HTTP Request Template <a href="#in-appdynammics" id="in-appdynammics"></a>

1. Go to **Alert & Respond** --> **HTTP Request Templates** and click on **New** to add a new template

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T23xduBzuCWEBYRh9%2Fad1.png?alt=media\&token=0cacd935-9f20-4019-aa47-fca2493bd6d0)

2. Give the template a name (e.g. "ilert Notification") and add the following **Custom Templating Variables**:
3. `ilertApiKey` - set it to the alert sources's API key from above
4. `ilertEventType` - set it to `ALERT`
5. In the **Request URL** section, set the the **Method** to `POST` and the **Raw URL** to `https://api.ilert.com/api/v1/events`

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T2B7DDAmYZCnR72le%2Fad2.png?alt=media\&token=5e8197c1-54bb-4fe1-b22f-e11911138622)

6. In the **Custom Request Headers** section, add the following header `Accept`: `application/json`
7. In the *Payload* section, set the MIME type to `application/json` and copy and paste the following JSON payload:

```
{
"apiKey": "${ilertApiKey}",
"eventType": "${ilertEventType}",
"incidentKey": "${latestEvent.node.name} - ${latestEvent.application.name}",
"summary": "${latestEvent.displayName} on ${latestEvent.node.name}"
}
}
```

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T2Jb7jF7YgXGVjizC%2Fad3.png?alt=media\&token=86003eb3-ad4a-4bed-8d49-f55fd079f3bd)

8. In the **Response Handling Criteria** section, add the following **Success Criteria**

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T2QsUgwAsZGHJC5FB%2Fad4.png?alt=media\&token=eb1ff53f-9111-4861-9bdd-73edb096e2e2)

9. Under **Settings**, check **One Request Per Event** and click on **Save**

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T2_lK9FLAIiU_W6se%2Fad5.png?alt=media\&token=819aa8a5-00ea-4fde-b37d-cc45e1829b07)

\*\*\*\*

### Test the HTTP Request Template

You can now test the template to make sure an alert is created in ilert.

1. Click the *Test* button at the bottom of the page
2. Click *Add Event Type* and select any event and then click *Run Test*.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T2nIRwtbnXSwD8SnL%2Fad6.png?alt=media\&token=bf2a0b10-11ef-41bb-99a3-5c83927245b5)

3. Go to ilert and check that an alert has been created by AppDynamics.

### Create action

1. Go to **Actions** in the left navigation menu, select an application, server or database to create the action for, and click **Create**

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T2znxMv96GrmA8WN7%2Fad7.png?alt=media\&token=504ec40d-e89a-474d-b9df-3169b4aa42d3)

2. Select **HTTP Request** from the list and click **OK**.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T32nf-BG-ZWwUsIfS%2Fad8.png?alt=media\&token=404ae3a6-1a04-4215-9513-28e19ad1e7b1)

3. Give the action a name, e.g. "ilert Alert" and select the ilert **HTTP Request Template** from above and click on **Save**.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3B8jt5RFBUVtz8UM%2Fad9.png?alt=media\&token=fed31217-0c6f-4389-970d-cded8ce360f3)

4. Create another action that will be used to resolve alerts in ilert. Give the action a name (e.g. “ilert Resolve”) and select the same HTTP template again. Change the `iLertEventType` from `ALERT` to `RESOLVE`, then click **Save**.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3F52JuLYhOb8mx12%2Fad10.png?alt=media\&token=0bba43e2-a1b6-4212-8e61-eb191525af84)

### Create policy

1. You can use the above actions in your policies. Go to **Policies** in the left navigation menu, select an application, server or database to create the policy for, and click **Create**

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3U26LSXCr6EusO1-%2Fad11.png?alt=media\&token=ae862ad4-0df1-4885-99af-587aa3c76e64)

2. On the **Triggers** tab, create a new policy with the settings that should create alerts in ilert.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3Ws5ZhFj5nhKcKIs%2Fad12.png?alt=media\&token=85c9ed13-80fc-4a90-9c1d-867d85bddf67)

3. Switch to the **Actions** tab and add the **ilert Alert** that you've created above. Then, click on **Save**.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3_hJVWqfauHwULsF%2Fad13.png?alt=media\&token=a8c224f4-73e0-41d8-98ee-fe1bc32214d8)

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3czbLWpeJHReVsIQ%2Fad14.png?alt=media\&token=366bcf59-56cf-4f94-a6dd-eeab99ec1665)

4. Now repeat the last 3 steps with your desired recovery conditions to have alerts in ilert close automatically when your application, server or database in AppDynamics recovers.

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3h14U0pM26-SeV0I%2Fad15.png?alt=media\&token=dbb1217c-b756-4595-b575-9efd35731c5c)

![](https://3394882078-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M76ygPnS4HUcFSX8ulm%2F-M9T1MvVPcgLotUblw6f%2F-M9T3kXbA5zmq-2kKFgH%2Fad16.png?alt=media\&token=818ab06a-b926-4973-92dd-1cee60ae3e61)

## FAQ <a href="#faq" id="faq"></a>

**Will alerts in ilert be resolved automatically?**

Yes, as soon as the recovery conditions of application, server or database are met, the alert in ilert will be resolved automatically.

**Can I use AppDynamics with multiple alert sources from ilert?**

Yes, you can create arbitrary mappings between your applications in AppDynamics and alert sources in ilert. Simply create additional actions in AppDynamics using the same HTTP Request Template with a different `ilertApiKey`.

**Can I customize the alert messages?**

Yes, you can customize the events sent to ilert by changing the JSON payload in the **Payload** section of the **HTTP Request Template**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ilert.com/integrations/inbound-integrations/appdynamics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
