Debugging y logs en Vagrant


Debugging y logs en Vagrant usando vagrant up --debug

Debugging y logs en Vagrant
oscar Escrito por oscar 27 April 2025 103 0

Saber hacer debugging y leer logs en Vagrant es esencial cuando algo no funciona como esperas. Aquí te explico todo de manera clara:

🛠️ Debugging en Vagrant

Cuando algo falla en Vagrant (por ejemplo, vagrant up no levanta bien, o vagrant ssh no conecta), puedes usar niveles de log y modos de debug para saber qué está pasando.

🛠️Crear un proyecto

Procedemos a crear un proyecto en vagrant como lo explico en primeros pasos con vagrant, creamos un directorio llamado proyecto-vagrant y ejecutamos:

vagrant init

Esto creara en el directorio el archivo proyecto-vagrant vagrantfile el cual vamos a agregar el box "ubuntu/bionic64" de momento, nos deberá quedar de la siguiente forma:

Vagrant.configure("2") do |config| 
  config.vm.box = "ubuntu/bionic64"
end

Iniciamos vagrant

vagrant up

Vemos que ha creado la maquina virtual en virtualbox y vemos que por defecto a dejado las siguientes caracteristicas en esta máquina virtual.

🧱 Modos de Debugging

👉 Usar la variable de entorno VAGRANT_LOG

En los sistemas Linux y Mac, esto se puede hacer anteponiendo al vagrant comando una declaración de variable ambiental:

VAGRANT_LOG=info vagrant up

En Windows, se requieren varios pasos:

set VAGRANT_LOG=info
vagrant up

1️⃣ Aumentar el nivel de detalle en los comandos

📜 Esto te muestra un log extremadamente detallado en consola:

  • Qué pasos está siguiendo Vagrant
  • Qué errores está recibiendo
  • Comunicación con VirtualBox, VMware, etc.

Otros niveles posibles:

  • info
  • warn
  • error
  • debug (el más detallado)

2️⃣ Redirigir el log a un archivo

Si quieres guardar los logs en un archivo para revisarlo con calma:

VAGRANT_LOG=debug vagrant up &> debug.log

Así tendrás todo el log en el archivo debug.log.

3️⃣ Modo Verbose

Otra opción menos "ruda" que debug es info:

VAGRANT_LOG=info vagrant up

Muestra mensajes más claros pero no tan abrumadores.

4️⃣ Usar vagrant --debug

Otra forma muy directa es:

vagrant up --debug

Esto es equivalente a VAGRANT_LOG=debug.

🧠 ¿Dónde guarda Vagrant información interna?

  • Directorio de configuración general:
    ~/.vagrant.d/

  • Carpeta de estados de proyecto:
    .vagrant/ dentro del directorio donde tienes tu Vagrantfile.

Ahí encontrarás:

  • Información de la máquina
  • IDs de las VMs
  • Logs de sesiones

🔥 Casos comunes de uso del Debug

Problema Solución con Debug
Fallo en vagrant up Verifica en debug si es problema de red, plugin, box dañada
SSH no conecta Mira el debug para ver si el puerto SSH fue correctamente mapeado
Plugins de Vagrant fallan Revisa el trace completo para ver cuál plugin causó el error
Vagrant no detecta VirtualBox Debug muestra si faltan drivers, permisos o configuraciones

🎯 Consejos prácticos

  • No te asustes: en modo debug, Vagrant genera MUCHA salida. Busca palabras como ERROR, FAILED, TIMEOUT.
  • Atención a errores SSH: si ves problemas como "Authentication failed", suele ser mala configuración de las claves públicas.
  • Versiona tu entorno: si todo falla, considera destruir la VM (vagrant destroy) y levantarla limpia (vagrant up).

📋 Resumen rápido

Comando Función
VAGRANT_LOG=debug vagrant up Ejecuta en modo debug
vagrant up --debug Alternativa para debug directo
VAGRANT_LOG=info vagrant up Logs menos ruidosos
&> archivo.log Redirige salida a un archivo

 


Comentario

Debe aceptar antes de enviar