Wavefront

Steps to configure Wavefront integration for incident management, using Squadcast

Wavefront is a high-performance streaming analytics platform that supports observability for metrics, counters, histograms, and traces/spans.

Wavefront is unique because it scales to very high data ingestion rates and query loads. You can collect data from many services and sources across your entire application stack, and can look at details for earlier data that were ingested earlier.

You can use our Wavefront integration to route details events from Wavefront to the right users in Squadcast.

How to integrate Wavefront with Squadcast

In Squadcast: Using Wavefront 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.

How to configure Wavefront integration in Squadcast
Step 1: Navigate to Wavefront integration within a service

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

Steps to add Wavefront integration to a service in Squadcast
Step 2: Add Wavefront as an alert source for a service

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.

In Wavefront: Create a Squadcast Webhook

1. From the Home Page, navigate to Browse and select Alert Targets from the dropdown

Create a Webhook in Wavefront

2. Click on Create Alert Target to add a Webhook for Squadcast

Create an Alert Target for a Webhook in Wavefront

3. Here:

  • Give it a Name

  • Give it a Description

  • In Triggers, select Alert Firing and Alert Resolved

  • In Type, select Webhook

  • In Recipients, paste the previously copied Webhook from Squadcast in Default Recipient

  • For Content Type, select application/json

  • In Body Template, select Generic Webhook

Configure a Alert Target in Wavefront
  • Paste the below as is in the placeholder for the template

{{! https://docs.wavefront.com/webhooks_alert_notification.html#customizing-alert-target-templates }}
{{#setDefaultIterationLimit}}500{{/setDefaultIterationLimit}}
{{#setFailingLimit}}500{{/setFailingLimit}}
{{#setInMaintenanceLimit}}500{{/setInMaintenanceLimit}}
{{#setNewlyFailingLimit}}500{{/setNewlyFailingLimit}}
{{#setRecoveredLimit}}500{{/setRecoveredLimit}}
{
  "getIterationLimit": {
    "defaultIterationLimit": "{{{defaultIterationLimit}}}",
    "failingLimit": "{{{failingLimit}}}",
    "inMaintenanceLimit": "{{{inMaintenanceLimit}}}",
    "newlyFailingLimit": "{{{newlyFailingLimit}}}",
    "recoveredLimit": "{{{recoveredLimit}}}"
  },
  "iterationLimitExceed": {
    {{! These boolean values are used to check whether the iterationLimit is limiting the number of the result returned. }}
    "failingLimitExceed": "{{{failingLimitExceed}}}",
    "inMaintenanceLimitExceed": "{{{inMaintenanceLimitExceed}}}",
    "newlyFailingLimitExceed": "{{{newlyFailingLimitExceed}}}",
    "recoveredLimitExceed": "{{{recoveredLimitExceed}}}"
  },
  "alertId": "{{{alertId}}}",
  "alertTags": [
    {{#trimTrailingComma}}
      {{#alertTags}}
        "{{#jsonEscape}}{{{.}}}{{/jsonEscape}}",
      {{/alertTags}}
    {{/trimTrailingComma}}
  ],
  "tracingDashboardLinks": [
    {{#trimTrailingComma}}
      {{#tracingPageLinks}}
        "{{{.}}}",
      {{/tracingPageLinks}}
    {{/trimTrailingComma}}
  ],
  "imageLinks": [
    {{#trimTrailingComma}}
      {{#imageLinks}}
        "{{#jsonEscape}}{{{.}}}{{/jsonEscape}}",
      {{/imageLinks}}
    {{/trimTrailingComma}}
  ],
  "reason": "{{{reason}}}",
  "name": "{{#jsonEscape}}{{{name}}}{{/jsonEscape}}",
  "severity": "{{{severity}}}",
  "condition": "{{#jsonEscape}}{{{condition}}}{{/jsonEscape}}",
  "url": "{{{url}}}",
  "chartUrl": "{{{chartUrl}}}",
  "subject": "{{#jsonEscape}}{{{subject}}}{{/jsonEscape}}",
  "hostsFailingMessage": "{{#jsonEscape}}{{{hostsFailingMessage}}}{{/jsonEscape}}",
  "runbookLinks": [
  {{#trimTrailingComma}}
    {{#runbookLinks}}
      "{{{.}}}",
    {{/runbookLinks}}
  {{/trimTrailingComma}}
],
  "additionalInformation": "{{#jsonEscape}}{{{additionalInformation}}}{{/jsonEscape}}"
}
  • Click on Save

Save configurations for a Alert Target in Wavefront

You will now be able to see this newly created Alert Target being listed under Alert Targets

Create new Alert Target in Wavefront for Squadcast

4. Now from the navigation bar on the top, select Alerts. You can choose to edit an existing alert and create a new alert

Create alerts in Wavefront for Squadcast

5. In either case, for the alert, in Target List, choose the newly added Webhook for Squadcast in Alert Target and save the configuration

Adding Squadcast Webhook in the Alert Target in Wavefront

6. For the alert, now you can click on the More option to trigger a Test Alert to Squadcast. An incident for this test alert will be triggered indicating the integration is working as expected

Test Alert from Wavefront to Squadcast

That is it, you are good to go!

  • Every time an alert is created in Wavefront, an incident would be created in Squadcast.

  • When the Alert is resolved in Wavefront, the corresponding incident in Squadcast will be automatically resolved.

Have any questions? Ask the community.

Last updated