Send Notifications using PagerDuty

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

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

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

  • Express 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 Express whenever an incident (derived from Express) gets updated. Express 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 Express.

  4. Disable alert grouping:

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

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

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

Express 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:menus

    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 Express when an alert or incident (derived from Express) 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:express-instance-api-key@express-instance-integrations-api-url/pagerduty-webhook

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

    To determine the express-instance-integrations-api-url:

    1. Copy the events-endpoint URL from the Events API page, for example: https://api.moogsoft.cloud/express/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/express/v1/integrations/pagerduty-webhook