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
.
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.