Monitor any remote server's health over SSH. No agent or daemon needed on the server side — uses standard Linux commands.
When to Use
Use this skill when the user asks about server health, server status, CPU usage, memory usage, disk space, uptime, or running processes on a remote machine.
How to Check
Run the following commands via SSH. Replace TARGET with the user's server (e.g. user@hostname or an SSH config alias).
Quick health snapshot (one command)
ssh TARGET 'echo "=== UPTIME ===" && uptime && echo "=== CPU ===" && top -bn1 | head -5 && echo "=== MEMORY ===" && free -h && echo "=== DISK ===" && df -h --total 2>/dev/null || df -h && echo "=== TOP 5 PROCESSES ===" && ps aux --sort=-%mem | head -6'Individual checks
- Uptime:
ssh TARGET uptime - CPU load:
ssh TARGET "top -bn1 | head -5" - Memory:
ssh TARGET "free -h" - Disk:
ssh TARGET "df -h" - Top processes by memory:
ssh TARGET "ps aux --sort=-%mem | head -10" - Top processes by CPU:
ssh TARGET "ps aux --sort=-%cpu | head -10" - Docker containers (if applicable):
ssh TARGET "docker ps --format 'table {{.Names}}\\t{{.Status}}\\t{{.Ports}}' 2>/dev/null || echo 'Docker not running'" - System logs (last errors):
ssh TARGET "journalctl -p err --no-pager -n 20 2>/dev/null || tail -20 /var/log/syslog"
Response Format
Present results in a clean summary:
- 🟢 if values are healthy (CPU < 80%, RAM < 85%, disk < 90%)
- 🟡 if approaching limits (CPU 80-95%, RAM 85-95%, disk 90-95%)
- 🔴 if critical (CPU > 95%, RAM > 95%, disk > 95%)
Example:
Server: myserver (192.168.1.10)
⏱ Uptime: 43 days
🟢 CPU: 12% (load avg: 0.45, 0.32, 0.28)
🟢 RAM: 6.2G / 16G (39%)
🟡 Disk: 85% used (42G / 50G)
🟢 Top process: node (420MB)Rules
- Always confirm the server hostname/alias with the user before connecting.
- Never store or log SSH credentials.
- If SSH fails, suggest the user check their SSH config or key setup.
- Do not run any write/modify commands — this skill is read-only monitoring.