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
- –
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
.
Formato y Métricas de los Logs de Nginx
Cuando los Logs de Acceso están habilitas pueden ser usados para recolectar métricas que en algunos casos pueden resultar de mucho valor. Adicional a el formato estándar, hemos incluido un formato extendido de los logs para facilitar la integración con herramientas externas como Datadog o Amplify. En el Archivo de Configuración de Webinoly, solo tienes que configurar nginx-log-format:extended
, además, el nivel de error de Nginx puede ser modificado aquí.
Un formato personalizado para los logs puede ser incluido con tus propias métricas, en este caso solo configura nginx-log-format:custom
e incluye tu propia configuración aquí: /etc/nginx/conf.d/*.conf.log
usando el nombre we_log_custom
.
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-line:25
.
** Los logs de acceso y error son para el dominio completo, por lo que el parámetro -subfolder
será ignorado, excepto para sitios WordPress donde este parámetro es necesario para habilitar el modo de depuración de un sitio en específico cuando WO está instalado en una subcarpeta, aún incluso en este caso los logs seguirán siendo registrados para el dominio completo.
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
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.