Monitor AWS EventBridge Scheduled Rules
When EventBridge invokes a target directly — SQS, Step Functions, an API destination — rather than a Lambda you control, you can't add a ping inside "your code" the way you can for a scheduled Lambda. Monitoring has to happen at the rule level, or inside the target's own definition, instead.
Setup
Create an incoming monitor
Add a heartbeat monitor in Pingtastic matching the rule's schedule expression.
Add a second target to the same rule
An API destination pointed at your Pingtastic ping URL, firing on the same schedule alongside your real target.
{
"Targets": [
{ "Id": "primary", "Arn": "arn:aws:states:...:stateMachine:nightly-export" },
{ "Id": "pingtastic-heartbeat", "Arn": "arn:aws:events:...:api-destination/pingtastic-ping/..." }
]
}Or ping from inside the target itself
If the target is a Step Functions state machine, add a ping as its final state instead — that confirms the whole execution succeeded, not just that the rule fired.
Gotchas
- ⚠A second target firing on the same rule only proves the rule fired, not that the primary target's work actually succeeded — if you need success (not just invocation) monitoring, prefer pinging from inside the target itself over a parallel EventBridge target.
- ⚠A disabled or deleted EventBridge rule stops firing with no error anywhere in CloudWatch for either target — exactly the failure case a heartbeat ping is designed to catch.
Questions
Why not just monitor the target's own execution directly?
You should, when you can — see Monitor Scheduled AWS Lambda Functions for the Lambda case. This guide covers the case where the direct target doesn't give you a natural place to add a success-confirming ping.
Does this work with EventBridge Scheduler (the newer service) too?
Yes — the same two options (a second target, or a ping inside a Step Functions state machine) apply whether the schedule is defined via the original EventBridge Rules or the newer EventBridge Scheduler.
Related guides
Start monitoring your AWS eventbridge rules
Set up your first monitor in under five minutes.
Get started — $5/month