How to Monitor Intermittently Connected Sites Without False Alarms
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
| State | Meaning | Response |
|---|---|---|
| Expected offline | No current contact required | Show last known local health as stale |
| Contact overdue | Required report missed its deadline | Investigate connection or sender |
| Online, locally unhealthy | Recent report confirms a local problem | Route to the service owner |
| Online, locally healthy | Fresh service check succeeded | Record 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.
- Configuring checks — Healthchecks. Checked 10 September 2026.
- 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