Skip to content

Sentinel — Remote Alerting

Sentinel pushes an alert to the people who run an installation the moment something goes wrong — an engine crash, a missed schedule, or a low-FPS / low-disk warning. It is designed for permanent installations, digital signage, and unattended attractions that run for months or years without an operator present.

Where Auto-Heal & Watchdog recovers the system locally, Sentinel notifies you remotely. The two are complementary: Auto-Heal fixes what it can on the box, and Sentinel tells you about anything that needs a human.

How It Works

Exaplay already collects the signals that matter — crash events in the Watchdog, FPS/CPU/RAM/VRAM in Auto-Heal, and overdue events in the Scheduler. Sentinel watches those signals and, when one crosses a threshold, sends a notification through the configured channel.

Two parts of the system can raise an alert:

  • The Watchdog service raises liveness alerts (engine down, crash loop, recovered). It is the only component guaranteed to be running when the engine itself has crashed, so it owns the alerts that matter most.
  • The engine raises soft alerts (low FPS, missed schedule, low disk) and dispatches them through the same notification path.

Alert Events

EventSeverityRaised when
engine.down🔴 CriticalThe Watchdog detects the engine process has stopped
engine.crashloop🔴 Critical3 crashes within 60 s — automatic restart is disabled
engine.restored🔵 InfoThe engine is running again after a down event
health.fps_low🟠 WarningOutput FPS stays below the threshold for the debounce window
health.disk_low🟠 WarningFree space on the media or system drive drops below the threshold
schedule.missed🟠 WarningA scheduled cue went overdue without firing

Each event type can be enabled or disabled independently.

Note: the health.fps_low and health.disk_low checks run inside the Auto-Heal health loop, so they require Auto-Heal to be enabled. engine.down, engine.crashloop and engine.restored are owned by the watchdog service and work independently.

Channels

Webhook

A JSON POST to any URL — Slack, Discord, Make, n8n, or a NOC dashboard.

The body is a small JSON document containing the event id, severity, site name, host, message, and timestamp. Configure the URL in Config → System → Sentinel.

Friendly destinations (planned)

Email, SMS, WhatsApp and push notifications will be delivered via the Vioso platform in a future release. They are intentionally not exposed in the current Sentinel UI.

Connecting to the Platform

Alert delivery runs over your VIOSO Platform account. Linking a machine to the Platform is a one-time login that is separate from Sentinel — the same connection also powers the web dashboard and heartbeat monitoring, so it lives behind the account icon to the left of the Header menu rather than inside the Sentinel modal. Once paired, that icon shows the site initials.

  1. Click the account icon (👤) at the top-right of the window, left of the burger menu.
  2. Enter a Site name — the label that identifies this installation on the Platform and in every alert.
  3. Click Connect with VIOSO Platform and confirm the link in the browser window that opens (or copy the pairing code shown).
  4. Once the badge reads Connected, use Send test alert to verify the transport end-to-end.

Once connected, clicking the account icon opens a menu to open your Platform profile, review connection details, or log out (unpair this machine). The Sentinel modal also shows a read-only connection badge with a Manage connection shortcut back to this dialog.

Setting Up Alerts

  1. Make sure this machine is linked under Connect to the Platform.
  2. Open the Sentinel Alerts entry in the Header menu.
  3. Toggle Sentinel on.
  4. Choose which events you want to be alerted about and set the thresholds.
  5. Click Save preferences, then use Send test alert from Connect to Platform to verify, on-site, that the message arrives before you leave.

Configuration

SettingDescriptionDefault
EnabledMaster on/off for all alertingOff

Note: the Enabled switch governs alert delivery only. The Platform heartbeat — the periodic liveness signal the watchdog service sends once an instance is paired — is independent of this switch and cannot be turned off on its own. As soon as a pairing is active the service sends an immediate heartbeat (carrying engine info) and then keeps heartbeating in the normal rhythm for the life of the pairing; unpairing the instance is what stops it. | Site name | Label shown in every alert (e.g. Main Lobby — Acme HQ) | Hostname | | Low FPS threshold | Raise health.fps_low below this | 25 | | Low disk threshold | Raise health.disk_low below this (GB) | 10 | | Cooldown | Minimum seconds between repeats of the same event | 300 |

Configure these in Config → System → Sentinel.

Throttling

To prevent alert storms (for example, an engine that crashes repeatedly), Sentinel applies a cooldown per event type: once an event fires, the same event will not fire again until the cooldown elapses.

Sentinel, Auto-Heal & the Scheduler

Sentinel observes the other unattended-operation features rather than replacing them:

  • When the Watchdog restarts the engine, Sentinel sends engine.down and then engine.restored.
  • When a crash loop disables auto-restart, Sentinel sends engine.crashloop so a human knows to intervene.
  • When the Scheduler marks a cue overdue, Sentinel sends schedule.missed.

See Auto-Heal & Watchdog, the Scheduler, and the Permanent Installations workflow for the complete unattended-operation picture.

Exaplay 3 User Documentation