AppDynamics
AppDynamics delivers application performance management solutions to help teams analyze and optimize digital business performance in real time. This workflow lets you send actionable alerts to on-call resources when xMatters gets a signal from AppDynamics. Responders can initiate an incident with the press of a button, or you can build on the flow to perform automated resolution tasks.
How it works
When an alert is generated in AppDynamics, it sends a JSON-formatted webhook to xMatters, based on user-defined alert rules. An AppDynamics trigger in xMatters parses the webhook and initiates a flow. The webhook includes essential alert data you can use to enrich notifications to users or when building automated tasks.
Install the workflow
The following instructions describe how to install the workflow through the xMatters one-click installation process. If you already installed the previous, built-in version of the integration, you can find instructions here.
- Go to the Workflows Templates page and click the AppDynamics tile.
- On the Set up the Workflow tab, give the workflow a name that identifies its purpose (this must be unique in your instance), add an optional description, and set the default incident type (if applicable). Any built-in Initiate Incident steps in the workflow will automatically be set to the selected incident type.
- You can edit these later, if needed.
- Click Next to set up the connection.
- Choose the authentication method. A trigger URL is generated based on the selected authentication method.
- Copy the trigger URL — you’ll use this to configure the webhook in AppDynamics.
- The trigger URL includes the recipients parameter, which specifies who should be notified. By default, this parameter is set to notify you (the logged in user), but you can set it to target any user or group you want.
- You can copy the Configuration Payload to configure the signal in the source application.
- Send a test signal to the trigger URL to test the connection.
- Click Open Workflow to view and customize the workflow, or Close to return to the Workflows page.
Configure AppDynamics to send requests to the trigger URL
To have AppDynamics send alerts to the flow trigger, you need to configure a webhook and set it to use the trigger URL.
- Log in to your AppDynamics controller and navigate to Alert & Respond > HTTP Request Templates.
- Click New to create a new template, then name the new template xMatters.
- In the Request URL section, set the Method to POST.
- Paste the trigger URL you copied from Flow Designer into the Raw URL field.
- Add the target names of any recipients you want to notify when the alert fires.
- For URL authentication, use an ampersand to attach recipients. For example, if you want to notify Emma Pearson and the on-call members in the group responsible for the Antares service, you'd add &recipients=epearson,antares to the end of the URL.
- For other authentication types, use a question mark to attach recipients. For example, if you want to notify Barry Gull and the on-call members in the group responsible for the Cassiopeia service, you'd add ?recipients=bgull,cassiopeia to the end of the URL.
- You must URL-encode any special characters or spaces in the target names.
- In the Payload section, set the MIME Type to application/json.
- Paste the following Configuration Payload into the Payload field. Copy
{
"account_name": "${account.name}",
"policy_name": "${policy.name}",
"latest_disp_name":"${latestEvent.displayName}",
"latest_app_name":"${latestEvent.application.name}",
"latest_time":"${latestEvent.eventTime}",
"latest_tier_name":"${latestEvent.tier.name}",
"latest_severity":"${latestEvent.severity}",
"latest_node_name":"${latestEvent.node.name}",
"events": [
#foreach( $event in $fullEventList )
{
"event_name": "$event.displayName",
"event_message": "$event.eventMessage",
"event_node_name": "$event.node.name",
"event_tier_name": "$event.tier.name",
"event_time": "$event.eventTime",
"event_link": "$event.deepLink",
"event_severity_image": "$event.severityImage.deepLink"
}#if( $foreach.hasNext ),#end
#end
],
"top_severity": "${topSeverity}",
"controller_url": "${controllerUrl}",
"action_name": "${action.name}",
"action_trigger_time": "${action.triggerTime}"
} - If you want to receive an alert for each new event detected, enable the One Request Per Event check box.
- Save the template.
Next you'll need to create an action and append it to a policy.
- From the left-hand menu, select Policies.
- Select an existing policy from the drop-down menu or create a new policy by clicking Create.
- In an existing policy, go to the Actions tab.
- Click the plus sign to add a new action.
- In the Select Action window, click Create.
- In the Create Action window, select the Make an HTTP Request radio button and click OK.
- Give the HTTP Action a unique name and then select the HTTP request template you created from the list. The Edit HTTP Action window gives you a preview of the action you just created.
- Click Save.
If your implementation requires Tier / Node information, set it in AppDynamics:
- Go to the Alert & Respond menu and select Health Rules.
- Click Affected Entities and select one of the three available Tier / Node options.
- Click Save to apply the Tier / Node changes.
You're ready to use the webhook to trigger automated flows, including steps such as sending alerts and initiating incidents, though we always recommend testing before putting things into use.
Set recipients in the trigger URL
The trigger expects the recipients in the trigger URL. When you copy the URL from xMatters, it includes the recipients parameter: recipients=<yourname>. Of course, you don’t want to receive all the alerts.
To change the recipients for alerts from this webhook, swap out your name for the people or groups you want to target.
- For URL authentication, use an ampersand to attach recipients. For example, if you want to notify Emma Pearson and the on-call members in the group responsible for the Antares service, you'd add &recipients=epearson,antares to the URL.
- For other authentication types, use a question mark to attach recipients. For example, if you want to notify Barry Gull and the on-call members in the group responsible for the Cassiopeia service, you'd add ?recipients=bgull,cassiopeia to the URL.
Remember to URL-encode any special characters, including spaces, in your group names.
We recommend using groups so you can take advantage of the xMatters group features — rotations, escalations, and absences — to reach the right on-call people to jump on an issue.
How to use the workflow
When a condition you've set fires, it sends a signal to xMatters, which creates an alert and notifies the individual or the on-call members of the people or groups you set as recipients in the webhook URL. When the trigger receives a signal saying the issue is resolved, it automatically terminates related alerts in xMatters.
The person responding to the notification has the following response options:
- Acknowledge: Acknowledges the notifications and stops escalations.
- Escalate: Immediately escalates the alert to the next on-call resolver in a targeted group.
- Close: Ends the xMatters alert and stops notifying all targeted recipients.
- Initiate Incident: Initiates an incident in xMatters.
Next Steps
Now that you've installed the workflow, you can use it as-is, or customize it to suit your needs better. Here are some examples of things you can add to the workflow to customize it:
- Use Slack, Zoom, and Microsoft Teams steps to add collaboration channels to the flow.
- Change the severity of incidents created when a recipient selects the Initiate Incident response.
- Update the message sent to resolvers to include the information most relevant to your team.
- Use the AppDynamics Events trigger to build your own custom flows.
Previous versions
While the previous, built-in version of this integration is no longer available, the instructions for it are included below for anyone who has it installed in their system already.
AppDynamics delivers application performance management solutions to help teams analyze and optimize digital business performance in real time. When events meet predetermined criteria, this integration with xMatters relays critical AppDynamics insight data to the correct people and systems to help coordinate and resolve incidents faster.
Do more with this integration
Incorporate this integration into your orchestrated incident resolution workflows with Flow Designer. After you create a configuration, the Flows tab appears. From there, you can build your flows — add new response options, connect to other apps, or even create new xMatters alerts based on activities in the flow — enriching the information injected by this integration along the way.
Get all your questions on integrating with AppDynamics answered — take a live, online workshop led by one of our xPerts.
Get started with AppDynamics
To install this integration in xMatters, simply go to Workflow Templates on the Workflows tab and start typing the name of the integration you're looking for to filter the list. Once you find it, click its tile then click Next to get to the configuration screen.
How to set up an AppDynamics integration
After you give your integration a name and description, type a name to use when sending alerts (so you can easily tell which integration the alerts are from), and add all of the users and groups you want to be notified (see the help for information on setting up users and groups).
Once you save your configuration, xMatters displays the URL and payload you need to configure AppDynamics.
Create a new HTTP Response Template in your AppDynamics instance that targets this URL with a POST request and includes the payload in json format.
- Log in to your AppDynamics controller, navigate to Alert & Respond > HTTP Request Templates, and then click New to create a new template.
- Name the new template "xMatters", and then, in the Request URL section, in the Method drop-down list, select POST.
- Paste the URL copied from your new configuration into the Raw URL field.
- In the Payload section, in the MIME Type drop-down list, select application/json.
- Paste the payload copied from the configuration into the payload field.
- Save your HTTP Request Template.
Your integration is now complete!
Use your integration
The integration uses the HTTP request template you created to inject signals into xMatters when they match the criteria you set in your AppDynamics alerting policies.
- Create a new action in AppDynamics, and select Make an HTTP Request as the action type:
- Set the action to use the xMatters HTTP request template, and then assign the action to one of your alerting policies.
Whenever the policy is triggered, the action will call the xMatters integration and notify the recipients specified in your configuration. Check out the screenshots at the top of this page to see what the notifications would look like in the xMatters mobile app.
Extending your integration
Looking to do more with xMatters and AppDynamics? If you want to tailor the settings and notifications for the integration, you can convert it to a custom workflow.