Skip to content
/ opsreview Public

Compile a report of recent PagerDuty alerts for a single escalation policy.

License

Notifications You must be signed in to change notification settings

lyft/opsreview

Repository files navigation

opsreview

Compile a report of recent PagerDuty alerts for a given list of escalation policies.

Build Status

Purpose

To keep the on-call duty tolerable, it's important to regularly review recent alerts and determine what actions need to be taken. That might be fixing the originating issue, or modifying your alerting behaviors.

Using the opsreview tool, you can quickly compile a report on recent alerts for a single escalation policy and determine what actions should be taken.

Example Output

> python pull_alerts.py

Time: Tuesday, January 19 - 9:19 AM +0000
Service: api
Description: Failing API alarm: CRON failure
URL: https://subdomain.pagerduty.com/incidents/ABC123
Notes:
['[email protected]: #a - Re-ran CRON']

Time: Tuesday, January 19 - 12:03 PM +0000
Service: api
Description: Failing API alarm: CPU percent > 10
URL: https://subdomain.pagerduty.com/incidents/ABC124
Notes:
['[email protected]: #na - Temporary spike in CPU, no action taken. Alert is too sensitive.']

Time: Tuesday, January 19 - 1:35 PM +0000
Service: www
Description: Failing WWW alarm: 5XX percent > 5
URL: https://subdomain.pagerduty.com/incidents/ABC125
Notes:
['[email protected]: #a - Bad deploy']

Setup

Update your settings. To get an API token, go to the "User Settings" tab on your PagerDuty profile and click "Create API User Token". Make sure to use a v2 token.

cp settings_example.py settings.py

# Update settings.py for your PagerDuty escalation policy.
#
# PAGERDUTY_API_TOKEN = 'yourapitoken'
# ESCALATION_POLICIES = ['PYODVQB']  # Get from https://yoursubdomain.pagerduty.com/escalation_policies#PYODVQB

Set up your environment.

pip3 install virtualenv
virtualenv venv3
source venv3/bin/activate
pip install -r requirements.txt

Run the script.

python pull_alerts.py

Timezone

By default, local timezone is used to print alert time. To change default timezone use TZ environment variable:

TZ=UTC python pull_alerts.py

About

Compile a report of recent PagerDuty alerts for a single escalation policy.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages