AppDynamics

Get Alerts into Squadcast from AppDynamics

AppDynamics develops application performance management solutions that deliver problem resolution for highly distributed applications.

Route detailed alerts from AppDynamics to the right users in Squadcast.

Using AppDynamics as an Alert Source

  1. Navigate to Services -> Service Overview -> select or search for your Service. Expand the accordion -> In the Alert Sources section, click Add.

Integration of AppDynamics as an alert source in squadcast

2. Select AppDynamics. Copy the displayed Webhook URL to configure it within AppDynamics. Finish by clicking Add Alert Source -> Done.

Webhook URL configuration within AppDynamics in Squadcast

Important:

When an alert source turns Active, it’ll show up under Configured Alert Sources, you can either generate a test alert from the integration or wait for a real-time alert to be generated by the Alert Source. An Alert Source is active if there is a recorded incident via that Alert Source for the Service.

Create an HTTP Request Template in AppDynamics

In AppDynamics dashboard, click on Alert & Respond menu, then select HTTP Request Templates and click the New button.

creating HHTP request templets in AppDynamics

In the Create HTTP Request Template box, enter an appropriate Name such as Squadcast Integration Template and then add a Custom Templating Variable named sc_event_type and the default value as triggered.

In the Request URL section, select the Method as POST and paste the URL you have obtained from the previous section into Raw URL and URL Encoding as UTF-8 and in the Authentication section, select the Type as NONE.

Creating HTTP request Template using raw URL in AppDynamics

In the Payload section, select the MIME Type as application/json and Payload Encoding as UTF-8 and in the payload body, paste the below JSON.

{    
   "incident_key": "${latestEvent.node.name} - ${latestEvent.application.name}",
   "event_type": "${sc_event_type}",
   "description": "${latestEvent.displayName} on ${latestEvent.node.name}",
   "client": "AppDynamics",
   "client_url": "${controllerUrl}",
   "details": {
 "event_name": "${latestEvent.displayName}",
 "summary": "${latestEvent.summaryMessage}",
 "event_id": "${latestEvent.id}",
 "guid": "${latestEvent.guid}",
 "event_time": "${latestEvent.eventTime}",
 "event_type": "${latestEvent.eventType}",
 "event_type_key": "${latestEvent.eventTypeKey}",
 "application_name": "${latestEvent.application.name}",
 "node_name": "${latestEvent.node.name}",
 "message": "${latestEvent.eventMessage}",
 "severity": "${latestEvent.severity}"
   },
   "contexts":[
 {
   "type": "image",
   "src": "${latestEvent.severityImage.deepLink}",
   "alt": "${latestEvent.severity}"
 },
 {
   "type": "link",
   "href": "${latestEvent.deepLink}",
   "text": "View this transaction in AppDynamics"
 }
   ]
}
MIME typs as application/json in the payload section in HTTP request templates

In the Response Handling Criteria section, click on Add Success Criteria button and select the Status Code as 200 and check the Expect Payload checkbox and select the Content Type as application / json

In the Settings section, check the One Request Per Event checkbox and click the Save button.

Create Trigger and Resolve Actions in AppDynamics

Go to Actions and then create a New Action, and then in the Create Action box, select Make an HTTP Request radio button and select OK.

Create actions in AppDynamics to trigger and resolve it

In the Create HTTP Action box, enter the name as Squadcast - Triggered and select the HTTP Request Template which we have saved earlier as Squadcast Integration Template and click the Save button.

selecting HTTP request template in HTTP action box with the name Squadcast - triggered

Create one more action with name as Squadcast - Resolved and select the same HTTP Template and change the value of sc_event_type to resolved and click on the Save button.

Selecting HTTP request template in HTTP action box with the name Squadcast - Resolved

Assign Actions to Policies

Now you have to setup policies and assign actions to them such that when those alerts are fired, the corresponding action will be initiated.

Ideally assign the Squadcast - Triggered action to all Critical or Warning events which has started and assign the Squadcast - Resolved action to all Critical or Warning events which was cancelled or ended, so that the incidents can be Auto-Resolved in Squadcast when those events end.

setting-up policies and assign triggered and resolved actions

That's it! Now you AppDynamics integration is good to go and incidents will be created and resolved in Squadcast based on your AppDynamics policies.

Have any questions? Ask the community.

Last updated