up
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
# Script de verificación de salud del sistema
|
||||
# Ejecuta cada hora
|
||||
|
||||
set -e
|
||||
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Verificando salud del sistema..."
|
||||
|
||||
# URLs a verificar
|
||||
APP_URL=${APP_URL:-http://app/health.php}
|
||||
REDIS_HOST=${REDIS_HOST:-redis}
|
||||
|
||||
# 1. Verificar aplicación web
|
||||
echo -n "[$(date '+%Y-%m-%d %H:%M:%S')] Verificando aplicación web... "
|
||||
if curl -s -f "$APP_URL" > /dev/null 2>&1; then
|
||||
echo "✅ OK"
|
||||
else
|
||||
echo "❌ FALLO"
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ⚠️ La aplicación web no responde"
|
||||
fi
|
||||
|
||||
# 2. Verificar base de datos
|
||||
echo -n "[$(date '+%Y-%m-%d %H:%M:%S')] Verificando base de datos... "
|
||||
if mariadb-admin ping -h "${DB_HOST:-mysql}" -u "${DB_USER}" --password="${DB_PASS}" --silent > /dev/null 2>&1; then
|
||||
echo "✅ OK"
|
||||
else
|
||||
echo "❌ FALLO"
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ⚠️ La base de datos no responde"
|
||||
fi
|
||||
|
||||
# 3. Verificar Redis
|
||||
echo -n "[$(date '+%Y-%m-%d %H:%M:%S')] Verificando Redis... "
|
||||
if echo "PING" | nc -w 2 "$REDIS_HOST" 6379 | grep -q PONG 2>/dev/null; then
|
||||
echo "✅ OK"
|
||||
else
|
||||
echo "❌ FALLO"
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ⚠️ Redis no responde"
|
||||
fi
|
||||
|
||||
# 4. Verificar espacio en disco
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Verificando espacio en disco..."
|
||||
df -h / | tail -1 | awk '{print "[" strftime("%Y-%m-%d %H:%M:%S") "] Espacio usado: " $5 " (" $3 " de " $2 ")"}'
|
||||
|
||||
# Advertencia si el espacio usado es mayor al 85%
|
||||
DISK_USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')
|
||||
if [ "$DISK_USAGE" -gt 85 ]; then
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ⚠️ ADVERTENCIA: Espacio en disco mayor al 85%"
|
||||
fi
|
||||
|
||||
# 5. Verificar memoria
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Uso de memoria:"
|
||||
free -h | grep -E "Mem|Swap" || echo "No disponible en este contenedor"
|
||||
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Verificación completada"
|
||||
Reference in New Issue
Block a user