Files
openclaw/tools/jarvis-health-check-v2.sh
Clawd Bot ca9b510922 chore: align with upstream openclaw/openclaw and overlay local additions
- Reset master to upstream/main (16,697 commits)
- Overlay 2,271 local-only files (skills, tools, workspace, configs, apps)
- Restore IDENTITY.md and USER.md templates
- Build verified, gateway running, Discord working

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 07:40:46 +01:00

84 lines
2.2 KiB
Bash

#!/usr/bin/env bash
# Jarvis System Health Monitor V2 - Simplified & Robust
set -euo pipefail
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
CRITICAL=0
WARNINGS=0
OK=0
check_critical() {
local name="$1"
local cmd="$2"
if eval "timeout 5 $cmd" &>/dev/null; then
echo -e "${GREEN}${NC} $name"
((OK++))
else
echo -e "${RED}${NC} $name"
((CRITICAL++))
fi
}
check_warn() {
local name="$1"
local cmd="$2"
if eval "timeout 5 $cmd" &>/dev/null; then
echo -e "${GREEN}${NC} $name"
((OK++))
else
echo -e "${YELLOW}${NC} $name"
((WARNINGS++))
fi
}
echo "=== JARVIS SYSTEM HEALTH CHECK ==="
echo ""
echo "📡 Core Services:"
check_critical "Gateway" "curl -sfk https://192.168.1.220:18789/"
check_critical "Kanban API" "curl -sf http://192.168.1.220:5003/api/tasks?limit=1"
check_critical "Discord" "openclaw channels status --probe | grep -q discord"
echo ""
echo "🔧 Optional Services:"
check_warn "Voice Surface" "curl -sf http://192.168.1.220:3030/"
check_warn "Kamoer Pump" "curl -sf http://192.168.1.220:5000/"
echo ""
echo "🏠 Smart Home:"
check_critical "Home Assistant" "curl -sf http://192.168.1.24:8123/"
check_warn "Chromecast" "ping -c 1 -W 2 192.168.1.25"
check_warn "Roborock" "ping -c 1 -W 2 192.168.1.247"
echo ""
echo "🌐 Network:"
check_warn "NAS" "ping -c 1 -W 2 192.168.1.133"
check_warn "UniFi" "curl -sfk https://192.168.1.78:8443/"
echo ""
echo "🥧 Raspberry Pi:"
check_critical "SSH" "ssh -o ConnectTimeout=3 192.168.1.24 'echo ok'"
check_warn "Disk < 90%" "ssh -o ConnectTimeout=3 192.168.1.24 'df / | tail -1 | awk \"{print \\\$5}\" | sed s/%// | awk \"{if (\\\$1<90) exit 0; else exit 1}\"'"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
if [ $CRITICAL -eq 0 ] && [ $WARNINGS -eq 0 ]; then
echo -e "${GREEN}✅ All systems operational${NC} ($OK checks)"
exit 0
elif [ $CRITICAL -eq 0 ]; then
echo -e "${YELLOW}⚠️ $WARNINGS warnings${NC}, $OK OK"
exit 0
else
echo -e "${RED}$CRITICAL critical${NC}, $WARNINGS warnings, $OK OK"
exit 1
fi