Es muy probable que si tienes alguna duda y preguntes en un foro o grupo te respondan que vayas a los logs. Se, son groseros, pero hazles caso, incluso la IA lo recomienda XD
Introducción
Es muy probable que te encuentres con un problema extraño que no sabes como resolver. No es tan complicado como parece, pero sin pistas, no tienes idea de donde empezar a picar. Así que vas y preguntas. Es casi seguro que no te quieran responder sin que vayas a revisar los logs. No estan siendo groseros, al menos no esta vez. Pero tienen razón.
Los logs del sistema pueden ser intimidantes pero son muy necesarios para resolver los problemas que se te presenten. No les tengas miedo, porque seguro te ayudan a terminar tu sesión de depuración mas rápido que andar depurando o preguntadole a una IA que seguro tambien te mandara a los logs. Asi que haste una idea, hace falta que sepas como consultarlos.
Hay varios logs dependiendo de lo que quieras revisar. Si es un problema del FrontEnd, seguro que no necesitas saber nada de linux ni sistemas operativos. Basta con un click derecho sobre la pagina rota y buscas la opción de Inspector de elementos. Se abrirá una nueva ventana que contiene muchísima información útil que te puede explicar como funciona la pagina y el resto es solo ver donde salen los errores.
Si en tu consola del navegador te pillas errores de estado como 404, 503, y casi cualquier cosa que no sea 202, seguro que toca irse a dar una vuelta por el BackEnd. Si tienes acceso al servidor, vas a tener que explorar si lo que tienes es un VPS o instalación local o un Panel Web como cpanel o hestia.
Si tienes un VPS o instalación local, no hay pierde. Vas a buscar el directorio /var/logs/ y encuentras, no solo de tu servidor sino de todo el sistema. No te distraigas, busca el servidor web que tengas y abre el que diga access y error. Puedes jugar con tu código bugeado y provocar el error continuamente para que quede claro donde se genera, siempre estará al final del archivo y si tienes ganas de dejar el log abierto en tiempo real, puedes usar el comando tail -f /var/log/nginx/misitio.access.log quedara el código corriendo en el fondo y puedes ver en vivo como se genera el error. (te recomiendo consultar principalmente el error.log)
Viste que no es para tanto? Si tienes un panel de control como hestia o Cpanel, seguro es mas fácil de llegar y tendrás un archivo similar. Todos los logs funcionan de la misma forma y te sirven para entender que ha fallado y como arreglarlo. Así que si, esos creídos a los que les pediste ayuda y te mandaron a ver los logs tenían razón. Baja la guardia esta vez y busca lo que parezca sospechoso. Seguro estarán mas dispuestos a ayudarte si le dices que acompaña al error 503 que te esta atormentando.
Ahora bien, si tienes muchos subdominios en tu VPS, te recomiendo que segmentes los logs. Mantenlos todos separados en archivos de tusitio.access.log y tusitio.error.log para no tener una monstruosa cantidad de lineas de log que te impidan ver que ha fallado. ¿Viste que no daba tanto miedo?
Herramientas para logs
Dicho esto, si ya le perdiste el miedo a los logs, vamos echándole un ojo a un par de herramientas bonitas. Seguro que si has visto otros de mis post, conoces Lnav. Es la aplicación con la que reviso mis logs. Permite organizar, filtrar y buscar en la consola de forma increíble, por lo que es la mejor herramienta que puedes tener para explorar muchos logs.
Por otro lado, estaba explorando una herramienta un poco mas visual llamada GoAcces. Esta permite hacer compilados de tus logs de access.log y te recuerdo que, solo acces.log pero te permite entender mejor el trafico. Mira

A que está genial. Tiene mucha informacion que puedes explorar con solo un click.


Y como puedes darte cuenta, tambien puedes ver los intentos de escaneo de vulnerabilidad. Que son un montón.
Reportes diarios
Entonces, ¿que te parece esto? los logs de goacces se pueden reproducir en cualquier navegador, así que viene bien que sean tan portátiles. Un solo archivo html que tiene toda la información y encima puedes exportar para después. Así que he preparado este script, que con CRON puedes hacer que todos los días te envié los logs a tu correo electrónico. No te preocupes, incluso con logs enormes, nunca superan 1mb de almacenamiento.
#!/bin/bash # Configuración LOG_DIR="/var/log/nginx" OUTPUT_DIR="/tmp/reportes_goaccess" EMAIL="tucorreo@tudominio.com" ASUNTO="Reportes de Accesos por VHost" MENSAJE="Adjunto encontrarás los reportes de accesos por vhost generados por GoAccess." # Crear carpeta de salida mkdir -p "$OUTPUT_DIR" # Procesar cada archivo access.log for logfile in "$LOG_DIR"/*access.log; do # Obtener nombre base del archivo (ej. vhost1_access.log → vhost1) base=$(basename "$logfile") nombre_vhost="${base%%_*}" # Generar reporte HTML output_file="$OUTPUT_DIR/${nombre_vhost}_reporte.html" goaccess "$logfile" -o "$output_file" --log-format=COMBINED done # Enviar correo con todos los reportes adjuntos # Usando mailx (puedes usar mutt si prefieres) echo "$MENSAJE" for file in "$OUTPUT_DIR"/*.html; do echo "Adjuntando: $file" done ( echo "$MENSAJE" for file in "$OUTPUT_DIR"/*.html; do echo "Adjuntando: $file" done ) | mutt -s "$ASUNTO" "$EMAIL" -a "$OUTPUT_DIR"/*.html # Limpieza opcional # rm -r "$OUTPUT_DIR"
Puedes intentar ejecutarlo directo en el logrotate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /var/log/nombre_del_servicio.log { # Directivas normales de rotación: daily rotate 7 compress missingok notifempty # INICIO del script a ejecutar después de la rotación: postrotate # Coloca aquí tus comandos. # Puedes ejecutar un script de shell: /usr/local/bin/mi_script_personalizado.sh # O comandos directos, por ejemplo, para reiniciar o recargar un servicio: /bin/kill -HUP $(cat /var/run/servicio.pid) # o systemctl reload nombre_del_servicio endscript # FIN del script } |
O tan solo en el CRON
1 | 0 23 * * * /ruta/a/tu/script |
Conclusiones
Los logs son una herramienta poderosa que pueden ayudarte a depurar rápidamente un problema extraño, pero con Lnav y goaccess, puedes encontrar mas tranquilidad pues permiten mostrar la información mas ordenada y fácil de asimilar. No dudes en usarlos cuando sea necesario.


