Set up a PagerDuty integration

Statuspage integrates with PagerDuty by parsing the webhooks that are sent when PagerDuty incidents are triggered, acknowledged, resolved, or otherwise updated.

How this integration works

With this integration, you can:

  • Degrade one or more components when a PagerDuty incident is triggered

  • Create a Statuspage incident from an incident template when a PagerDuty incident is triggered

  • Wait for an Acknowledge signal from PagerDuty before creating the incident within Statuspage

  • Update/resolve the Statuspage incident as the PagerDuty incident is updated/resolved - with support for different incident templates for each.

  • Combine multiple PagerDuty incidents into a single Statuspage incident

  • Ignore any PagerDuty incidents during an active Statuspage scheduled maintenance period

Set up a PagerDuty integration

1. Select Apps in the left side navigation of the Statuspage management interface.

2. Find PagerDuty in the list of apps available.

3. Select Add.

4. Select Link your PagerDuty account.

a. Enter your PagerDuty subdomain, and a full access v2 Current API key (read-only won't work).

b. Your subdomain can be found in the PagerDuty URL while you’re logged in to PagerDuty.

5. Find or create your PagerDuty API key by going to Configurations > API Access in PagerDuty.

Shows the PagerDuty API Access Keys screen where your API keys are listed and you can create new ones.

6. Select Link account once you enter your Pagerduty information. Your list of PagerDuty services is pulled into Statuspage and displayed on the PagerDuty setup screen.

7. Add rules for the services you want to have this integration work for. You can set component rules and incident rules.

a. For example, pictured below you can see two Statuspage components (API and Management Portal) will be set to Major Outage when the PagerDuty API service opens an incident.

b. This is also where you’d set some incident rules, where you can open an incident using Statuspage templates when the PagerDuty service triggers and incident.

The rules for the Pagerduty integration so that events happen in Pagerduty, components are changed in Statuspage

8. Select Save rules.

Your integration will now work according to the component and incident rules you set for your Statuspage components related to your Pagerduty services.

 

Public status pages

For public-facing status pages, you may want to err on the conservative side of communication. You may only want a single PagerDuty-related incident to be open at a time only after it has been acknowledged and confirmed as a real issue.

Private status pages

Private status page users may be more interested in getting their PagerDuty stream included in the incident workflow and have updates for actions like escalations, reassignments, acknowledges, etc. Different incident templates can be configured for the different stages in the incident lifecycle and can be configured to embed data from the webhook directly into the message update body.

Embedding PagerDuty webhook information

If you’re using incident templates, we support the Mustache templating syntax and the usage of PagerDuty webhook information directly in the incident name and message body.

Below, you can see the level of data we make available to you under the pagerduty top-level key.

PagerDuty webhook

For example, to inject the email of the user assigned to the incident, you would use {{pagerduty.incident.assigned_to_user.email}} in the incident template.

 

PagerDuty integration FAQ

What exactly can be automated using the integration?

You can automate just component status changes, just incident creation/updating, or both component and incident changes. It’s common to use the integration to only automate components for public status pages, while incident automation is typically used for alerting a wider group of internal stakeholders or the whole company.

I have a large list of PagerDuty services. Which ones should I use for the integration?

Usually, a subset of services integrates with Statuspage. As a starting point you'll want to integrate any services marked with high severity levels or signify customer-facing incidents.

My services are fairly broad. As an example, all of our API and Dashboard alerts get piped into one 'Pingdom' service within PagerDuty? How can I map this to Statuspage?

Since Statuspage lets you map PagerDuty services to Statuspage components, you may need to make your PagerDuty services more granular. As an example, you could split out your 'Pingdom' service into 'Pingdom - API' and 'Pingdom - Dashboard'. This will give you greater control over your Statuspage automation and will also give you better reporting and analytics within PagerDuty.

I'd like to use the integration to notify a wider set of employees in my organization. What's pricing look like?

Statuspage has pricing specific to private, internal pages, which can be found here. Contact our support team if you'd like to learn more.

How are components associated with incidents using PagerDuty/Incident Templates?

We do not associate components with an incident based on a component change from a PagerDuty rule. Components are only associated with an incident based on the selections made under "alert users subscribed to" in the incident template.

Last modified on Sep 23, 2020
Cached at 10:16 PM on Oct 27, 2020 |

Additional Help

Ask the Community