Responsable, inventario, copia, prueba de restauración y registro básico de fallos.
Cómo operar IA local en producción: monitorización, copias e incidencias
Sin empezar por una arquitectura compleja: la guía práctica para ponerlo en marcha, sin proyecto — tus documentos respondiendo, el resumen del correo y los datos de cada cliente a una pregunta de distancia.
Convierte el despliegue en un servicio mantenible. Define qué componentes existen, quién responde por ellos, qué nivel de servicio deben cumplir, qué métricas se vigilan, cómo se hacen y restauran las copias, cómo se actualiza y cómo se vuelve a la versión anterior cuando algo falla.
Operar una IA para una pyme empieza por saber quién la cuida y cómo se recupera
No necesitas una gran plataforma de monitorización. Sí necesitas una persona responsable, una revisión periódica, una copia comprobada y una hoja con los pasos para reiniciar o volver atrás.
Más capacidad cuando la cola, la memoria o la disponibilidad observada lo justifiquen.
Observabilidad central, alta disponibilidad, despliegues automatizados y guardias.
La explicación avanzada continúa debajo. Puedes consultarla cuando el uso, los datos o el número de personas lo justifiquen.
Documenta servicios, estado, propietario y dependencia
Operar la IA es mantener la furgoneta de la empresa: revisiones programadas, un cuaderno de incidencias, un responsable con nombre y un plan para el día que no arranque. Nada exótico — pero si nadie es el responsable, el fallo se descubre en el peor momento posible.
| Servicio | Estado | Fuente de verdad | Propietario | Recuperación |
|---|---|---|---|---|
| Proxy TLS | Configuración | Repositorio y certificados | Infraestructura | Reinstalar y restaurar config |
| Open WebUI | Usuarios y configuración | Base y volumen | Plataforma IA | Base + datos persistentes |
| Programa que ejecuta el modelo | Modelos y configuración | Manifiesto y almacén | Plataforma IA | Descargar/verificar artefactos |
| RAG | Índice y metadatos | Originales + pipeline | Conocimiento | Snapshot o reindexación |
| Postgres | Datos críticos | Base | DBA/Plataforma | Dump y recuperación puntual |
| n8n | Flujo de trabajos, credenciales, ejecuciones | Base y secretos | Automatización | Base + clave de cifrado |
| Evaluaciones | Datasets y resultados | Repositorio protegido | Equipo IA | Copia versionada |
Ficha por servicio
service: open-webui
owner: plataforma-ia
business_owner: soporte
host: ia-node-01
endpoint: https://ia.intranet.ejemplo
healthcheck: https://ia.intranet.ejemplo/health
upstream: http://127.0.0.1:3000
identity: oidc-corporativo
secrets: secret-store/open-webui
state:
- postgres database
- application data volume
backup_policy: daily + pre-change
restore_runbook: RB-IA-004
monitoring_dashboard: OBS-IA-WEBUI
rollback: previous image digest + database snapshotDefine qué debe estar disponible y en cuánto tiempo
Indicadores
- Disponibilidad: porcentaje de peticiones atendidas dentro de la ventana.
- Latencia: tiempo hasta primer token y respuesta completa por percentil.
- Capacidad: peticiones y tokens procesados sin superar cola o error.
- Calidad: regresión, errores críticos, citas y herramientas.
- Frescura: tiempo desde que cambia una fuente hasta que el índice la refleja.
- Recuperación: tiempo máximo aceptable para restablecer el servicio (RTO) y cantidad máxima de datos que se admite perder (RPO).
Plantilla SLO
Un SLO es una meta operativa medible: indica qué disponibilidad, velocidad, capacidad y recuperación debe alcanzar el servicio. No es una promesa genérica; debe asociarse a una métrica, un periodo de medición, un responsable y una acción cuando se incumple.
Servicio: asistente interno de soporte
Horario: jornada laboral definida por la empresa
Disponibilidad objetivo: ...
Latencia p95 para consulta representativa: ...
Cola máxima antes de degradar: ...
RTO: ...
RPO: ...
Frescura documental: ...
Errores críticos permitidos: cero
Modo degradado: búsqueda documental sin generación
Canal de incidente: ...
Responsable de decisión: ...No fijes un objetivo sin presupuesto de capacidad y soporte. Un servicio no crítico puede aceptar recuperación manual; una plataforma compartida necesita automatización, redundancia o soporte acorde.
Observa infraestructura, inferencia, RAG y experiencia
- CPU, RAM, swap y disco.
- I/O y espacio de inodos.
- Red y errores.
- Reinicios y procesos.
- Memoria usada y total.
- Utilización y temperatura.
- Potencia y throttling.
- Errores del controlador.
- Modelos cargados.
- Cola y peticiones.
- TTFT, latencia y tokens/s.
- Timeouts y OOM.
- Ingestas fallidas.
- Documentos vigentes.
- Tiempo de indexación.
- Fuentes y abstenciones.
- Login y errores.
- Herramientas rechazadas.
- Aprobaciones pendientes.
- Feedback y casos fallidos.
- Última copia correcta.
- Prueba de restauración.
- Caducidad de certificados.
- Capacidad de almacenamiento.
Comandos de diagnóstico rápido
date -Is
uptime
free -h
df -h
df -i
nvidia-smi
docker compose ps
docker compose top
docker compose logs --since=30m --tail=300
ss -lntup
journalctl -p warning --since "30 minutes ago"Ejecuta comandos con la cuenta autorizada. Los logs pueden contener datos; limita quién puede leerlos y evita copiarlos a canales no aprobados.
Alertas accionables
Cada alerta debe indicar impacto, umbral, ventana, propietario y runbook. Evita alertar por cada pico instantáneo. Ejemplo: memoria GPU por encima del margen durante varios minutos junto con cola creciente y errores de asignación.
Planifica por demanda, contexto y concurrencia
Datos que debes conservar
- Peticiones por hora y patrón diario.
- Usuarios activos y simultáneos.
- Tokens de entrada y salida por percentil.
- Modelos y tiempo residentes en memoria.
- Tiempo de cola, prefill y generación.
- Trabajos batch y ventanas.
- Crecimiento de documentos, índice y logs.
Modos de degradación
- Reducir contexto o resultados RAG manteniendo evidencia mínima.
- Enrutar tareas sencillas a un modelo compacto evaluado.
- Limitar salidas y concurrencia por usuario.
- Poner trabajos batch en cola fuera del pico.
- Desactivar temporalmente una función no crítica.
- Ofrecer búsqueda con fuentes sin generación cuando sea posible.
Señales para ampliar hardware
- La cola supera el objetivo con uso legítimo y configuración optimizada.
- La carga representativa no cabe sin degradar calidad.
- El p95 permanece fuera de objetivo tras ajustar contexto y motor.
- No existe margen para actualización o fallo de una réplica.
- Los trabajos visuales compiten con el chat y requieren aislamiento.
Una GPU adicional puede servir réplicas o separar cargas. DGX Spark aporta memoria coherente para modelos que exceden VRAM; DGX Station o servidores profesionales se justifican cuando capacidad, servicio y soporte lo demuestran. No uses petaFLOP FP4 como sustituto de mediciones de tu carga.
Copia fuentes de verdad y prueba una restauración completa
| Activo | Método | Consistencia | Prueba |
|---|---|---|---|
| Configuración | Repositorio y copia cifrada | Por cambio | Desplegar host vacío |
| Postgres | pg_dump o backup físico | Transaccional | Restaurar y ejecutar checks |
| Qdrant/índice | Snapshot soportado | Por colección | Restaurar o reindexar |
| Documentos | Repositorio original | Fuente de verdad | Recuperar versión y permisos |
| Modelos | Manifiesto, hash y origen | Artefacto inmutable | Volver a descargar o restaurar |
| n8n | Base, datos y clave de cifrado | Coherente | Abrir flujo de trabajos y credenciales |
| Evaluación | Repositorio protegido | Versionado | Reejecutar una batería |
Backup lógico de Postgres
set -euo pipefail
umask 077
STAMP="$(date -u +%Y%m%dT%H%M%SZ)"
DEST="/srv/ia/backups/postgres/${STAMP}"
install -d -m 0700 "$DEST"
docker compose exec -T postgres \
pg_dump --format=custom --no-owner --no-acl \
--username="${POSTGRES_USER}" "${POSTGRES_DB}" \
> "${DEST}/ia.dump"
sha256sum "${DEST}/ia.dump" > "${DEST}/SHA256SUMS"
test -s "${DEST}/ia.dump"No guardes contraseña en el script. Cárgala desde un entorno o secreto con permisos limitados. Cifra y replica fuera del host según política.
Snapshot de una colección vectorial
curl -fsS -X POST \
"http://127.0.0.1:6333/collections/COLECCION/snapshots" \
-H "api-key: ${QDRANT_API_KEY}"El endpoint debe estar en localhost o red administrativa. Verifica el procedimiento de la versión fijada y copia el snapshot fuera del contenedor.
Regla de tres copias
Conserva la fuente operativa, una copia separada del host y otra protegida frente al mismo incidente. Cifra, controla acceso, prueba integridad y aplica retención. Una réplica sincronizada no sustituye una copia frente a borrado o corrupción.
Practica la recuperación en un entorno distinto
Orden recomendado
Provisiona un host limpio
Misma arquitectura o compatible, red aislada y sin usuarios.
Restaura configuración y secretos
Desde fuentes autorizadas; rota credenciales si el incidente pudo exponerlas.
Arranca dependencias
Base, vectorial y almacenamiento antes de aplicaciones.
Restaura estado
Importa Postgres, snapshots y datos persistentes.
Recupera modelos
Verifica hashes, licencia y compatibilidad.
Valida identidad y permisos
Prueba usuarios, grupos, baja y aislamiento RAG.
Ejecuta evaluación mínima
Smoke test, regresión crítica, herramienta en modo prueba y carga breve.
Decide el retorno
Documenta RPO alcanzado, diferencias y aprobación.
Restaurar un dump lógico
sha256sum -c SHA256SUMS
docker compose exec -T postgres \
createdb --username="${POSTGRES_USER}" ia_restore_test
docker compose exec -T postgres \
pg_restore --clean --if-exists --no-owner --no-acl \
--username="${POSTGRES_USER}" --dbname=ia_restore_test \
< ia.dumpPrueba sobre una base separada. No ejecutes --clean contra producción sin un plan y aprobación.
Acta de restauración
- Inicio y fin.
- Copia utilizada y hashes.
- RPO y RTO reales.
- Servicios recuperados.
- Pruebas ejecutadas.
- Diferencias y acciones.
- Responsables y aprobación.
Cambia una variable, evalúa y conserva volver a la versión anterior
Qué puede alterar la conducta
- Modelo, cuantización o adaptador.
- Programa que ejecuta el modelo, driver o librería CUDA.
- Prompt de sistema, plantilla o parámetros.
- Embeddings, fragmentación, índice o reranker.
- Open WebUI, n8n, nodos o extensiones.
- Herramientas, schemas, permisos o APIs.
- Documentos, metadatos y políticas.
Proceso de cambio
Registrar
Motivo, versión actual, objetivo, propietario y riesgo.
Respaldar
Copia consistente y verificación de espacio y restauración.
Probar
Entorno de preproducción con dataset y seguridad.
Desplegar gradualmente
Grupo pequeño o réplica canaria.
Observar
Calidad, latencia, errores, memoria y feedback.
Confirmar o revertir
Criterios definidos antes del cambio.
Actualización de Compose
cd /srv/ia/compose
cp env.production "env.production.backup.$(date -u +%Y%m%dT%H%M%SZ)"
docker compose --env-file env.candidate config > rendered-candidate.yaml
docker compose --env-file env.candidate pull
docker image inspect IMAGEN@sha256:DIGEST
docker compose --env-file env.candidate up -d
docker compose ps
docker compose logs --since=10m --tail=300
# Ejecutar smoke tests y regresión crítica antes de ampliar usuarios.Para volver a la versión anterior, conserva la configuración anterior, digest, copia de base compatible y procedimiento. Una migración de esquema puede impedir volver solo cambiando la imagen.
Clasifica impacto, contiene y conserva evidencia mínima
| Severidad | Ejemplo | Respuesta |
|---|---|---|
| Crítica | Fuga, acción no autorizada, secreto o indisponibilidad general | Contener, escalar, preservar, comunicar y recuperar |
| Alta | Errores críticos repetidos o pérdida de una función principal | Deshabilitar función, volver a la versión anterior y análisis |
| Media | Degradación, cola o ingestión parcial | Modo degradado y corrección programada |
| Baja | Pregunta aislada o mejora de calidad | Registrar y añadir a regresión |
Runbook de primera respuesta
- Confirma hora, alcance, usuarios y primera señal.
- Asigna responsable y canal de coordinación.
- Detén la función o acceso que puede aumentar el daño.
- Preserva IDs, métricas, versiones y cambios recientes.
- No copies datos sensibles a chats no autorizados.
- Aplica volver a la versión anterior o recuperación conocida.
- Verifica con pruebas y comunica el estado.
- Analiza causa y crea acciones y regresión.
Comando para recoger estado sin contenido
set -euo pipefail
OUT="ops-state-$(date -u +%Y%m%dT%H%M%SZ)"
mkdir -m 0700 "$OUT"
date -Is > "$OUT/time.txt"
uptime > "$OUT/uptime.txt"
df -h > "$OUT/disk.txt"
free -h > "$OUT/memory.txt"
nvidia-smi > "$OUT/nvidia-smi.txt" 2>&1 || true
docker compose ps > "$OUT/compose-ps.txt"
docker inspect $(docker compose ps -q) \
--format '{{.Name}} {{.Image}} {{.State.Status}}' > "$OUT/containers.txt"
tar -czf "${OUT}.tar.gz" "$OUT"
sha256sum "${OUT}.tar.gz" > "${OUT}.sha256"No incluye logs ni cuerpos. Añádelos solo según necesidad y política.
Calendario operativo recomendado
- Disponibilidad y alertas.
- Copias correctas.
- Ingestiones fallidas.
- Disco y cola.
- Casos fallidos y feedback.
- Capacidad y tendencias.
- Reintentos y aprobaciones.
- Vulnerabilidades críticas.
- Copia y espacio.
- Dataset de regresión.
- Compatibilidad de esquema.
- Rollback y ventana.
- Restauración completa.
- Roles y credenciales.
- Retención y borrado.
- Prueba de incidente.
Matriz RACI mínima
| Actividad | Negocio | Plataforma | Seguridad | Datos |
|---|---|---|---|---|
| Calidad del caso | Responsable | Consultado | Informado | Consultado |
| Disponibilidad | Informado | Responsable | Consultado | Informado |
| Accesos | Aprueba | Ejecuta | Supervisa | Consultado |
| Índice documental | Aprueba contenido | Opera pipeline | Revisa control | Responsable de fuente |
| Incidente | Decide impacto | Contiene y recupera | Coordina respuesta | Apoya evidencia |
Un servicio listo para ser mantenido
- Inventario y propietario de cada componente.
- SLO, RTO, RPO y modo degradado.
- Panel de host, GPU, programa que ejecuta el modelo, RAG y aplicación.
- Alertas con responsable y runbook.
- Capacidad medida con percentiles y concurrencia.
- Backups de configuración, base, índice y fuentes.
- Restauración probada en entorno separado.
- Imágenes y modelos fijados por digest o hash.
- Proceso de cambio, canario y volver a la versión anterior.
- Dataset de regresión antes de cada cambio.
- Severidades y canal de incidente.
- Accesos y secretos revisados.
- Retención de logs y documentos aplicada.
- Otra persona ha ejecutado el runbook.
Operar modelos y RAG
¿Tengo que copiar los modelos?
Conserva un manifiesto con origen, hash y licencia. Puedes volver a descargarlos si el repositorio y la política lo permiten, pero una copia local puede reducir el tiempo de recuperación. Los adaptadores propios sí requieren copia protegida.
¿El índice vectorial es la fuente de verdad?
No. Es derivado de documentos y configuración. Debes poder restaurarlo o reconstruirlo con los mismos metadatos, permisos, embeddings y fragmentación.
¿Cuándo necesito alta disponibilidad?
Cuando el impacto y el tiempo de recuperación no admiten un único host. Decide por SLO y análisis de riesgo, no por el número de usuarios solamente.
¿Qué cambio obliga a repetir la evaluación?
Cualquier cambio de modelo, programa que ejecuta el modelo, prompt, índice, embeddings, documentos, herramienta, permisos o infraestructura que pueda alterar salida, seguridad o rendimiento.
¿Cómo evito quedarme sin GPU?
Limita contexto, salida, concurrencia y modelos residentes; separa cargas batch o visuales; monitoriza memoria y cola; prueba capacidad antes de ampliar usuarios y reserva margen para actualizaciones o fallos.
- Dos nodos: mantienen la referencia oficial de hasta 405B con software compatible y un enlace QSFP directo.
- Tres o cuatro nodos: NVIDIA Sync valida un anillo de tres y topologías de hasta cuatro mediante switch; repartir un modelo exige un programa que ejecuta el modelo compatible y pruebas reales.
- Más usuarios: si el modelo cabe en una unidad, suele ser más sencillo añadir réplicas o colas que dividir el modelo. Ver topologías y límites →
No pasa nada: empieza por lo esencial y vuelve aquí cuando el uso crezca. Para muchas pymes, el primer paso se reduce a un equipo, un uso concreto y una receta — la guía práctica para pymes — y esta página seguirá aquí, esperándote, el día que toque crecer.
Fuentes técnicas y criterio editorial
Las especificaciones, funciones y límites descritos se contrastan con documentación primaria de Despliegue y operación, Ollama y modelos. Las recomendaciones de compra, el orden de los pasos y los márgenes de planificación son criterios editoriales de AI Supercomputers: deben confirmarse con la versión instalada y una prueba real.
Docker Engine: instalación · Ollama: documentación oficial · Open WebUI: documentación oficial · Biblioteca oficial de modelos · Contexto y comprobación de offload