Skip to content
GDPR compliant. Hosted in DE.
14-day free trial →
Alerting drillBSI Standard 200-4On-call
Alerting 17 min read 26 Oct 2026

Testing your alerting chain: does the alert arrive at night?

Test your alerting chain like a real incident: why a green channel test proves little at night and how an alerting drill per BSI 200-4 runs to acknowledgment.

X

XICTRAQ®

XICTRAQ®

AlertingAlerting drillStandby duty
30 min
example target until the alert is positively acknowledged (BSI Standard 200-4)
30 min
minimum wait before the next email delivery attempt, in general (RFC 5321)
20/min
messages at most that a Telegram bot can send to a group (Telegram Bot FAQ)
Drill alert Sat 02:14 · delivery until acknowledgmentReal alert from a drill monitor, six channels, one on-call personSample valuesStage 2 · 02:24Acknowledged · 02:26TargetEmailhanded over 02:14:06Slackdelivered 02:14:05Teamsdelivered 02:14:05Telegramdelivered 02:14:06WebhookHTTP 410 GoneBrowser pushto push service 02:14:0602:1402:2402:3402:44Until acknowledgment12 minof 30 minTarget: 30 min(BSI example)Target met5 of 6 channels deliveredStage 2 after 10 mindeliveredStage 2 to deputyErrorAcknowledgmentunacknowledgedTarget mark 30 min: example target from BSI Standard 200-4, section 13.8.1 · all times are sample values
An alert that shows up in Slack at 2 p.m. proves little about Saturday night. If you want to test your alerting chain, you have to let it run end to end at an inconvenient time: from the triggered alert through delivery on every channel and escalation to acknowledgment by the person on call. That is exactly what an alerting drill is. BSI Standard 200-4, published by Germany's Federal Office for Information Security, describes it as a separate type of exercise and, for on-call coverage outside working hours, recommends holding it occasionally at night, on weekends or on public holidays as well (BSI Standard 200-4). This article shows why a green channel test is not enough, where alerting chains typically break and how to set up and evaluate a drill with a real alert from a drill monitor, in good time before Black Week and the holidays.

Why a green test button says little about the night

A typical sequence: during setup in spring, someone clicks "Send test alert" in the notification settings, every channel reports success, and the topic is closed. Over the summer, the Slack channel for incidents is archived and replaced with a new one. Since a rebuild, the webhook for the ticket system points to an address that no longer exists. And the colleague on call is away over the long weekend without the on-call schedule knowing about it. This only comes to light on the night the checkout fails and the notification goes nowhere.

The test button is still useful; it just checks something else. In XICTRAQ® it sends a test alert through every active channel and returns a result per channel with status, HTTP code, error and number of attempts. This test alert is not stored. It therefore has no delivery log attached to an alert, triggers no escalation, reaches no on-call person and cannot be acknowledged. And it deliberately bypasses two settings: the choice of which alert categories arrive on which channel, and the quiet hours per channel. A test is meant to show whether a channel delivers.

That leads to an uncomfortable insight: a green test at 2:14 a.m. does not prove that a real warning alert at 2:14 a.m. arrives. If the channel is in quiet hours, XICTRAQ® delivers only critical alerts there right away; the rest arrive as a digest once quiet hours end. That is intended but has to be a deliberate decision.

What the channel test proves and what it does not

The channel test proves that the channel is set up and that the target accepts a message at this moment. It does not prove that an alert of a given category and severity lands on this channel, that escalation reaches the right person, or that this person sees and acknowledges the alert. Those questions need a real alert.

What BSI Standard 200-4 means by an alerting drill

BSI Standard 200-4 on business continuity management treats the alerting drill as a separate type of exercise. It is meant to identify sources of error and weaknesses in alerting, determine how effective the alerting procedures are and verify the response time more concretely (BSI Standard 200-4). Response times are to be determined and documented along the way. The key sentence of the section:

Alerting drills should be used to test whether the organizational and technical measures ensure alerting within the required time frame (also outside normal business hours).

— BSI Standard 200-4, section 13.8 Alerting drill (translated from German)

