Logs en Tiempo-Real

El comando “Log” nos permite visualizar en tiempo real los logs o registros generados a manera de historial de los diversos eventos en nuestro servidor, ya sea por el acceso de visitantes a las páginas de los sitios hospedados o por las diferentes herramientas que se ejecutan internamente.

Ya sea porque queremos depurar algún error (debug), monitorear alguna aplicación o herramienta (php, mail, mysql, etc) o simplemente detectar algún visitante, bot, etc., entre otras aplicaciones, es importante contar con esta herramienta para hacerlo de manera fácil, rápida y en tiempo real.

Sintaxis:

sudo log <dominio> <opcion>

Opciones:

  • -error
  • -le
  • -mail
  • mysql
  • -only-error
  • php
  • -purge
  • -ssh
  • -syslog
  • -wp

Ejemplos:

# Activa WP Debug
sudo log example.com -wp=on

# Activa el log de un sitio
sudo log example.com -only-error=off

# Ver un log en tiempo real
sudo log example.com

Utiliza Ctrl+C para salir o terminar.

Logs de acceso de Nginx

Los logs de acceso de Nginx están desactivados de manera predeterminada.

Para activar el log de acceso general y nuevos sitios creados.

sudo log -only-error=off

Para activar el log de un sitio en particular.

sudo log example.com -only-error=off

Podemos volver a desactivarlos usando la opción -only-error=on.

Webinoly tiene integración nativa con Datadog

Modern Log Management & Analytics.
Search and analyze your logs at any scale, on any budget.

Datadog Log Management unifies logs, metrics, and traces in a single view, giving you rich context for analyzing log data. Whether you’re troubleshooting issues, optimizing performance, or investigating security threats.

¿Cómo puedo ver el log de acceso a mi sitio web?

Para ver el log de un sitio en particular:

sudo log example.com

Para ver el log de acceso de todos los sitios web alojados en mi servidor:

sudo log

Las opciones anteriores solo muestran el registro de eventos de acceso, pero omiten los eventos de “error”.

¿Cómo puedo ver el registro o log de errores?

Por ejemplo, tal vez quisieramos ver los “warning” o “error” de nuestro sitio WordPress generados por PHP durante la ejecución de una página en particular.

sudo log example.com -error

De igual manera, si quisieramos ver el log de error generado por todos los sitios alojados en el servidor, usamos el siguiente comando:

sudo log -error

* Es posible modificar el número de líneas mostradas en la salida del comando log, por default el valor es 10. Siempre puedes incluir el argumento -lines en el comando log: sudo log example.com -lines=25 o para una solución más permanente puedes modificar este valor directamente en el archivo de configuración de Webinoly usando la variable log-lines.

WordPress Debug

Cuando tenemos configurado el modo Debug en WordPress desde el archivo wp-config.php tenemos la opción de generar un archivo debug.log, normalmente localizado en la carpeta /wp-content.

Para visualizar en tiempo real desde la linea de comandos los eventos generados en este archivo usamos el siguiente comando:

sudo log example.com -wp

Además, tenemos la opción para activar/desactivar el modo Debug en WordPress en cualquiera de tus sitios:

sudo log example.com -wp=on

El modo Debug en WordPress tiene la opción para mostrar los mensajes en pantalla dentro del HTML de la página y está activado por default. Podemos desactivar esta función para solo enviar los mensajes al archivo de registro:

sudo log example.com -wp=on -display=off

Además, puede configurar el tipo de entorno en WordPress desde este comando: sudo log example.com -wp=on -env=development.

¿Cómo puedo ver el log generado por una aplicación o herramienta?

Webinoly soporta la visualización de los eventos generados por PHP, MySQL, mail, syslog, SSH y Let’s Encrypt.

sudo log -php
sudo log -ssh
sudo log -mail
sudo log -syslog
sudo log -le

Las opciones -fpm y -php son equivalentes y -le es para “Let’s Encrypt”.

MySQL logs

El error log siempre está activado.

sudo log -mysql=error

* En servidores creados antes de la v1.11.0 todos los logs de MySQL son enviados a Syslog, que es la configuración predeterminada de MySQL, a partir de dicha versión hemos cambiado esto para tener un archivo individual.

El general log incluye todos los queries y es muy útil para depurar o auditar las operaciones en la base de datos.

sudo log -mysql=general
sudo log -mysql=general -enable
sudo log -mysql=general -disable

El slow query log incluye todos los queries que exceden el tiempo configurado en -long-query-time (default: 10s) y es muy útil para detectar las operaciones que impactan el desempeño de nuestro sistema.

sudo log -mysql=slow
sudo log -mysql=slow -enable
sudo log -mysql=slow -enable -long-query-time=3
sudo log -mysql=slow -disable

El binary log es usado principalmente para replicación de las bases de datos.

sudo log -mysql=binary
sudo log -mysql=binary -enable
sudo log -mysql=binary -disable

Limpiar y remover Logs

Elimina de manera permanente todos los archivos con extensión GZ (logs rotados) del directorio /var/log.

sudo log -purge

Usa la opción -purge=force para saltar las preguntas.

También puedes eliminar únicamente los logs de una aplicación en especifico (nginx, letsencrypt, mysql, redis, all, force):

sudo log -purge=nginx

A manera de consejo personal, te sugiero que si tu espacio en disco es reducido de manera que los logs archivados son demasiados, deberías considerar migrar a un servidor con mayor espacio de almacenamiento.

Si tienes alguna sugerencia, idea o comentario, por favor visita y únete a nuestra Comunidad.