Saltearse al contenido

Mantenimiento y Monitoreo

Esta sección documenta los procedimientos y herramientas para el mantenimiento continuo y monitoreo del Wiki de NeoDigital.

Verificación de logs

El sistema genera varios logs que permiten diagnosticar problemas y monitorear el funcionamiento:

Ventana de terminal
# Logs de Docker
docker logs wiki
# Logs de despliegue
tail -f /var/log/deployments.log
# Logs de Nginx
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

Comandos útiles para mantenimiento

Verificación del estado de servicios

Ventana de terminal
# Verificar estado de Nginx
systemctl status nginx
# Verificar puertos abiertos
netstat -tuln | grep -E '80|443'
# Verificar contenedores Docker activos
docker ps
# Verificar uso de recursos
docker stats

Reinicio de servicios

Si es necesario reiniciar algún componente:

Ventana de terminal
# Reiniciar Nginx
systemctl restart nginx
# Reiniciar contenedor
docker restart wiki
# Reiniciar y recrear contenedor (en caso de problemas)
docker stop wiki
docker rm wiki
docker run -d -p 3000:80 --name wiki --restart always neodigital-wiki:latest

Actualizaciones del sistema

Es importante mantener el sistema operativo y las dependencias actualizadas:

Ventana de terminal
# Actualizar paquetes del sistema
apt update && apt upgrade -y
# Actualizar imágenes de Docker base
docker pull nginx:alpine
docker pull node:20-alpine
# Reconstruir el contenedor después de actualizar imágenes base
cd ~/GitHub/repositories/neodigital-wiki
docker build -t neodigital-wiki:latest --no-cache .
docker stop wiki
docker rm wiki
docker run -d -p 3000:80 --name wiki --restart always neodigital-wiki:latest

Renovación de certificados SSL

Let’s Encrypt configura automáticamente la renovación de certificados, pero podemos verificar y forzar la renovación:

Ventana de terminal
# Verificar status de certificados
certbot certificates
# Forzar la renovación
certbot renew --force-renewal
# Verificar el timer de renovación automática
systemctl status certbot.timer

Escalado del sistema

Si el tráfico aumenta y se requiere más capacidad:

  1. En Digital Ocean:

    • Ir al panel de administración del Droplet
    • Seleccionar “Resize Droplet”
    • Elegir un plan con más recursos (CPU/RAM)
    • Aplicar los cambios
  2. En Nginx: Optimizar la configuración para mayor tráfico:

    Ventana de terminal
    nano /etc/nginx/nginx.conf

    Aumentar worker_connections según sea necesario:

    events {
    worker_connections 2048;
    # ...
    }

Monitoreo de recursos

Para monitorear el uso de recursos en el servidor:

Ventana de terminal
# Uso general de recursos
top
# Uso de disco
df -h
# Uso de memoria
free -m
# Estadísticas de red
netstat -tuln

Respaldo y recuperación

Aunque no tenemos configurados respaldos automáticos, podemos realizar respaldos manuales:

Ventana de terminal
# Respaldar configuración de Nginx
tar -czf nginx-config-$(date +%Y%m%d).tar.gz /etc/nginx
# Respaldar imagen Docker
docker save neodigital-wiki:latest | gzip > neodigital-wiki-$(date +%Y%m%d).tar.gz
# Respaldar certificados SSL
tar -czf letsencrypt-$(date +%Y%m%d).tar.gz /etc/letsencrypt

Para restaurar desde respaldos:

Ventana de terminal
# Restaurar configuración de Nginx
tar -xzf nginx-config-YYYYMMDD.tar.gz -C /
# Restaurar imagen Docker
gunzip -c neodigital-wiki-YYYYMMDD.tar.gz | docker load
# Restaurar certificados SSL
tar -xzf letsencrypt-YYYYMMDD.tar.gz -C /

Siguientes pasos

Ahora que conocemos cómo mantener el sistema, veamos el flujo de trabajo para crear y actualizar contenidos en el Wiki.