Skip to main content

How to Monitor Intermittently Connected Sites Without False Alarms

GuideWritten by oncall.fyi editorialPublication approved by Burak YApproval recorded 11 September 2026
Sources and verification
Source dates
Oldest source check: 10 September 2026.
Technical verification
Separate technical verification has not been recorded.

Publication approval and technical verification are recorded separately. Automated link checks establish reachability, not accuracy. A checked example verifies only its stated test cases, not the whole article or your production setup.

In short

Model expected connectivity, last successful contact and local service health as separate states. Assign each site an explicit connection window, deadline and owner, and report unexpected silence only against that expectation. Preserve event time as well as arrival time when buffered records reconnect. Test planned disconnection, unexpected loss, local failure and replay independently; an old successful check must not imply current site health.

Key takeaways

  • Expected offline and healthy are different states.
  • Recent contact does not establish local application health.
  • Late events need freshness and identity checks before opening or resolving incidents.

Define the site contract

A continuously connected server and a customer site that connects once per shift should not share the same missing-heartbeat rule. Record each site's expected connection window, time zone, permitted lateness, owner and local escalation capability.

Keep customer isolation in credentials and authorization as well as labels. A customer identifier in a message is useful routing context but is not, by itself, an access boundary.

Store distinct observations

StateMeaningResponse
Expected offlineNo current contact requiredShow last known local health as stale
Contact overdueRequired report missed its deadlineInvestigate connection or sender
Online, locally unhealthyRecent report confirms a local problemRoute to the service owner
Online, locally healthyFresh service check succeededRecord current observation

If local health is unknown, keep it unknown. A received heartbeat from a site agent does not automatically establish that its applications are working.

Choose the deadline mechanism

For simple periodic checks, a receiver with explicit interval and grace semantics can be enough; Healthchecks' configuration documentation (opens in a new tab) describes one such model. More complex customer calendars may require a scheduler or state service that understands those windows. Verify that capability rather than assuming every heartbeat product supports it.

For an illustrative site expected to connect during a morning window, the deadline belongs to that window plus agreed lateness. Show the next expected contact in the operator view so “offline” is interpretable without opening a separate calendar.

Handle reconnects carefully

Keep both observed-at and received-at times, a site identity and an event or sequence identifier. On reconnection, retain delayed records for history, but require a fresh local check before marking current health good. Detect implausible clocks and document how you handle clock skew.

Choose how old fault events affect current paging. A fault that started and recovered while disconnected may belong in a review record rather than a brand-new urgent page. A still-active fault should produce the current incident with its true observed start where trustworthy.

Do not assume telemetry buffering is unlimited. Remote-write guidance (opens in a new tab) documents limits for one forwarding implementation; test the deployed agent's actual retention and recovery behavior.

Exercise the state transitions

In a lab site, disconnect during a planned window, miss a required window, fail a local demo service while connected, and replay older events after restoring access. Confirm the first case does not page, the second becomes overdue, the third reaches the local service owner, and replay does not incorrectly resolve or duplicate a current incident.

Also test an unexpected disconnect during an active local fault. If response must continue while disconnected, it needs a local operator or independent communication path. Central dashboards cannot create reachability that does not exist.

Save the contract and test evidence with the site runbook. This covers monitoring semantics, not the full provisioning, upgrade and lifecycle management of an edge fleet.

Did this help?

Your answer helps us improve this guide. We save only the page and your choice for 30 days.

No name, email, or incident details are requested.

Frequently asked

Can I just silence sites when they go offline?
Only if the offline window is expected, bounded and visible. Indefinite silence hides an unexpectedly disconnected site and loses the next required-contact deadline.
Should replayed success mark the site healthy?
No. Require a sufficiently fresh current check. Keep old observations as history with their original event times.

Sources

Vendor facts change. Each source below shows the date this page last checked it.

  1. Configuring checks Healthchecks. Checked 10 September 2026.
  2. Remote write tuning Prometheus. Checked 10 September 2026.

Related

One practical idea, occasionally

The On-Call Brief: short field notes, templates, and operational lessons.

Follow the field guide

Email subscriptions are not open yet. Read new guides in your feed reader — no email address needed.

Subscribe with RSS