Hace unos tres años escribía sobre esta fantástica herramienta para ver varios logs simultáneamente, buscar sobre los mismos, verlos resaltados, etc.
Hoy os traigo un par de mejoras y os remito al artículo previo para instalarlo y ver opciones útiles como las combinaciones de teclado.
Usando multitail en remoto
En el artículo anterior estábamos hablando de usos en servidores privados, pero sabemos que la mayoría de las webs de nuestros clientes están en hostings estándar y no podemos instalar nada.
Por defecto multitail no estará instalado, pero lo que sí tendrán disponible todos los hostings (o casi todos) es tail.
Lo que haremos es instalar multitail en nuestro WSL2 (como es mi caso) o consola de Mac o Linux, eso si lo podemos hacer todos.
Después bastará con que sepamos dónde están los archivos de log en el hosting remoto y los logs de error. Si tenemos bien configurado nuestro archivo config
en el directorio .ssh
nos bastará con ejecutar ssh Nombre-Host
en nuestra consola para conectarnos, si habilitamos el certificado1.
Y ya estaremos desde nuestra consola ejecutando multitail que traerá los logs desde el hosting remoto mediante el tail remoto hasta nuestro ordenador.
Esto que puede parecer muy friki me ha sido realmente útil en las últimas semanas, por un lado, para parar un ataque al servidor de un cliente con varios millones de peticiones dañinas por día (si tenía CloudFlare) o para encontrar la solución a unos errores en otra web en la que era complicado un debug clásico y hubo que tirar de error_log.
Vamos a ver un ejemplo de una web de un cliente que he configurado en el archivo config de SSH como Lucushost-Cliente1 (con hosting en LucusHost, claro):
multitail -cS ols -l 'ssh Lucus-Cliente1 "tail -f ~/access-logs/cliente1.com-ssl_log"'
Con esto veremos el archivo de logs de https que se guarda en la ruta del usuario, carpeta access-logs
(aunque es un enlace simbólico) y log con el nombre del dominio -ssl_log (sin esta terminación para el acceso http).
El log de error está en ~/www/error_log
, es decir, en la raíz de la instalación de tu WordPress, por lo que para verlo pondremos:
multitail -cS ols_error -l 'ssh Lucus-Cliente1 "tail -f ~/www/error_log"'
Pero además de ver logs en tiempo real, lo ideal es ver ambos simultáneamente (o más si queremos, incluso de diferentes hostings en la misma pantalla).
multitail -wh 20 -cS ols_error -l 'ssh Lucus-Cliente1 "tail -f ~/www/error_log"' -cS ols -l 'ssh Lucus-Cliente1 "tail -f ~/access-logs/cliente1.com-ssl_log"'
Con este comando nos conectamos en la ventana superior al log de errores con 20 líneas y el resto de la pantalla para el log de acceso.
Como ves, podemos cambiar fácilmente el tamaño de cada pantalla de logs, a dónde nos conectamos, etc.
Logs de colorines
En los ejemplos anteriores veíamos después del comando multitail -cS ols
que corresponde a:
-c
mostrar los logs con color.S
usar un esquema de color.ols
el esquema de color a utilizar (Open Lite Speed en este caso, esquema de color propio).
A diferencia de lo que contaba en el artículo de hace dos años, que proponía modificar el archivo de configuración en /etc/multitail.conf (que es totalmente válido y correcto), ahora prefiero gestionarlo en un archivo dentro del directorio de usuario, un dotfile.
El archivo .multitailrc es el que utilizaremos en nuestro perfil para añadir o modificar opciones de configuración de multitail.
En mi repositorio de dotfiles y utilidades bash, zsh y WSL2, podrás acceder a mi .multitailrc dónde he configurado los esquemas de color para Nginx (nginx) y Errores de Nginx (nginx_error), además de Open Lite Speed (ols) y errores de Open Lite Speed (ols_error).
De esta forma, en lugar de modificar los archivos de configuración, todos los cambios se centran en estos archivos de configuración de cada usuario, los dotfiles2.
Todos los dotfiles de mi perfil son enlaces simbólicos a los correspondientes del repositorio, que sincronizo entre ordenador fijo y portátil, y cualquier mejora en uno se propaga a ambos o a cualquier nueva instalación.
- Es muy importante saber cómo gestionar los certificados públicos y privados para las conexiones SSH y conocer bien el archivo
config
de SSH, ya que con estas configuraciones correctas, nos podemos conectar a cualquier servidor y hosting con un breve comando (ssh-host) e incluso desde VSC. ↩︎ - Archivos que comienzan por un punto, porque por defecto estos archivos están ocultos en Linux. ↩︎