Send Notifications using PagerDuty

This integration enables you to receive just-in-time PagerDuty notifications when alerts or incidents get updated in Moogsoft Moogsoft.

This is a bidirectional integration in which the two systems synchronize their alerts and incidents:

  • Moogsoft notifies PagerDuty when it creates an alert or incident. PagerDuty then creates a new corresponding object.

  • Moogsoft notifies PagerDuty whenever it updates an alert or incident. PagerDuty then updates the corresponding object. The following events trigger an update in PagerDuty:

    • Incident status update

    • Incident severity update

    • Alert status update

    • Alert severity update

  • PagerDuty notifies Moogsoft whenever an incident (derived from Moogsoft) gets updated. Moogsoft then updates the corresponding object.

See the PagerDuty documentation for details on PagerDuty components.

Before You Begin

This integration has been validated with PagerDuty on June 12, 2020. Before you start to set up your integration, make sure that you have the necessary PagerDuty permissions to create API keys and webhook integrations.

PagerDuty setup

You need to create an API key and a webhook integration in PagerDuty.

  1. To create an API key in PagerDuty, choose Configure > API Access. Make sure the access level is Full Access.

  2. To set up a webhook integration:

    1. Choose Configuration > Event Rules.

      and click Create Ruleset.

    2. Click Create Ruleset and enter the ruleset title and owner.

    3. Edit the new ruleset to access the integration key.

  3. Note the API and Integration keys — you will need to enter these in Moogsoft.

  4. Disable alert grouping:

    1. Navigate to the Alert Grouping page for your Moogsoft integration: Configuration > Service Directory >Moogsoft-integration-name > Response > Alert Group.

    2. Select Do not group alerts automatically for this service.

      This ensures that PagerDuty notifies Moogsoft for both alert and incident updates.

Moogsoft setup

Set up an integration with PagerDuty as follows:

  1. Set up your PagerDuty credentials: select an existing set of credentials or click Add New Credentials.

  2. Go to Integrations > PagerDuty and specify the following:

    1. The PagerDuty credentials need to include:

      1. The API Key from your PagerDuty user profile.

      2. Your Integration Key from the integration you defined in PagerDuty.

    2. The data types to synchronize -- Incidents, Alerts, or Both.

    3. Optionally, you can specify a filter for the objects you want to synchronize with PagerDuty.

Bidirectional setup

Perform these steps if you want PagerDuty to notify Moogsoft when an alert or incident (derived from Moogsoft) gets updated.

  1. In PagerDuty, choose Configuration > Event Rules.

  2. Click Create Ruleset and specify the ruleset name and PagerDuty team.

  3. Choose Configuration > Extensions.

  4. Click New Extension and specify the options as follows:

    1. Extension Type = Generic V2 Webhook

    2. Details

      Enter the following URL:

      http://moogsoft:instance-api-key@instance-integrations-api-url/pagerduty-webhook

    To determine the instance-api-key, go to the Moogsoft UI > Integrations > Events API page and copy the apiKey from the example cURL request.

    To determine the instance-integrations-api-url:

    1. Copy the events-endpoint URL from the Events API page, for example: https://api.moogsoft.cloud/v1/integrations/events

    2. Remove the opening scheme (http://).

    3. Replace the last path segment (events) with pagerduty-webhook.

    The full URL for the extension should look like this:

    http://moogsoft>my-instance_abcdefg_hijk_lmnop@api.moogsoft.cloud/v1/integrations/pagerduty-webhook