Files
troupe-standup/wizard-work/spark/health-check.sh
T

41 lines
1000 B
Bash
Executable File

#!/bin/bash
# System Health Diagnostic Script
# Part of the troupe stack - reports key system metrics
echo "=== System Health Report ==="
echo "Timestamp: $(date -Iseconds)"
echo ""
# CPU Load
echo "CPU Load Average:"
cat /proc/loadavg | awk '{print " 1-min: " $1 ", 5-min: " $2 ", 15-min: " $3}'
echo " Cores: $(nproc)"
echo ""
# Memory Usage
echo "Memory Usage (MB):"
free -m | awk 'NR==2{printf " Used: %d / Total: %d / Available: %d\n", $3, $2, $7}'
echo ""
# Disk Usage
echo "Disk Usage (%):"
df -h / | awk 'NR==2{print " Used: " $5 " of " $2 " (Available: " $4 ")"}'
echo ""
# Uptime
echo "System Uptime:"
uptime | awk -F'up ' '{print " " $3}' | sed 's/,.*//'
echo ""
# Health Status
used_pct=$(df / | awk 'NR==2{print $5}' | tr -d '%')
if [ "$used_pct" -lt 80 ]; then
echo "STATUS: HEALTHY"
exit 0
elif [ "$used_pct" -lt 90 ]; then
echo "STATUS: WARNING - Disk usage at ${used_pct}%"
exit 1
else
echo "STATUS: CRITICAL - Disk usage at ${used_pct}%"
exit 2
fi