AppDynamics Integration Guide

AppDynamics is an all-in-one web application performance tool that measures efficiency and offers real-user monitoring for the entire IT infrastructure.

Integrate AlertOps’ alert management platform with AppDynamics to receive and respond to critical alerts through email, SMS, push notification, and phone alerts. AlertOps ensures that alerts received from AppDynamics always reach the correct, available team member by utilizing escalation policies and on-call schedules. Based on your ruleset, incidents can be automatically opened and closed, depending on what event AppDynamics sends out.

The above scenario and scope for integration is due to the fact that AlertOps has a very flexible and simple API/Webhook configuration feature that can be leveraged with AppDynamic's alerts, policies, and action templates.

AlertOps Configuration

  1. From the main menu, click on Integrations and then select Inbound Integrations from the sub menu.

  2. Select API tab

  3. Select the 'ADD API INTEGRATION' button.

  4. You should now be on the API Integration Detail page. Select AppDynamics from the pre-built Integration Templates.

  5. Enter a name for the integration. Select an escalation rule to determine the integration's escalation policy. And, enter the names of recipient group(s) and recipient user(s). Click 'SAVE.' Then, click 'COPY URL' to copy the URL endpoint to be used in the AppDynamics configuration.

6. Once you create the integration, under 'Advanced Settings' and under 'URL Mapping' you can see the rules for opening and closing alert based on data that is received from AppDynamics.

You can similarly define URL mappings as you want (depending on what payload you define in AppDynamics), owing to the flexibility provided by AlertOps’ OpenAPI/Plug-and-Play integrations. You can provide other filters and match with regex expressions as well. You can also test the generated URL with the sample data provided.

AppDynamics Configuration

Step 1: In AppDynamics, click on the Alert & Respond tab.

Step 2: Select the HTTP Request Templates tab.

Step 3: Create a new HTTP Request template.

Step 4: Fill out the necessary information, while creating any necessary custom template variables. Paste the AlertOps Inbound Integration API URL under Request URL.

Paste the following in the Payload Body

{ #set( $emessage = ${latestEvent.eventMessage} ) #set( $emessage = $emessage.replace("", "") ) #set( $emessage = $emessage.replace("", "") ) #set( $emessage = $emessage.replace("
", "") ) "sourceID":"${latestEvent.node.name} - ${latestEvent.application.name}", "applicationName":"${latestEvent.application.name}", "displayName":"${latestEvent.displayName}", "summaryMessage":"${latestEvent.summaryMessage}", "id":"${latestEvent.id}", "guid":"${latestEvent.guid}", "time":"${latestEvent.eventTime}", 5 "eventType":"${latestEvent.eventType}", "eventTypeKey":"${latestEvent.eventTypeKey}", "nodename":"${latestEvent.node.name}", "latest_tier_name":"${latestEvent.tier.name}", "eventMessage":"${emessage}", "severity":"${latestEvent.severity}", "policyId":"${policy.id}", "policyName":"${policy.name}", "actionName":"${action.name}", "actionId":"${action.id}", "sourceURL":"${latestEvent.deepLink}", "severityImageURL":"${latestEvent.severityImage.deepLink}", "severityImageMime":"${latestEvent.severityImage.mimeContentRef}", "fullEvents":"${fullEventsNodeMap}", #if(${latestEvent.healthRule.name}) "check": "${latestEvent.healthRule.name}", #else "check": "${latestEvent.eventTypeKey}", #end }

Step 5: Test and save the integration.

Step 6: Go to the Policies tab.

Step 7: Create a new policy.

Step 8: Select Health Rule Violation Events for which you want alerts for. For the tabs, 'Health Rule Scope' and 'Object Scope' select the options 'Any Health Rule' and 'Any Object'. (You can alternatively select this as per your needs)

Step 9: In the actions tab, add a new action, create a new action.

Step 10: Under Create action, select 'Make an HTTP Request'. Set the request template you had configured and then save the policy.

Thats it! You have created a HTTP request template, added it to an Action, and defined a policy to be triggered if there is a health rule violation or recovery. Any alert will be sent to AlertOps for incident management.

Message logs, alert specific information can be viewed in the “Inbound Log” section in AlertOps Dashboard. Alerts can be viewed in the ‘Alerts’ tab as well.

Alert Triggering Information

AlertOps will automatically create an incident when a new alert is received from AppDynamics with an eventTypeKey status of “CRITICAL/STARTED/ERROR”

If an alert with status “CRITICAL/STARTED/ERROR” matches an existing Open Alert, AlertOps will recognize the new alert as a duplicate and ignore the alert. The alert will be recorded in the Inbound Messages table as “Mapped Appended.”

AlertOps will automatically close the same incident when an alert with an eventTypeKey status “RESOLVED/ENDED/CANCELLED” is received.

Testing and Troubleshooting

Click here to read about Web API Testing and Troubleshooting. 

Did this answer your question?