Documentation Index Fetch the complete documentation index at: https://checkly-422f444a-sync-playwright-reporter-changelog-v1-5-0.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Use alert escalation policies to control when and how often you receive alerts when checks start failing, degrade, or recover. This helps you fine-tune your alerting to reduce noise and ensure timely alerts.
Run-Based Escalation
Time-Based Escalation
import { AlertEscalationBuilder , ApiCheck } from "checkly/constructs"
new ApiCheck ( "run-based-alert-check" , {
name: "Check With Run-Based Escalation" ,
alertEscalationPolicy: AlertEscalationBuilder . runBasedEscalation (
2 , // Alert after 2 consecutive failures
{ interval: 5 , amount: 2 }, // Send 2 reminders, 5 minutes apart
{ enabled: true , percentage: 50 } // Alert if 50% of parallel runs fail
),
request: {
method: "GET" ,
url: "https://api.example.com/health" ,
},
})
Configuration
Configure your alert escalation policies using the AlertEscalationBuilder, which provides helper methods for the different escalation strategies:
Method Description Parameters runBasedEscalation()Alert after N consecutive failed runs (failedRuns, reminders, parallelRunFailureThreshold)timeBasedEscalation()Alert after N minutes of continuous failures (minutesFailing, reminders, parallelRunFailureThreshold)
Alert Escalation Builder Methods
Creates an alert escalation policy that triggers after a specified number of consecutive failed runs. Usage: AlertEscalationBuilder . runBasedEscalation (
failedRuns ,
reminders ,
parallelRunFailureThreshold
)
Parameters: Parameter Type Required Default Description failedRunsnumber✅ 1 Number of consecutive failed runs before alerting remindersobject❌ - Reminder notification configuration parallelRunFailureThresholdobject❌ - Parallel run failure percentage threshold
Examples: Immediate Alert
Conservative Alert
// Alert immediately on first failure
const immediateAlert = AlertEscalationBuilder . runBasedEscalation (
1 , // Alert after 1 failed run
{ interval: 5 , amount: 0 }, // No reminders
)
new ApiCheck ( "critical-service-check" , {
name: "Critical Service Check" ,
alertEscalationPolicy: immediateAlert ,
request: {
method: "GET" ,
url: "https://api.example.com/critical" ,
},
})
Use cases : Immediate alerting and noise reduction for flaky services.
Creates an alert escalation policy that triggers after a specified duration of continuous failures. Usage: AlertEscalationBuilder . timeBasedEscalation (
minutesFailing ,
reminders ,
parallelRunFailureThreshold
)
Parameters: Parameter Type Required Description minutesFailingnumber✅ Minutes of continuous failures before alerting remindersobject❌ Reminder notification configuration parallelRunFailureThresholdobject❌ Parallel run failure percentage threshold
Examples: // Wait for batch jobs or slow services
const timeBasedAlert = AlertEscalationBuilder . timeBasedEscalation (
15 , // Alert after 15 minutes of failures
{ interval: 10 , amount: 3 } // 3 reminders, 10 minutes apart
)
new ApiCheck ( "batch-job-check" , {
name: "Batch Job Monitoring" ,
frequency: Frequency . EVERY_5M ,
alertEscalationPolicy: timeBasedAlert ,
request: {
method: "GET" ,
url: "https://api.example.com/batch-status" ,
},
})
Use cases : Batch job monitoring, slow services, time-sensitive operations.
Configure reminder notifications while an alert is active. Usage: reminders : {
interval : 10 , // Send reminder every 10 minutes
amount : 5 // Send up to 5 reminders
}
Parameters: Parameter Type Required Default Description intervalnumber❌ 5Minutes between reminder notifications: 5, 10, 15, 30 amountnumber❌ 0Number of reminder notifications to send: 0, 1, 2, 3, 4, 5, 100000
Examples: No Reminders
Frequent Reminders
Conservative Reminders
// Alert once, no reminders
reminders : {
interval : 5 ,
amount : 0
}
Use cases : Alert fatigue prevention, escalation management, notification frequency control.
parallelRunFailureThreshold
Configure threshold for checks running in parallel across multiple locations. Usage: parallelRunFailureThreshold : {
enabled : true ,
percentage : 60 // Alert if 60% of parallel runs fail
}
Parameters: Parameter Type Required Default Description enabledboolean✅ falseWhether to use parallel run failure threshold percentagenumber❌ 10Percentage of parallel runs that must fail (10-100, in increments of 10)
Examples: Regional Redundancy
CDN Monitoring
// Only alert if majority of regions fail
const regionalAlert = AlertEscalationBuilder . runBasedEscalation (
2 , // After 2 consecutive failures
{ interval: 10 , amount: 3 },
{ enabled: true , percentage: 70 } // 70% of regions must fail
)
new ApiCheck ( "global-service-check" , {
name: "Global Service Check" ,
locations: [ "us-east-1" , "us-west-2" , "eu-west-1" , "ap-southeast-1" ],
runParallel: true ,
alertEscalationPolicy: regionalAlert ,
request: {
method: "GET" ,
url: "https://global-api.example.com/health" ,
},
})
Use cases : Multi-region monitoring, CDN availability, redundant service checking.
Examples
import {
AlertEscalationBuilder ,
ApiCheck ,
CheckGroupV2 ,
} from "checkly/constructs"
const groupAlertPolicy = AlertEscalationBuilder . runBasedEscalation (
3 , // Alert after 3 consecutive failures
{ interval: 15 , amount: 3 }, // 3 reminders, 15 minutes apart
{ enabled: true , percentage: 60 }
)
const monitoringGroup = new CheckGroupV2 ( "monitoring-group" , {
name: "Production Monitoring" ,
alertEscalationPolicy: groupAlertPolicy , // Applies to all checks in group
locations: [ "us-east-1" , "eu-west-1" ],
runParallel: true ,
})
new ApiCheck ( "group-api-check" , {
name: "API Check with Group Alert Policy" ,
group: monitoringGroup , // Inherits alert policy from group
request: {
method: "GET" ,
url: "https://api.example.com/endpoint" ,
},
})
Reminder Limits : Be cautious with reminder settings. Too many reminders can lead to alert fatigue, while too few might cause important issues to be overlooked.
Parallel Run Thresholds : Only use parallel run failure thresholds for checks that run in multiple locations simultaneously (runParallel: true).