Automated Monitoring for OpenClaw Bots: A Practical Guide
Manual monitoring means you find out your bot is down when a user complains. Automated monitoring means the crash is fixed before most users notice. Here's how to set it up โ from simple cron scripts to a full repair agent.
The monitoring gap in OpenClaw
OpenClaw doesn't include built-in uptime monitoring. When the gateway process dies, nothing alerts you. You find out via:
- A user DMing "your bot isn't working"
- Checking Telegram and noticing the silence
- Looking at the server and seeing the process is dead
The average developer finds out 4โ6 hours after the crash. By then, multiple users have already bounced.
Option 1: Simple cron watchdog (free, DIY)
The cheapest approach: a cron job that checks the process and restarts it if dead.
#!/bin/bash
# Simple OpenClaw watchdog โ add to cron: */5 * * * * /path/to/watchdog.sh
LOG="/var/log/openclaw-watchdog.log"
TS=$(date '+%Y-%m-%d %H:%M:%S')
if ! pgrep -f "openclaw-gateway" > /dev/null; then
echo "[$TS] Gateway not running โ restarting" >> "$LOG"
systemctl restart openclaw-gateway 2>> "$LOG" || \
openclaw gateway restart 2>> "$LOG"
# Optional: send Telegram alert
# curl -s "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
# -d chat_id="${CHAT_ID}" \
# -d text="โ ๏ธ Gateway restarted at $TS" > /dev/null
else
echo "[$TS] Gateway OK" >> "$LOG"
fi# Run every 5 minutes */5 * * * * /usr/local/bin/openclaw-watchdog.sh 2>&1
This works for simple restarts. It won't handle config corruption, disk full errors, or know why the gateway died โ it just restarts blindly. Which is fine until it isn't.
Option 2: systemd with auto-restart (slightly better)
If you're on Linux, systemd can restart the gateway on crash with a configurable delay:
[Unit] Description=OpenClaw Gateway After=network.target [Service] User=your-username WorkingDirectory=/home/your-username/.openclaw/workspace ExecStart=openclaw gateway start --foreground Restart=on-failure RestartSec=10s # Stop auto-restart after 5 tries in 5 minutes (prevents crash loops) StartLimitInterval=300 StartLimitBurst=5 [Install] WantedBy=multi-user.target
This catches simple crashes. But it still won't tell you what happened, and it won't fix config corruption or disk issues.
Option 3: Full automated repair agent
This is what Mechanic Bot does. Instead of a dumb restart, it:
DIY watchdog
- Detects crash ~5 minutes late
- Restarts blindly (fails if config broken)
- No notification to you
- No logging of what was wrong
- Loops if root cause isn't fixed
Mechanic Bot
- Detects within 60 seconds
- Diagnoses before restarting
- Repairs config corruption safely
- Notifies you via Telegram + email
- Full repair audit trail
What "automated repair" actually means
When Mechanic detects the gateway is down, it runs through a decision tree:
Gateway crash repair sequence
1. Check process is actually dead (not just slow) 2. Check disk space (>90% = clear logs first) 3. Validate config file (parse JSON, check required keys) โ If broken: backup โ deep-merge repair โ preserve all tokens โ If OK: proceed to restart 4. Attempt restart via systemd / launchctl / openclaw gateway 5. Verify restart succeeded (ping gateway health endpoint) 6. Send Telegram/email notification with outcome 7. Write audit trail entry 8. If failed after 3 attempts: escalate to manual repair
The key difference: step 3. Dumb restart fails silently if the config is broken. A repair agent fixes the underlying cause.
Setting up Mechanic Bot
One command installs the monitoring agent on your Linux VPS or Mac:
curl -fsSL https://mechanicbot.io/onboard.sh | sudo bash -s -- \ --token YOUR_TOKEN \ --email you@example.com
curl -fsSL https://mechanicbot.io/onboard-mac.sh | bash -s -- \ --token YOUR_TOKEN \ --email you@example.com
The agent runs as a non-root systemd service (Linux) or launchd service (Mac), connects to the Mechanic hub via WebSocket, and starts monitoring your gateway within 30 seconds.
14-day free trial, no credit card. Works on Ubuntu, Debian, Raspberry Pi, macOS. Installs in about 4 minutes.
Stop debugging 3am crashes manually.
Mechanic Bot monitors your OpenClaw bot 24/7 and fixes crashes automatically. You get notified when it fixes something โ not when it fails to.
Start free trial โ Bot broken now?