Health Checks & Self-Healing Watchdogs
Health Checks & Self-Healing Watchdogs
DeployShip continuously monitors both server infrastructure and individual deployed applications:
1. Server-Level Health Checks
Every 5 minutes, DeployShip pings each server over SSH to verify host availability, SSH connectivity, and latency. If a server becomes unreachable, you receive an immediate alert.
2. Application-Level Health Checks & Self-Healing
Every 5 minutes, DeployShip probes each active application directly on its assigned internal port (http://127.0.0.1:<PORT>/ and socket listeners).
- Autonomous Self-Healing: If an application crashes, drops its port, or returns upstream gateway errors (502/503/504), DeployShip automatically executes a self-healing restart command over SSH tailored to your deploy strategy (
pm2 restart,docker restart, ordocker compose restart). - Post-Heal Verification: 3 seconds after the restart attempt, DeployShip verifies that the port and HTTP listener have successfully recovered.
- Instant Alerts & Crash Logs:
- If self-healing succeeds, you receive a notification confirming the service was automatically restored with zero downtime for your users.
- If the application remains down (e.g. fatal code exception or missing environment variable), DeployShip automatically captures the last 15 lines of process/container logs and delivers a downtime alert with diagnostic details so you can resolve the issue immediately.
- Crash Loop Protection: DeployShip limits automated restart attempts to 3 consecutive failures to safeguard your server's CPU and memory resources from infinite restart loops.
3. Proactive Server Resource Warnings (RAM & Disk)
During every 5-minute health ping, DeployShip inspects the server's resource utilization:
- RAM Threshold (>85%): Alerts you before Linux OOM Killer abruptly terminates your largest memory consumers.
- Disk Threshold (>85%): Alerts you before root disk exhaustion blocks Docker container writes, database writes, or git checkouts.
- Debounced Delivery: Alerts are throttled to once every 4 hours per server and automatically reset when usage normalizes below 80%.
Was this page helpful?