Purpose
This timer performs high-frequency liveness checks on all registered webhook endpoints (ports 18790-18797) to ensure handlers are reachable and responding. It provides real-time operational monitoring that complements the weekly security audit by detecting immediate service outages.
Schedule
OnUnitActiveSec=5min (with RandomizedDelaySec=60s)
Runs every 5 minutes after the last activation, with a random jitter of up to 60 seconds to prevent synchronized spikes.
Service
Runs the Node.js health monitor script:
/usr/bin/node /home/opsadmin/.openclaw/workspace/scripts/webhook-health-monitor.js
Active webhook ports monitored: 18790 (HubSpot+DocuSign), 18792 (OpenPhone/Quo), 18793 (SalesMsg), 18797 (Twilio Voice).
Failure behavior
If a webhook handler is found to be unreachable or non-responsive, the script triggers an immediate alert to the #ops Discord channel. The unit itself has no retry; the timer fires the next check in 5 minutes.
Health signal
Verification can be performed via:
- Systemd Status:
systemctl --user status webhook-health-monitor.timer - Logs:
journalctl --user -u webhook-health-monitor.service - Alerts: Presence of liveness notifications (or absence of failure alerts) in Discord
#ops.
Related
- cron-timer-registry — Central registry of all system timers.
- funnel-registry — Registry of active webhook endpoints and ports.
- security-audit-funnel — Weekly audit for registry drift (complements this monitor).