Catchpoint Integration

Catchpoint provides an adaptive monitoring and analytics platform for cloud infrastructure and web applications. OpsGenie is an alert and notification management solution that is highly complementary to Catchpoint's alerting mechanism.

​What does OpsGenie offer to Catchpoint users?

Catchpoint sends alert notifications to OpsGenie API, with detailed information. OpsGenie acts as a dispatcher for these alerts, determining the right people to notify based on on-call schedules, notifying them using email, text messages (SMS), phone calls and iOS & Android push notifications, and escalating alerts until the alert is acknowledged or closed.


Functionality of the integration

  • When an alert is created in Catchpoint, an alert is also created in OpsGenie automatically through the integration.
  • When alert notification level is changed for a Catchpoint test, the alert that created in OpsGenie is closed automatically.

Configuring OpsGenie side of the integration

  1. Please create an OpsGenie account if you haven't done already
  2. Go to Catchpoint Integration page
  3. Specify who should be notified for Catchpoint alerts using the "Teams" field. Auto-complete suggestions will be provided as you type. 
  4. Copy the integration API Key by clicking on the copy button or selecting. You'll be using this in the Catchpoint configuration.
  5. Click "Save Integration".

Configuration in Catchpoint

  1. Login to the Catchpoint Portal and go to Settings -> API

  2. In the Alerts API section, paste in the OpsGenie Catchpoint URL with apikey: https://api.opsgenie.com/v1/json/catchpoint?apiKey=YOUR_API_KEY
  3. Select "Template" as Format and click "Add New".
  4. Select "JSON" as the format of the template.

  5. Copy template file contents from here
  6. Save the template and save the API configuration.

You can now manage your Catchpoint alerts at OpsGenie and leverage its full alerting functionality.

Advanced

You can customize Catchpoint alert template for additional information for OpsGenie.

For example alertCreateDate field is added to template:

{
    "testName": "${TestName}",
    "testId": "${TestId}",
    "testUrl": "${TestUrl}",
    "alertTypeId": "${AlertTypeId}",
    "productName": "${ProductName}",
    "clientId": "${ClientId}",
    "notificationLevel": "${switch("${notificationLevelId}","0","WARNING","1","CRITICAL","3","OK")}",
    "nodeName":"${nodeDetails("${nodeName}")}",
    "nodeServerAddress":"${nodeDetails("${NodeServerAddress}")}",
    "alertCreateDate":"${alertCreateDateUtc}"
}
Simply, you can use {{_payload.variable_name}} variable for alert properties. E.g. :

Refer to doc for information about dynamic fields.

Sample payload sent from Catchpoint

Create Alert payload:
{
  "message": "WARNING - Yahoo Test",
  "testName": "Yahoo Test",
  "testId": "81093",
  "testUrl": "http://www.yahoo.com",
  "alertTypeId": "7",
  "productName": "tests",
  "clientId": "24",
  "notificationLevel": "WARNING",
  "nodeName": "New York - Level3",
  "nodeServerAddress": "98.139.180.149",
  "description": "Description"
}
 

Sample alert