Skip to content

Self Healing and Automations

Tyler Hatfield edited this page Nov 12, 2026 · 3 revisions

Self-Healing Watchdogs & Script Orchestration

Vitrine RMM resolves endpoint issues autonomously before end-users experience downtime or open support tickets.


1. Condition Monitoring & Circuit-Breaker Flap Protection

  • Watchdog Monitors (GET, POST, PUT, DELETE /api/self-healing): Define condition monitors for stopped services, low disk space, sustained CPU load, or memory pressure paired with an automated remediation script.
  • On-Demand Fleet Evaluation (POST /api/self-healing/evaluate): Evaluates all enabled monitors across the fleet, executes remediation runbooks, and records execution transcripts in remediation_logs (GET /api/self-healing/logs).
  • Circuit-Breaker Safeguards: If a remediation triggers more times per hour than permitted by the device's policy (self_healing_max_hourly_runs), Vitrine trips the circuit breaker, halts further retries to prevent resource exhaustion, and automatically dispatches a High-Priority PSA incident ticket.

2. Centralized Scripting Library & Runtime Tokens

  • Multi-Language & RBAC Scoped (GET, POST, PUT /api/scripts): Store PowerShell, Bash, Batch, and Python runbooks scoped globally or to specific Client Tenants, with per-script RBAC role requirements (admin, technician, readonly) and enable/disable toggles.
  • Dynamic Token Injection & Safe Encoded Dispatch: Inject runtime device and custom field variables ($vitrine.device.hostname, $vitrine.device.client_id, $vitrine.custom.asset_tag), choose SYSTEM or User (GUI) execution contexts, and dispatch runbooks via UTF-16LE / UTF-8 Base64 encoding (-EncodedCommand / base64 -d) to prevent shell metacharacter injection.

Clone this wiki locally