Skip to content

Watchdogs

Watchdogs are reusable monitoring policies. They evaluate device data, explain matches, open alerts, and optionally trigger remediation.

Borealis Watchdog List
Watchdogs define monitoring rules, site scope, target sets, incident policy, and remediation actions.

Create Watchdog

  1. Open Automation > Watchdogs.
  2. Select New Watchdog.
  3. Add name, description, and severity.
  4. Choose scope and targets.
  5. Add rules.
  6. Add optional actions.
  7. Preview current matches.
  8. Save.

Saved changes become live immediately.

Choose Scope And Targets

Scope controls which sites the watchdog can apply to. Targets choose devices inside that scope:

  • All devices in scope.
  • Explicit devices.
  • Saved device filters.

Build Rules

Watchdog rules can evaluate device offline state, storage usage, service state, agent role health, CPU, memory, uptime, reboot/change detection, sessions, processes, software presence/version, and agent version status.

Use all when every condition must match. Use any when one condition should open the incident.

Reduce Noise

Use evaluation interval, cooldown, auto-resolve delay, minimum consecutive matches, and boot grace period. Device-level suppressions mute one watchdog for one device without cloning the policy.

Add Actions

Actions can track incidents only, send Engine toast notifications, control Windows services, or run assemblies as remediation.

Detailed Codex Breakdown

API endpoints

  • GET /api/watchdogs - list visible watchdogs.
  • GET /api/watchdogs/metadata - editor metadata.
  • POST /api/watchdogs/preview - preview current evaluation.
  • GET /api/watchdogs/<watchdog_id> - get policy.
  • POST /api/watchdogs - create policy.
  • PUT /api/watchdogs/<watchdog_id> - update policy.
  • DELETE /api/watchdogs/<watchdog_id> - delete policy and runtime state.
  • GET /api/devices/<device_id>/watchdogs - device Watchdogs tab payload.
  • POST /api/devices/<device_id>/watchdogs/overrides - device-specific override.

Source map

  • API: Data/Engine/Containers/api-backend/data/services/API/watchdogs/management.py
  • Runtime: Data/Engine/Containers/api-backend/data/services/API/watchdogs/runtime.py
  • UI: Data/Engine/Containers/webui-frontend/data/web-interface/src/Automation/Watchdogs/
  • Device tab: Data/Engine/Containers/webui-frontend/data/web-interface/src/Devices/Tabs/Device_Watchdogs.jsx

Runtime behavior

  • WatchdogRuntimeService runs a background evaluator loop.
  • Saving a watchdog triggers immediate evaluation.
  • Runtime data uses watchdogs, watchdog_sites, watchdog_targets, watchdog_device_overrides, watchdog_device_state, and watchdog_incidents.
  • Socket events watchdog_incidents_changed and device_watchdogs_changed refresh relevant UI surfaces.