AppDynamics Integration

The information in this article is the intellectual property of xMatters and is intended only for use with xMatters products by xMatters customers and their employees. Further, this intellectual property is proprietary and must not be reused or resold.

Introduction

This article provides installation and configuration instructions when implementing the integration between xMatters On-Demand and AppDynamics.

How it works

AppDynamics is an application monitoring tool built for the enterprise. This integration allows you to send targeted push notifications, SMS, voice and email alerts when critical events are detected by your AppDynamics system.

The integration uses the HTTP Request Template feature in AppDynamics to inject events into xMatters based on criteria set within AppDynamics alerting policies.

Features and updates

This updated version of the integration takes advantage of the new HTTP Request Templates feature in AppDynamics, and the Integration Builder capabilities in xMatters On-Demand. 

Prerequisites

There are some tasks you can do ahead of time to make the configuration process a little smoother.

Download the communication plan

To begin, download the communication plan attached to this article; it contains everything needed for this integration. 

Note: You do not need to extract the contents of the .zip file; you will be importing the file directly into xMatters.

Create an AppDynamics user

This integration requires a REST API user to authenticate REST web service calls when injecting events.

This user needs to be able to work with events, but does not need to update administrative settings. While you can use the default Company Supervisor role to authenticate REST web service calls, the best method is to create a user specifically for this integration with a dedicated "REST Web Service User" role that includes the permissions and capabilities.

If this role does not exist in your deployment already, you may need to ask your xMatters Client Success Manager to create it for you. In the following example, this role is named "REST Web Service User".

NOTE: To successfully execute some of the tasks for this integration, the xMatters REST API user requires some additional permissions in xMatters, as indicated in the following steps.

To create a REST API user:

  1. Log in to the target xMatters system.
  2. On the Users tab, click Add.
  3. Enter the appropriate information for your new user. Because this user will affect how messages appear for recipients and how events will be displayed in the reports and Communication Center, you may want to identify the user as specific to this integration; for example:
    • First Name: AppDynamics
    • Last Name: Integration
    • User ID: appdynamics
  4. In the Roles area, add the REST Web Service User role.
  5. Click Add.

Make a note of the user credentials and details; you will need them when configuring other parts of this integration. 

Create users and groups that will receive notifications

The integration will notify groups and users when AppDynamics sends events to xMatters. Users and groups must exist in xMatters before they can be listed as recipients:

Configure xMatters

To begin setting up your integration, configure the xMatters components.

Import the communication plan

The next step is to import the communication plan into xMatters.

To import the communication plan:

  1. In the target xMatters system, click Import Plan from the Developer tab.
  2. Click Browse, and then locate the downloaded communication plan (.zip file).
  3. Click Import Plan.
    • Importing the plan will automatically enable it, and enable its forms for web services.
  4. Once the communication plan has been imported, click Edit > Forms.
  5. For the AppDynamics Event form, click Web Service Only > Sender Permissions.
  6. Enter the REST API user you created above, and then click Save Changes.

Set notification recipients

The form uses the default recipients specified on the Layout tab to determine who to notify about an incoming alert.

  1. On the Forms tab, click Edit> Layout.
  2. In the Recipients section, add the default groups and users you want to receive notifications for AppDynamics events.
  3. Click Save Changes.

Configure integration settings

After you have imported the communication plan, you need to setup the xMatters and AppDynamics endpoints.

  1. Click the Integration Builder tab, and then click Edit Endpoints.
  2. Select the xMatters endpoint, assign it to the AppDynamics REST API user you created above, and then click Save Changes.
  3. Close the Endpoints dialog box.

Accessing URLs

Each integration service in xMatters has its own URL that you can use to target it from AppDynamics.

To get the URL for an integration service:

  1. On the Integration Builder tab, expand the list of inbound integrations.
  2. Click the gear icon beside the integration service you want to target, and then select Integration URL.

Configure AppDynamics

Now that xMatters is ready to receive events, you can configure AppDynamics to send alerts into xMatters.

To configure AppDynamics:

  1. Log in to your AppDynamics controller, navigate to Alert & Respond > HTTP Request Templates , and then create a new template: 

  1. Name the new channel "xMatters", and under Request URL, in the POST drop-down list, select POST.
  2. In the Raw URL field, paste the inbound integration URL:

  1. Under Payload, in the MIME Type drop-down list, select application/json.
  2. Copy the following code and paste it into the Payload text field:
{
"account_name": "${account.name}",
"policy_name": "${policy.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
],
"severity": "${topSeverity}",
"controller_url": "${controllerUrl}",
"action_name": "${action.name}",
"action_trigger_time": "${action.triggerTime}"
}

  1. Save the HTTP Request Template.

Test the integration

You can run a quick test of the integration using Test > Run Test; and you should see a new event created in xMatters. To test the workflow and notifications, you can create a new action.

To test the integration:

  1. Create a new action in AppDynamics, and select Make An HTTP Request, using your xMatters HTTP Request Template:

  1. Assign this action to one of your policies to call the xMatters integration when that policy is triggered.

Download resources

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk