Docs
WebsiteLoginFree Trial
  • Getting Started
    • OnCall Users
    • Team Admins
    • Account Admins
  • Architecture Guide
  • Common UI Design Patterns
  • Alerts
  • Teams
  • Schedules
  • Escalation Policies
  • Integrations
  • Broadcasts
  • Users
  • Notifications
  • Reports
  • Billing
  • Accounts
  • Stakeholders
  • Maintenance Windows
  • Routers
  • Notification Rules
  • Single Sign On (SSO)
  • Integration Guides
    • Introduction
    • 66uptime
    • Apex Ping
    • AppDynamics
    • Auvik
    • AWS CloudWatch
    • Azure Monitor
    • Cloudflare
    • Cronitor
    • Datadog
    • Dead Man's Snitch
    • Echoes HQ
    • ElastAlert
    • Email
    • Form
    • Freshdesk
    • Freshservice
    • Google Hangouts Chat
    • Grafana
    • Healthchecks.io
    • HetrixTools
    • Honeybadger
    • Hydrozen
    • Jira Server
    • JotForm
    • Kapacitor
    • LogicMonitor
    • Mattermost
      • Outgoing Webhook
      • Post to Channel
    • Meta Workplace
    • Microsoft Teams
    • New Relic
    • Outgoing Webhook
    • Pingdom
    • Prometheus
    • PRTG Network Monitor
    • Pulsetic
    • Sentry
    • ServerGuard24
    • Site24x7
    • Slack
      • Notifications
      • Outgoing Webhook
      • Post to Channel
    • SolarWinds
    • Stackdriver
    • StatusCake
    • Twilio
      • Incoming SMS
      • Live Call Routing
    • Typeform
    • Uptime
    • Uptime Kuma
    • UptimeRobot
    • Webhook
    • Zendesk
  • API
    • Introduction
    • Authentication
    • Errors
    • Pagination and Filters
    • Common Model Attributes
    • Account Users
    • Alerts
    • Broadcasts
    • Comments
    • Escalation Policies
    • Events
    • Integrations
    • Logs
    • Maintenance Windows
    • Notification Rules
    • Routers
    • Schedules
    • Teams
    • Users
  • Command Line Interface (CLI)
    • PagerTree CLI: Command Line Interface
Powered by GitBook
On this page
  • What is AppDynamics?
  • How It Works
  • Integration Walkthrough
  • In PagerTree
  • In AppDynamics

Was this helpful?

  1. Integration Guides

AppDynamics

Connect your AppDynamics actions to PagerTree.

PreviousApex PingNextAuvik

Last updated 1 year ago

Was this helpful?

Company
Estimated Time
Vendor Docs
Open Source

30 minutes

What is AppDynamics?

provides application and database performance management, monitoring, and analytic tools to help you identify and resolve performance issues, drive business outcomes, increase user engagement, and deliver amazing web user experiences.

How It Works

AppDynamics triggers user defined events by monitoring applications.

  • When a monitor event is triggered (event_type === "trigger") in AppDynamics, an alert is created in PagerTree automatically.

  • When a monitor event is resolved (event_type === "resolve") in AppDynamics, the alert is resolved in PagerTree automatically.

Integration Walkthrough

In this integration tutorial we will show you how to send alerts from AppDynamics into PagerTree. The estimated time for this integration is 30 minutes. We assume that you already have a PagerTree and AppDynamics account setup.

In PagerTree

  1. by clicking the AppDynamics logo.

  2. .

In AppDynamics

Create an HTTP Request Template

  1. Go to the Alert & Respond tab, then HTTP Request Templates, then click “+ New”

  2. In the “Create HTTP Request Template” box

    1. First Section

      1. Name the template appropriately (ex: “PagerTree Integration Template”)

    2. Custom Templating Variables

      1. Add 1 custom templating variable

        1. pt_event_type with value trigger

    3. Request URL Section

      1. Select Method as POST

      2. Paste the PagerTree Endpoint URL you copied for Raw URL

      3. Select URL Encoding as UTF-8

    4. Authentication Section

      1. Select Type as NONE

    5. Payload Section

      1. Select MIME Type as application/json

      2. Select Payload Encoding as UTF-8

      3. In the text area below Payload encoding, paste the below code

appdynamics_payload.json
{    
   "incident_key": "${latestEvent.node.name} - ${latestEvent.application.name}",
   "event_type": "${pt_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"
     }
   ]
}
  1. Response Handling Criteria Section

    1. Under Success Criteria, click Add Success Criteria.

      1. Select 200 from the Status Code list

      2. Check Expect Payload checkbox

      3. Select application/json from the Content/Type list

  2. Settings Section

    1. Check “One Request Per Event”

    2. Once your template is saved you can test it to make sure an alert is created in PagerTree. Click the Test button, then click Add Event Type and select an event you want to test (our example uses “Health Rule Violation Started – Warning”, but you can pick any event type), then click Run Test. If you executed all steps correctly, PagerTree should have created an alert and notified the team member on-call. If you see that PagerTree did not create an alert, scroll to the very bottom of the Test Transcript and check the Response Payload for any errors.

Create Trigger Action

  1. Click Actions on the left menu, select an application or database to create actions for, then click “+ Create”

  2. Select Make an HTTP Request from the list and click OK.

  3. Give the action a Name (ex: “PagerTree Trigger”) and then select the template you just created from the list, then click Save.

Create Resolve Action

  1. Create another action that will be used for resolving alerts. Give the action a Name (ex: “PagerTree Resolve”) and select the template you just created again. When the form populates, change the pt_event_type for this new action to resolve, then click Save.

Create Trigger Policy

  1. Lastly, we need to add these new actions to your desired policies. Click Policies on the left menu, and either edit or create a new policy.

  2. At the top of the Create Policy dialog box Name the policy (ex: “Critical or Warn”).

  3. On the Trigger Tab, check the conditions with “Health Rule Violation Started” in the name.

  4. On the Actions Tab, click the “+” button to add an action to execute. Name the policy (ex: “Critical or Warn”). Click the Trigger Action you recently created, and then click Select. In the Create Policy Dialog click Save.

Create Resolve Policy

  1. Create another policy that triggers when any conditions with “Health Rule Violation Ended” in the name. Assign the Resolve Action to this policy.


You have successfully completed the AppDynamics Integration.


AppDynamics
v3.rb
AppDynamics
Create the integration
Copy the Endpoint URL
New HTTP Request Template
Add the custom template variable
AppDynamics PagerTree Webhook Configuration
Response Handling Criteria
One Request Per Event
Create a new action.
Select the HTTP Request action.
Name the action.
Create the "resolve" action.
Create a new Policy.
Configure the policy triggers
Set the policy action.
Create another policy for the resolve action.
AppDynamics HTTP Request Template
AppDynamics Custom Template variable
AppDynamics PagerTree Webhook Configuration
Response Handling Criteria
AppDynamics settings
AppDynamics new action
Appdynamics HTTP Request action
Appdynamics action
appdynamics resolve action
appdynamics new policy
Configure the policy triggers
AppDynamics policy action
Create another policy for the resolve action.