first commit
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# HEALTH CHECK SCRIPT
|
||||
# Verifica que todo funcione correctamente
|
||||
################################################################################
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
FAILURES=0
|
||||
|
||||
check() {
|
||||
local name=$1
|
||||
local cmd=$2
|
||||
local expected=$3
|
||||
|
||||
echo -n "Verificando $name... "
|
||||
|
||||
if eval "$cmd" &>/dev/null; then
|
||||
echo -e "${GREEN}✅${NC}"
|
||||
return 0
|
||||
else
|
||||
echo -e "${RED}❌${NC}"
|
||||
((FAILURES++))
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo -e "${BLUE}========================================${NC}"
|
||||
echo -e "${BLUE} LLM SERVER HEALTH CHECK${NC}"
|
||||
echo -e "${BLUE}========================================${NC}\n"
|
||||
|
||||
# Sistema
|
||||
echo -e "${YELLOW}Sistema:${NC}"
|
||||
check "Ubuntu 22.04" "grep -q '22.04' /etc/os-release"
|
||||
check "Internet" "ping -c 1 8.8.8.8"
|
||||
|
||||
# Drivers & GPU
|
||||
echo -e "\n${YELLOW}GPU & Drivers:${NC}"
|
||||
check "NVIDIA Driver" "command -v nvidia-smi"
|
||||
check "CUDA 12.3" "command -v nvcc"
|
||||
check "RTX 3090" "nvidia-smi | grep -q 'RTX 3090'"
|
||||
check "cuDNN" "ldconfig -p | grep -q cudnn"
|
||||
|
||||
# Software
|
||||
echo -e "\n${YELLOW}Software:${NC}"
|
||||
check "Python 3.11" "python3.11 --version"
|
||||
check "Docker" "command -v docker"
|
||||
check "Git" "command -v git"
|
||||
|
||||
# Services
|
||||
echo -e "\n${YELLOW}Servicios:${NC}"
|
||||
check "Ollama service" "sudo systemctl is-active ollama"
|
||||
check "API service" "sudo systemctl is-active llm-api"
|
||||
|
||||
# Conectividad
|
||||
echo -e "\n${YELLOW}API Connectivity:${NC}"
|
||||
check "Ollama API" "curl -s http://localhost:11434/api/tags"
|
||||
check "FastAPI" "curl -s http://localhost:8000/health"
|
||||
|
||||
# Modelos
|
||||
echo -e "\n${YELLOW}Modelos Ollama:${NC}"
|
||||
check "Phi disponible" "curl -s http://localhost:11434/api/tags | grep -q 'phi'"
|
||||
check "DeepSeek disponible" "curl -s http://localhost:11434/api/tags | grep -q 'deepseek'"
|
||||
|
||||
# Disk Space
|
||||
echo -e "\n${YELLOW}Espacio en Disco:${NC}"
|
||||
root_usage=$(df / | awk 'NR==2 {print int($5)}')
|
||||
if [ "$root_usage" -lt 90 ]; then
|
||||
echo -e "Uso de disco (root): ${GREEN}${root_usage}%${NC}"
|
||||
else
|
||||
echo -e "Uso de disco (root): ${RED}${root_usage}%${NC}"
|
||||
((FAILURES++))
|
||||
fi
|
||||
|
||||
# Summary
|
||||
echo -e "\n${BLUE}========================================${NC}"
|
||||
if [ "$FAILURES" -eq 0 ]; then
|
||||
echo -e "${GREEN}✅ TODOS LOS CHECKS PASARON${NC}"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${RED}❌ $FAILURES CHECKS FALLARON${NC}"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user