Configuring AppDynamics as an event source

AppDynamics provides application performance and availability monitoring. You can set up an integration with Netcool® Operations Insight® to receive alert information from AppDynamics.

Before you begin

The following event types are supported for this integration:
  • Application monitoring
  • End-User Monitoring (RUM: Mobile and Browser)
  • Database visibility
  • Infrastructure/Server visibility

About this task

Using a webhook URL, you set up an integration with AppDynamics, and create customized HTTP request templates to post alert information to event management based on trigger conditions set in actions as set in AppDynamics policies. The alerts generated by the triggers are sent to the event management service as events.

Procedure

  1. Click Administration > Integrations with other systems.
  2. Click New integration.
  3. Go to the AppDynamics tile and click Configure.
  4. Enter a name for the integration and click Copy Copy to add the generated webhook URL to the clipboard. Ensure you save the generated webhook to make it available later in the configuration process. For example, you can save it to a file.
  5. Click Save.
  6. Log in to your account at https://www.appdynamics.com/.
  7. Create a new HTTP request template:
    1. Click the Alert & Respond tab.
    2. Click HTTP Request Templates in the menu bar, and click New to add a new template.
    3. Enter a name for the template.
    4. In the Request URL section, select POST from the Method list, and paste the webhook URL from event management in the Raw URL field.
    5. In the Payload section, select application/json from the MIME Type list, and paste the following text in the field:
      { 
      	"controllerUrl": "${controllerUrl}",
      	"accountId": "${account.id}",
      	"accountName": "${account.name}",
      	"policy": "${policy.name}",
      	"action": "${action.name}",
      	#if(${notes})
      		"notes": "${notes}",
      	#end
      	"topSeverity": "${topSeverity}",
      	"eventType": "${latestEvent.eventType}",
      	"eventId": "${latestEvent.id}",
      	"eventGuid": "${latestEvent.guid}",
      	"displayName": "${latestEvent.displayName}",
      	"eventTime": "${latestEvent.eventTime}",
      	"severity": "${latestEvent.severity}",
      	"applicationName": "${latestEvent.application.name}",
      	"applicationId": "${latestEvent.application.id}",
      	"tier": "${latestEvent.tier.name}",
      	"node": "${latestEvent.node.name}",
      	#if(${latestEvent.db.name})
      		"db": "${latestEvent.db.name}",
      	#end
      	#if(${latestEvent.healthRule.name})
      		"healthRule": "${latestEvent.healthRule.name}",
      	#end
      	#if(${latestEvent.incident.name})
      		"incident": "${latestEvent.incident.name}",
      	#end
      	"affectedEntities": [
      	#foreach($entity in ${latestEvent.affectedEntities})
      		{
      		  "entityType": "${entity.entityType}",
      		  "name": "${entity.name}"
      		} #if($foreach.hasNext), #end
      	#end
      	],
      	"deepLink": "${latestEvent.deepLink}",
              "summaryMessage": "$!{latestEvent.summaryMessage.replace('"','')}",
              "eventMessage": "$!{latestEvent.eventMessage.replace('"','')}",
      	"healthRuleEvent": ${latestEvent.healthRuleEvent},
      	"healthRuleViolationEvent": ${latestEvent.healthRuleViolationEvent},
      	"btPerformanceEvent": ${latestEvent.btPerformanceEvent},
      	"eventTypeKey": "${latestEvent.eventTypeKey}"
       }
    6. In the Response Handling Criteria section, under Success Criteria, click Add Success Criteria, and select 200 from the Status Code list.
    7. In the Settings section, select the Check One Request Per Event check box.
    8. Click Save.
  8. Test your new template. Click Test, then click Add Event Type, and select an event type. Click Run Test. Sample test events are generated and correlated into an incident in event management.
    To view the incident and its events, go to the Incidents tab on the event management UI, click the All incidents list, and look for incidents that have a description containing Cluster: Sample tier. The event information for these incidents have the event source type set to AppDynamics. The event information is available by clicking Events on the incident bar, and then clicking the See more info button to access all details available for the selected event.
  9. Create a new action and add your new template to the action:
    1. Click Actions in the menu bar, and click Create Action to add a new template.
    2. Select the Make an HTTP Request radio button, and click OK.
    3. Enter a name for the action and select the template you created from the HTTP Request Template list.
    4. Click Save.
  10. Add the new action to your AppDynamics policies:
    1. Click Policies in the menu bar, and click Create Policy to add a new policy, or click Edit to edit an existing policy.
    2. Click Trigger in the menu bar, and select the check box for the events that you want to have alerts triggered as part of this policy. The events you select depend on your environment and requirements. For example, you can select all the Health Rule Violation events.
    3. Click Actions in the menu bar, and click Add.
    4. Select Make an HTTP Request from the list and click Select.
    5. Click Save.
  11. To start receiving alert information from the AppDynamics policies based on trigger conditions, ensure that Enable event management from this source is set to On..