Why PagerDuty?
PagerDuty is ideal for alerts that require immediate human intervention:- On-call routing: Automatically page the right person based on schedules
- Escalation: Ensure critical alerts don’t go unnoticed
- Incident management: Track response and resolution
- Deduplication: Related alerts are grouped together
Prerequisites
Before you begin:- PagerDuty account with admin access (or permission to create integrations)
- AnomalyArmor account with alert configuration permissions
- A PagerDuty service configured for your data infrastructure
Setup Guide
Step 1: Create a PagerDuty Integration
In PagerDuty:- Go to Services and select (or create) a service for data alerts
- Click Integrations tab
- Click Add Integration
- Search for Events API v2 and select it
- Click Add
- Copy the Integration Key (also called Routing Key)
The Integration Key is a 32-character string that looks like:
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6Step 2: Add Destination in AnomalyArmor
- Log in to AnomalyArmor
- Click Alerts in the left sidebar
- Select Destinations tab
- Click Add Destination
- Select PagerDuty
Step 3: Configure the Destination
Enter the following:| Field | Description |
|---|---|
| Name | A descriptive name (e.g., “PagerDuty - Data Platform”) |
| Integration Key | The key copied from PagerDuty |
Step 4: Test the Connection
Click Test to send a test event to PagerDuty.Step 5: Save
Click Create Destination to complete the setup.Alert Format
AnomalyArmor sends events using the PagerDuty Events API v2 format:| Field | Value |
|---|---|
| Summary | Alert title with context |
| Source | anomalyarmor |
| Severity | critical (all PagerDuty alerts are high priority) |
| Dedup Key | Unique identifier to group related alerts |
Since PagerDuty is reserved for critical alerts, all events sent to PagerDuty use the
critical severity level. Use Slack or email for lower-priority notifications.Custom Details
Each PagerDuty incident includes:- Rule name that triggered the alert
- Event type (schema_change, freshness_violation, etc.)
- Alert description
- Asset ID
- Link to view in AnomalyArmor
Best Practices
Use PagerDuty for Critical Alerts Only
Good use cases:- Production column removed
- Critical table freshness SLA violated
- Breaking schema changes in production
- Development database changes (use Slack)
- Informational schema additions (use email)
- Routine freshness warnings (use Slack digest)
Set Up Proper Escalation
Configure your PagerDuty service with:- Acknowledgement timeout: Auto-escalate if not acknowledged (e.g., 5 minutes)
- Escalation policy: Include backup responders
- On-call schedule: Ensure 24/7 coverage for critical services
Combine with Other Destinations
Create alert rules that send to multiple destinations: Production Breaking Changes- Event: Schema Change
- Scope: production databases
- Conditions: Column removed OR type changed
- Destinations: PagerDuty (immediate paging), Slack #data-incidents (team visibility), Email data-eng-list@company.com (record)
Troubleshooting
”Invalid routing key”
Cause: The integration key is incorrect or the integration was deleted in PagerDuty. Fix:- Go to your PagerDuty service
- Check the Events API v2 integration still exists
- Copy a fresh integration key
- Update the destination in AnomalyArmor
Incidents not appearing
Cause: Service is disabled or in maintenance mode. Fix:- Check the PagerDuty service is enabled
- Verify no maintenance window is active
- Check the Events API v2 integration is active
- Use the Test button to verify connectivity
Duplicate incidents
Cause: Multiple alert rules triggering for the same event. Fix: AnomalyArmor includes a deduplication key with each event. PagerDuty will group alerts with the same dedup key into a single incident. If you’re seeing duplicates:- Review your alert rules for overlap
- Consider combining rules or adjusting scopes
Rate limiting
Cause: Too many events sent in a short period. Fix:- Review alert rule thresholds
- Consider using alert grouping/digest for high-volume events
- Route lower-priority alerts to Slack or email instead
Security
Data Sent to PagerDuty
Alert events contain:- Asset names (database, schema, table names)
- Change types and descriptions
- Timestamps
- Rule information
- Actual data values
- Database credentials
- Connection strings
- Query results
Revoking Access
To disconnect AnomalyArmor from PagerDuty:- In AnomalyArmor: Delete the PagerDuty destination
- In PagerDuty: Remove the Events API v2 integration from the service
Next Steps
Alert Rules
Create rules that route to PagerDuty
Best Practices
Reduce alert fatigue and page only when necessary