The standard distinguishes two forms. Technology-oriented tests check whether the means and procedures of communication work. Application-oriented exercises check the alerting documentation and the organizational rules, such as whether role holders and their deputies can be reached; in addition, the speed of the response can be tested and practiced (BSI Standard 200-4). Applied to website monitoring, clicking the test button is a technology-oriented test. The application-oriented drill needs an alert that takes the same path as a real one.

For an online store, the standard is not mandatory. For organizations that build business continuity management at the "reactive BCMS" level, however, alerting drills are to be held regularly (BSI Standard 200-4). The standard is useful anyway because it proposes a measurable target. As an example target, the standard names a maximum of 30 minutes from the initial alert until all required role holders have positively acknowledged it (BSI Standard 200-4). You can adopt that value or adjust it to your own on-call setup. What matters is that it is fixed before the drill.

AspectChannel test by clickDrill alert from a drill monitor
Type per BSI Standard 200-4technology-oriented testapplication-oriented exercise
Trigger"Send test alert" button in the settingsreal alert, for example a reported failure of a heartbeat
Categories per channelbypassedapply as in a real incident
Quiet hours per channelbypassedapply as in a real incident
Escalation and on-callnot triggeredrun according to the matching policy
Acknowledgmentnot possiblevia link in the message or in the alert overview
Recordone-time result per channel in the settingsdelivery log and timeline on the alert
What it showschannel delivers at this momentchain reaches the responsible person within the target time

Where alerting chains break at night

Breaks typically do not happen during setup but weeks later, through changes that have nothing to do with monitoring. A channel is cleaned up, a token renewed, an endpoint moved, a phone set up again. Nobody checks at that moment whether an alert still arrives afterward. Six typical breaking points:

Archived chat channel

For an archived channel, Slack returns the error channel_is_archived: the channel no longer accepts new messages (Slack developer docs).

Revoked webhook

A webhook URL contains a secret. Slack actively searches out and revokes leaked secrets (Slack developer docs). The error no_service then stands for a disabled, removed or invalid webhook.

Removed endpoint

If your own webhook receiver answers with 410 Gone after a rebuild, the HTTP standard says the target is no longer available, and likely permanently (RFC 9110). Retrying will not help.

Throttled bot

A Telegram bot should avoid sending more than one message per second in a single chat, and it can send at most 20 messages per minute to a group (Telegram Bot FAQ). Anyone who keeps exceeding the per-chat limit will get 429 errors, according to the FAQ.

Phone in do-not-disturb

At night, phones often show notifications silently. Whether a chat app may break through is decided by the setting on the device, not by the monitoring.

On-call on vacation

A schedule that does not know about the vacation sends the alert to the person on the beach. Exceptions and deputies belong in the on-call schedule before the vacation starts.

With Slack, Telegram and your own webhooks, a break leaves an error code in the delivery log, which only someone who looks after the alert will see. With a phone in do-not-disturb or a colleague on vacation there is no error code at all, because the message was delivered. These cases usually surface only in a drill that runs to acknowledgment. The retry logic section in configuring monitoring alerts explains that channels themselves can fail and why XICTRAQ® therefore repeats delivery attempts.

Email, chat and push: what the channels limit themselves

In XICTRAQ®, email is the default channel for all categories and at the same time a slow one as soon as something goes wrong. If a mail server cannot deliver a message right away, it has to wait before trying again. The SMTP standard generally calls for an interval of at least 30 minutes (RFC 5321). Retries continue until the message is delivered or the sender gives up, and the give-up time should generally be at least four to five days (RFC 5321). A single temporary error on the recipient side can thus use up the entire time budget of an alert. To the sender, the handover to the mail server still looks like success.

Then there is attention. The BSI standard considers asynchronous means of communication less suitable for alerting because the sender cannot know whether and when the recipient receives the information. In its assessment, alerts by email often get lost among other emails; calls to mobile phones or alerting apps are better suited (BSI Standard 200-4). XICTRAQ® does not place calls or send text messages; it delivers via chat services, email, webhook and browser push. That makes acknowledgment and escalation all the more important: they turn an asynchronous message into a chain with feedback. Email belongs in that chain as a record and a fallback; at night, a different channel should do the waking.

