Nosirve.com Logo
Nosirve.com

Cómo leer los logs del servidor web y detectar errores 500, 404 y 502

¿Por qué revisar los logs?

Cuando un usuario ve “Error 500” o “404 Not Found”, el servidor ya registró lo sucedido. Leer access.log y error.log te permite:

  • Ver qué URL falló y con qué código.
  • Descubrir la IP origen (útil contra ataques o crawlers).
  • Saber la hora exacta del error para correlacionar cambios de código.

Tip rápido Si a Nosirve.com muestra que tu sitio está caído solo para algunos usuarios, revisa los logs: te dirán si es un error 5xx global o algo puntual.


1. Ubicar los archivos de log

ServidorAccess LogError Log
Apache/var/log/apache2/access.log/var/log/apache2/error.log
Nginx/var/log/nginx/access.log/var/log/nginx/error.log
IISC:\inetpub\logs\LogFiles\W3SVC1\u_ex*.logC:\Windows\System32\LogFiles\HTTPERR

En hostings administrados (cPanel, Plesk), suele haber un panel de Raw Logs o Metrics.


2. Leer logs en tiempo real con tail

Linux / macOS


sudo tail -f /var/log/nginx/error.log

  • -f sigue el archivo en vivo.

  • Usa Ctrl+C para salir.

Windows PowerShell (IIS)


Get-Content "C:\inetpub\logs\LogFiles\W3SVC1\u_ex230424.log" -Wait


3. Ejemplo práctico: detectar un Error 500 en Nginx

Entrada típica de error.log:


2025/04/24 13:02:11 [error] 3128#3128: *56 rewrite or internal redirection cycle while internally redirecting to "/index.php", client: 203.0.113.10, server: example.com, request: "GET / HTTP/2.0", host: "example.com"

  • [error] → nivel de severidad.

  • client: → IP del visitante.

  • request: → método y ruta que falló.

Solución rápida

  1. Revisa reglas de .htaccess o try_files en Nginx.

  2. Comprueba permisos de index.php.

  3. Reproduce el error tras cada cambio y verifica que desaparece del log.


4. Filtrar errores 4xx y 5xx con grep y awk


# Ver solo errores 4xx y 5xx del día

awk '$9 ~ /4[0-9][0-9]|5[0-9][0-9]/' /var/log/nginx/access.log

  • $9 es el campo del código HTTP en formato combinado.

  • Ajusta la expresión si usas formato “common” (sin referer/user‑agent).


5. Activar logs “verbose” para diagnósticos temporales

Apache


LogLevel debug rewrite:trace3

Nginx


error_log /var/log/nginx/error.log notice;

¡Importante!

Vuelve a warn o error cuando termines: los logs verbose consumen disco muy rápido.


6. Herramientas gráficas para analizar logs

| Herramienta | Tipo | Ventajas |

|-------------|------|----------|

| GoAccess| CLI+Web | Dashboard en tiempo real, sin base de datos |

| AWStats | Perl | Informes HTML, ligero |

| ELK Stack| Elastic | Búsqueda y visualización avanzada |

Ejemplo GoAccess en Docker:


docker run --name goaccess \

  -p 7890:7890 \

  -v /var/log/nginx:/logs \

  allinurl/goaccess \

  --log-format=COMBINED /logs/access.log

Accede a http://localhost:7890 para ver el panel.


7. Buenas prácticas de rotación y retención

  • Activa logrotate (Linux) o tareas programadas en Windows.

  • Retén archivos de 30 días y comprímelos (.gz).

  • Usa S3 o Google Cloud Storage para archivarlos si tu disco es limitado.


Preguntas frecuentes

¿Puedo borrar los logs para liberar espacio?

Sí, pero rota primero: evita borrar el archivo abierto por el servicio; usa logrotate o reinicia el servidor tras mover el log.

¿Cómo sé si un error 404 es ataque o error genuino?

Revisa si la IP repite cientos de rutas inexistentes; si es así, limita con un firewall (Fail2Ban, mod_evasive).

¿Es seguro exponer GoAccess al público?

Ponlo detrás de autenticación básica o en una VPN privada; los logs contienen IP y rutas sensibles.


Conclusión

Leer los logs te da:

  • Visibilidad inmediata de errores 500, 404 y 502.

  • Datos para acelerar la corrección y mejorar uptime.

  • Evidencia ante tu proveedor de hosting.

La próxima vez que tu página “no sirva”, inspecciona los logs y comparte tus hallazgos en Nosirve.compara ayudar a otros administradores.


Palabras clave

leer logs apache · error 500 nginx · access.log · error.log · detectar error 404 · troubleshooting servidor web