Una ventaja clave de usar WSL2 es tener acceso completo al ecosistema de herramientas de Linux, incluyendo aquellas utilizadas para análisis de logs, monitoreo y observabilidad. Esto permite replicar entornos de producción o staging de forma local, validar configuraciones, depurar servicios y construir flujos completos de análisis desde la línea de comandos.
Este artículo explora cómo aprovechar herramientas como journalctl
, logrotate
, grep
, htop
, iftop
, bmon
, dstat
, atop
, goaccess
y más, directamente desde una terminal en WSL2 para tener visibilidad del sistema, servicios y tráfico de red.
Requisitos
- WSL2 con distribución Ubuntu 20.04 o 22.04
- Acceso
sudo
para instalar herramientas - Servicios activos (nginx, PostgreSQL, Python web server, etc.)
Análisis de logs clásicos con grep
, awk
, less
cd /var/log
sudo less syslog
sudo tail -f nginx/access.log
sudo grep "error" nginx/error.log
Buscar patrones o errores:
grep -i "fail" auth.log
awk '{print $1, $2, $3, $5}' nginx/access.log | sort | uniq -c | sort -nr
Observabilidad del sistema
Procesos en tiempo real
htop
Filtrar por nombre, CPU o RAM. Permite ordenar e identificar cuellos de botella.
Uso de red por proceso
sudo iftop
sudo bmon
Monitorean el tráfico entrante y saliente en eth0
(interfaz de WSL).
Uso de dstat
y atop
para análisis extendido
sudo apt install -y dstat atop
Visualizar métricas combinadas:
dstat -cdnm
Para monitoreo prolongado:
sudo atop
Manejo y rotación de logs
Instalar logrotate
:
sudo apt install -y logrotate
Configurar rotación para logs personalizados:
sudo nano /etc/logrotate.d/custom
Ejemplo:
/home/usuario/proyecto/logs/*.log {
weekly
rotate 4
compress
missingok
notifempty
create 640 usuario usuario
}
Ejecutar rotación manual:
sudo logrotate -f /etc/logrotate.d/custom
Visualización de logs web con GoAccess
Instalar:
sudo apt install -y goaccess
Analizar logs de nginx:
sudo goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED
Abrir report.html
en navegador para ver estadísticas de tráfico, IPs, status codes y más.
Automatizar análisis con scripts
Ejemplo de script log-insights.sh
:
#!/bin/bash
echo "Errores recientes:"
tail -n 50 /var/log/nginx/error.log | grep -i "error"
echo "IPs más frecuentes:"
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
Dar permisos:
chmod +x log-insights.sh
Ejecutar periódicamente o como parte de debugging.
Buenas prácticas
- Evitar usar
journalctl
(no disponible sin systemd en WSL2) - Usar
nohup
otee
para guardar logs de procesos manuales - Monitorear tráfico entre servicios con
netstat
,ss
olsof
- Limitar permisos de lectura en logs sensibles (
chmod 640
) - Automatizar análisis postmortem con scripts por proyecto
Conclusión
Con WSL2 es posible construir flujos completos de observabilidad y análisis de logs utilizando herramientas estándar de Linux. Esto permite a los equipos depurar localmente, simular entornos productivos, y aplicar técnicas profesionales de monitoreo sin salir de Windows. Un entorno ideal para desarrollo, QA, seguridad y debugging distribuido.
Ver también
- Construcción de un asistente contextual para escritorio usando IA local con acceso al sistema
- Integración de inferencia local ONNX con Windows ML en apps modernas
- Integración con servicios locales vía App Services y extensión de funcionalidades entre apps
- Implementación de Background Tasks persistentes en apps modernas
- Empaquetado de apps modernas con MSIX y configuración avanzada del manifiesto