Chat services deliver fast but set limits. If a bot is throttled, the API answers with status 429, which according to the HTTP standard indicates that too many requests were sent in a given amount of time (RFC 6585). In that case XICTRAQ® repeats the delivery after a short interval and writes the result per channel to the delivery log.

Browser push depends on the device. XICTRAQ® enables it per device, not per monitor; a laptop that sits closed in a backpack at night is not a recipient. Under the Web Push standard, the push service must not deliver a message once the time-to-live specified by the sender has elapsed (RFC 8030). Whether a push really appears on the on-call phone at night is therefore shown only by a drill on exactly that device.

Only acknowledgment closes the chain

Every channel can report success without a human having seen the alert: the mail server accepted it, Slack placed the message in the channel, the push service received it. Only acknowledgment shows that the responsible person is informed. In XICTRAQ® it also stops the escalation; if it does not come, the alert goes to the next stage after the configured delay.

Quiet hours and severity: what should get through at night

Before you drill, it has to be clear which alert should wake anyone at all at night. The article on building an on-call rotation without burnout separates alerts that need someone right away from those that can wait until morning. In XICTRAQ®, four factors decide what arrives where:

  • Categories per channel: alerts are grouped into categories such as uptime, SSL, security and system; for each category you choose the channels.
  • Quiet hours per channel: during quiet hours, a channel holds back non-critical alerts and then sends them as a digest, unless you have turned the digest off. Critical alerts get through.
  • Severity of the alert: XICTRAQ® assigns the severity when the alert is triggered; whether an alert counts as critical decides whether it breaks through quiet hours.
  • Escalation policy: a policy can be restricted to specific websites and a minimum severity. Alerts without a website, such as those from heartbeats, do not match a policy with a website selection; for them, a policy that filters only by severity or the default policy applies.

This leads to two questions that are often confused. The first is: does a critical alert reach the on-call person at night, and does that person acknowledge it within the target time? That is the question for the drill. The second is: does a warning stay as quiet at night as intended? That is a configuration question you settle in the settings before the drill. To make sure only confirmed outages wake people at night and not every brief glitch, it is also worth looking at flapping alerts and how to tame them.

Setting up the drill: a real alert from a drill monitor

The application-oriented drill needs an alert that is real but does not report real damage. The simplest way is a dedicated heartbeat monitor used only for drills. Besides the normal ping, heartbeats have an address for actively reporting a failure: a call to /fail sets the monitor to "failed" and immediately triggers an alert of type heartbeat_failed without waiting for the grace window. This alert has critical severity, is stored, passes through categories, quiet hours and escalation like any other alert, and can be acknowledged.

So that the drill monitor does not raise an alarm on its own between drills, it needs a regular healthy ping, for example from an existing cron job once a day around noon. Create it with a matching schedule and give it a name that is instantly recognizable as a drill in the alert, such as "Drill alerting chain". If you already use heartbeats for exports, for example for the product feed, simply add the drill monitor next to them. At drill time, a single call is enough:

drill-alert.sh
# Trigger the drill alert (replace YOUR-SLUG with the slug of the drill monitor)
curl -fsS -G --data-urlencode "msg=Drill alert, please acknowledge" \
  "https://api.xictraq.com/api/heartbeat/YOUR-SLUG/fail"

# After acknowledgment: healthy ping, the alert is resolved
curl -fsS "https://api.xictraq.com/api/heartbeat/YOUR-SLUG/ping"
Mark the drill alert as a drill

As an example of a starting scenario, the BSI standard shows a short message marked as a drill alert at the beginning and at the end (BSI Standard 200-4). In the alert, the failure reason from the msg parameter does that together with the monitor name. That way, the on-call person knows at a glance, even at three in the morning, that they need to acknowledge but not fix anything.

After acknowledgment, close the alert with a healthy ping. The monitor recovers automatically, the alert is resolved, and an all-clear goes to the channels that received the alert. That is part of the drill too: if the all-clear does not arrive, the on-call person will not learn in a real incident that it is over.

If policies are tailored per website

