LuminaLog
Waitlist
Integrations

PagerDuty Integration

Integrate LuminaLog with PagerDuty for enterprise-grade incident management, on-call scheduling, and automated escalation policies.

Scale Tier Exclusive

PagerDuty integration is available exclusively on the Scale plan for enterprise teams requiring 24/7 incident response.

Why PagerDuty?

PagerDuty provides critical capabilities for production systems:

On-Call Management

Automatic routing to the right person at the right time

Escalation Policies

Multi-level escalation if incidents aren't acknowledged

Incident Tracking

Full audit trail of who responded and when

Mobile Alerts

Push notifications, SMS, and phone calls

Analytics

MTTD, MTTR, and critical metrics

Setup Guide

1

Create a PagerDuty Service

Log in to PagerDuty, go to ServicesService Directory, and click New Service.

Configure the service with Name, Description, and select your Escalation Policy. We recommend "Intelligent" alert grouping.

2

Get Integration Key

Under service Integrations, click Add Integration and select Events API V2.

Copy the 32-character Integration Key immediately after creation.

3

Configure in LuminaLog

In your LuminaLog dashboard, navigate to AlertsRules, create a rule, and select "PagerDuty".

Paste the Integration Key and save. We recommend filtering for "fatal" or "panic" severities only.

Secure your Integration Key

This key allows creating incidents in PagerDuty. Store it securely and never commit it to version control.

Incident Types

🚨 Critical Error Incidents

[LuminaLog] Critical Error: DatabaseConnectionError
Summary: Failed to connect to database: connection timeout
Source: LuminaLog
Severity: error

⚠️ Threshold Breach Incidents

[LuminaLog] Threshold Alert: APIError (15 occurrences)
Summary: Error spike detected - 15 occurrences in 60 minutes
Threshold: 10
Actual: 15

Incident Lifecycle

1

1. Trigger

Automated Detection. LuminaLog sends events to PagerDuty Events API V2. Incidents are dispatched via push, SMS, and calls.

2

2. Acknowledge

Engineer Handshake. The on-call engineer acknowledges the alert, stopping escalation and notifying the team.

3

3. Resolve

Final Resolution. The issue is fixed and marked resolved. Metrics like MTTD and MTTR are updated automatically.

Auto-Resolution

Future versions will automatically resolve PagerDuty incidents when LuminaLog detects the error has stopped occurring for a confidence period.

Advanced Configuration

Escalation Policies

L1Primary Eng5m response
L2Secondary Eng10m response
L3Eng Manager15m response
L4CTO / VP EngNow response

Severity Mapping

LuminaLogPagerDutyMethod
panicHighPush + SMS + Call
fatalHighPush + SMS
errorLowPush only

Alert Grouping

Intelligent

ML-based grouping (recommended)

Time-based

Group incidents within X minutes

Content-based

Group by error type or pattern

Best Practices

On-Call Scheduling

Use rotations (weekly/daily) with overrides. Limit shifts to 7 days maximum.

Fatigue Prevention

Only page for fatal/panic. Route lesser severities to Slack or Discord.

Incident Response

Document runbooks in incident notes. Use timelines for post-mortems.

Team Coordination

Use conference bridges for war rooms. Conduct blameless post-mortems.

Strategy Table

Reserve PagerDuty for critical outages only to maintain high signal-to-noise ratio.

SeveritySlackDiscordPagerDuty
info, warn
error
fatal
panic

Troubleshooting

Incidents Not Creating

Verify integration key (32 chars), check PagerDuty service status, and confirm alert rule is enabled.

Too Many Pages

Increase count thresholds or use larger time windows. Page only on fatal/panic severities.

Direct Connectivity Test

curl -X POST https://events.pagerduty.com/v2/enqueue \
-H "Content-Type: application/json" \
-d '{"routing_key": "YOUR_KEY", "event_action": "trigger", "payload": {"summary": "Test", "severity": "error"}}'

Example Setup

{
  "ruleName": "PagerDuty Production Critical",
  "errorType": "*",
  "severity": "fatal",
  "channels": ["pagerduty", "slack"],
  "pagerDutyKey": "r123456789...",
  "countThreshold": 3,
  "timeWindowMinutes": 5,
  "enabled": true
}