A heartbeat alert belongs to the account, not to a website. If you have restricted an escalation policy to specific websites, the drill alert does not test it. That requires an alert that belongs to a website in that policy, for example the outage of a dedicated drill subdomain that you add to the policy and take offline briefly for the drill.

Running the alerting drill in seven steps

The drill itself takes only minutes; the only real effort is the preparation. This order is practical:

  1. Set the target: for example acknowledgment within 30 minutes of the alert, based on the example target (BSI Standard 200-4), and which channels must deliver within that time.
  2. Choose the time: deliberately inconvenient, that is at night, on a weekend or on a public holiday. The standard also mentions the lunch break and the time shortly after work and advises informing the relevant parties beforehand for such dates, for example the staff or works council (BSI Standard 200-4).
  3. Check the channels technically beforehand: press "Send test alert" the day before. Whatever fails here does not have to be found at night.
  4. Trigger and note the time: trigger the drill monitor via /fail. The time appears in the alert timeline.
  5. Watch delivery: the alert detail view lists the delivery channels with their result. If an escalation stage kicks in, record who was notified and when.
  6. Have it acknowledged: the on-call person confirms the alert via the link in Slack, Teams, Discord or the email, without having to log in, or in the alert overview. That stops the escalation.
  7. Resolve and evaluate: healthy ping, wait for the all-clear, compare the result with the target and record every deviation as an action item with an owner.

The standard reports that unannounced alerting drills have proven themselves in practice because they come closest to reality. To keep participants cooperative, it can be announced in advance that a drill will take place within a certain period (BSI Standard 200-4). German working time law is relevant here as well: under Section 5 of the Working Hours Act, employees must have an uninterrupted rest period of at least eleven hours after the end of their daily working time (ArbZG). How a nighttime drill alert during on-call duty affects that is something to clarify with HR before the first night drill.

Evaluating: delivery log, time to acknowledge, gaps

For the evaluation, the BSI standard recommends using the logs of the alerting software and combining them with the notes taken during the drill (BSI Standard 200-4). Alerting drills allow quantitative evaluation, for instance as "passed" or "failed" or as a comparison with a time target (BSI Standard 200-4). In XICTRAQ® the record sits on the alert itself: the delivery log lists status, HTTP code, error and number of attempts per channel, and the timeline shows when the alert was triggered, acknowledged and resolved. From the alert overview you can download a postmortem that serves as the basis for the drill report.

  • time of the alert and of the acknowledgment, and the resulting time to acknowledge
  • per channel: delivered, error with code, or not set up
  • escalation stages triggered and who was notified at each
  • device and channel through which the on-call person actually noticed the alert
  • arrival of the all-clear per channel

Every alerting drill has a limit, and the standard states it openly: it checks only part of the response time, because the time until an event is detected is not included and can ultimately only be estimated or derived from real events (BSI Standard 200-4). In monitoring, that detection time depends on the check interval and the grace period before the outage alert. How long an attack can go unnoticed depending on the signal is covered in attacks noticed too late: detection time per signal.

Typical findings and what helps

The following overview sorts typical findings of a first drill by what becomes visible during the drill, the usual cause and the remedy.

Finding in the drillTypical causeRemedy
Slack returns channel_is_archivedincident channel was cleaned upconnect the new channel, test button, repeat the drill
Webhook answers with 410 or 404receiver was moved or removedupdate the target URL, resend the delivery
Telegram does not deliverbot token renewed or bot removed from the groupenter token and chat ID again
Email arrives late or in spamdelayed delivery at the recipient, filter rulesallow the sender, do not use email as the only waking channel
Push does not appeardevice not registered or switched off at nightregister the on-call phone for push, add a second channel
delivered but not acknowledgedphone in do-not-disturb, on-call person on vacationexception for the app on the device, deputy in the on-call schedule
acknowledged after the targetescalation stage too late or without a recipientshorten the delay, check the recipients of the stage

For email findings, the free mail check shows whether SPF, DKIM and DMARC of a domain are correct. Do-not-disturb, vacation and an escalation stage without a recipient, on the other hand, usually come to light only in a drill.

Cadence: when to drill and who needs to take part

The BSI standard does not prescribe a fixed cadence for the alerting drill. It calls for annual planning in which all defined alerting paths are tested over a set period (BSI Standard 200-4). For website teams, a simple split works well:

  • After every change to a channel: test button. The documentation names switching a Slack channel, a new bot token or a changed webhook URL as occasions.
  • Before peak periods: a drill with a real alert, for example four weeks before Black Week and the holidays, so there is time for corrections.
  • After changes in the on-call team: when someone joins, swaps a phone or the schedule is rebuilt.
  • Occasionally outside business hours: at night or on a weekend, as the standard recommends for on-call teams reachable outside working hours.

Everyone who is part of the chain in a real incident needs to take part, including the deputies. Vacation periods and public holidays are typical points where schedules are wrong. XICTRAQ® resolves the person on duty live from the on-call schedule; you enter exceptions and vacation cover as an override with a time period and a substitute. A drill during the vacation season shows whether that is actually maintained. How escalation stages are built in principle is described in incident management and escalation.

A rehearsed alerting chain before Black Week and the holidays

An alerting chain is only checked once it has run completely at an inconvenient time: alert, delivery, escalation, acknowledgment and all-clear. The test button remains the tool for a quick check after every change. Schedule the drill four weeks before Black Week and the holidays, and you have time to fix archived channels, expired tokens and gaps in the on-call schedule before they become costly in a real incident.

All channels, escalation stages and on-call schedules are described on the alerting and notifications page. Escalation policies and on-call schedules are available from the Business plan; the overview is on pricing and plans. You can try the drill with a free account, which already includes heartbeats.

Sources and studies

This article is based on: BSI Standard 200-4 Business Continuity Management (BSI, 2023), sections 5.2.1, 13.1, 13.3, 13.8 and 13.10.2; RFC 5321 Simple Mail Transfer Protocol, section 4.5.4.1; RFC 9110 HTTP Semantics, section 15.5.11; RFC 6585 Additional HTTP Status Codes, section 4; RFC 8030 Generic Event Delivery Using HTTP Push, section 5.2; Telegram, Bots FAQ, section on sending limits; Slack developer documentation on incoming webhooks, section on errors; German Working Hours Act (ArbZG), Section 5. Product details according to the XICTRAQ® documentation, chapters on alerts and heartbeats. The times in the mockup are sample values.

Is the test button in the notification settings not enough?
It shows whether every active channel accepts a message at that moment, which makes it well suited after every change to a channel. Because the test alert is not stored and bypasses categories and quiet hours, it usually says nothing about whether a real alert reaches the on-call person at night and gets acknowledged.
How often should an alerting drill take place?
BSI Standard 200-4 does not name a fixed cadence but calls for annual planning in which all alerting paths are tested over a set period. For website teams, drills before peak periods and after changes in the on-call team are a good fit.
What target time to acknowledgment is appropriate?
BSI Standard 200-4 names a maximum of 30 minutes from the alert to positive acknowledgment as an example target (BSI Standard 200-4). Whether that fits depends on how quickly an outage of your store or application becomes costly. What matters is that the value is fixed before the drill and measured during it.
May an alerting drill take place unannounced at night?
The standard considers unannounced drills more realistic but allows announcing a time window, and it advises informing the staff or works council in advance for inconvenient times. Clarify working time questions, for example about the rest period under Section 5 of the German Working Hours Act, with HR beforehand. This article is not legal advice.
Why did a warning not arrive at night while the critical alert did?
Usually this is due to quiet hours for the channel. During quiet hours, XICTRAQ® delivers only critical alerts right away and sends the rest as a digest once quiet hours end, unless the digest is turned off. Check which alert types are classified as critical and align quiet hours and categories with what should wake people at night.
Can XICTRAQ® call the on-call person or wake them by text message?
No, XICTRAQ® delivers via email, Slack, Microsoft Teams, Discord, Telegram, webhook and browser push and does not place calls. For an alert to wake someone at night, a chat app on the on-call phone should be allowed to show notifications even in do-not-disturb mode. With an escalation policy (from the Business plan), an unacknowledged alert moves on to the next stage.
Start in 60 seconds

Let XICTRAQ® watch your website.

Permanent free plan available. No credit card, no installation, no hidden fees.