Sawmill es un paquete de software para el análisis estadístico y el informe de archivos de registro (logs), con filtrado contextual dinámico, zoom de datos «en vivo», personalización de la interfaz de usuario e informes calculados personalizados. Sawmill brinda soporte para aproximadamente 850 formatos de archivo de registro del servidor. Por lo que debido a su versatilidad cada sysadmins debería tenerlo instalado para revisar los logs de su infra. En este corto tutorial les mostrare como hacerlo.
Utilizare como herramienta de virtualización Proxmox. Crearemos un contenedor con Ubuntu o Debian como OS.
CPU: 1 core
RAM: 2GB (Sawmill recomienda 2 Gb de RAM por nucleo)
SWAP: 4Gb
HDD: 8GB (Si se necesita mas, luego se puede agregar)
Actualizamos nuestro CT:
apt update apt upgrade
Descargamos la última versión del Sawmill de aqui. Yo descargue la versión para debian.
La descompactamos donde más acomode, en mi caso en /opt
tar -xvf sawmill8.7.9.4_x64_linux-debian8.tar.gz
Nos creara la carpeta sawmill. Dentro encontraremos el binario ejecutable de sawmill y las carpetas:
Podemos correr el binario para acceder a nuestro Sawmill
root@logs:~# cd /opt/sawmill/ root@logs:/opt/sawmill# ./sawmill
Ya podemos acceder a su web usando el siguiente link http://ip_sawmill:8988/
NOTA: El software Sawmill es de pago, por lo tanto, tendrán un periodo de 30 días de evaluación. Este Blog no da soporte a la piratería, así que no pidan como registrar el software.
Una vez allí configuramos nuestro usuario con derechos de administrador, el idioma, el correo y otras características mas. Ahora les mostrare gracias a Luis Felipe Domínguez Vega (AKA @H3R3T1C) como hacer que nuestro Sawmill inicié junto con nuestro CT. Para ello creamos un servicio llamado sawmill.
cd /etc/systemd/system/ nano sawmill.service Dentro ponemos lo siguiente: [Unit] Description=Sawmill Log After=network-online.target [Service] #User=sawmill # Sawmill must have an user Type=simple ExecStart=/opt/sawmill/sawmill TimeoutSec=30 Restart=on-failure RestartSec=30 StartLimitInterval=350 StartLimitBurst=10 [Install] WantedBy=network-online.target
Activamos e inciamos el servicio
systemctl enable sawmill systemctl start sawmill
Una vez, ya arrancada nuestra web y con inicio automático solo nos queda un problema por superar. ¿Como hacer que Sawmill vea los logs de los sistemas que queremos analizar? En Sawmill se crean perfiles por cada conjunto de logs que queremos analizar. Tenemos que especificarle al Sawmill de donde leerá los registros (logs).
De las opciones que nos brinda, la que vi más razonable, segura y precisa es leer los registro desde el disco local. Las otras opciones constituyen más engorrosas ya que tendríamos que tener esos servicios en nuestra red y los registros centralizados en ellos. ¿Pero cómo hacer que Sawmill encuentre los logs en su propio disco sin tener que copiárselos?
La pregunta a esa interrogante está en el título de este tutorial. Sencillamente compartiremos con Sawmill los recursos (logs) que queremos analizar usando para ello SSHFS
Como el sawmill está instalado en un contendor de Proxmox y SSHFS usa FUSE entonces no es conveniente instalar SSHFS en el CT de Proxmox. Usaremos SSHFS en nuestro Proxmox para montar los recursos (logs). Posteriormente a través de un Mount Point (punto de montaje) compartiremos este recurso con el CT del Sawmill. La siguiente figura es un esquema de lo que haremos.
En nuestro Proxmox 2 (el que aloja al sawmill) instalaremos SSHFS
apt install sshfs
Crearemos las carpetas qu contendran los logs.
cd /mnt mkdir logs cd /logs mkdir squid mail
Montaremos los recursos.
sshfs -o allow_other root@ip_proxy:/var/log/squid3/ /mnt/logs/squid/ The authenticity of host 'ip_proxy (ip_proxy)' can't be established. ECDSA key fingerprint is SHA256:rAs+biL5GkEf5lmrmePOry9XWYLoNUy6wEva4kgs6HM. Are you sure you want to continue connecting (yes/no)? yes root@10.122.193.3's password: (establecer la clave root del proxy) sshfs -o allow_other root@ip_mail:/var/log/ /mnt/logs/mail/ The authenticity of host 'ip_mail (ip_mail)' can't be established. ECDSA key fingerprint is SHA256:raupX9Uls57p55cjuIUb0wMJMEFuRhgX0imwA189JXQ. Are you sure you want to continue connecting (yes/no)? yes root@10.122.193.225's password: (establecer la clave root de mail)
Ya podemos ver nuestros logs montados en las carpetas /mnt/logs/squid y /mnt/logs/mail . Hagamos que el montaje sea automático cada vez que se inicie nuestro Proxmox.
nano /etc/fstab ###Agregamos lo siguiente sshfs#root@ip_proxy:/var/log/squid3/ /mnt/logs/squid/ ssfhs#root@ip_mail:/var/log/ /mnt/logs/mail/
NOTA:Importantísimo hacer destacar que los CT a los cuales les estamos haciendo el montaje de los logs NO están situados en el mismo Proxmox donde se encuentra el sawmill. Al estar el punto de montaje en el fstab si el Proxmox 2 (el que tiene alojado el sawmill) en el arranque no ve los CT levantados (mail y proxy) en el otro Proxmox 1 entonces no levantara. Más adelante pensare en otra solución que no involucre el fstab para correr el sshfs.
Hagamos que la conexión sea sin usar la clave root de los CT. Desde nuestro Proxmox lanzamos el comando ssh-copy-id
root@pve1:~# ssh-copy-id root@ip_proxy /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@ip_proxy's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@ip_proxy'" and check to make sure that only the key(s) you wanted were added. root@pve1:~# ssh-copy-id root@ip_mail /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@ip_mail's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@ip_mail'" and check to make sure that only the key(s) you wanted were added.
En el CT de Sawmill crearemos las carpetas que montaran los recursos. Yo cree las carpetas mail y squid en el siguiente camino /var/log ustedes pueden ubicarlas donde deseen. Ahora pararemos el CT de Sawmill para crearle los puntos de montaje.
nano /etc/pve/nodes/<nombre del nodo>/lxc/ct_id_sawmill.conf ###Agregamos lo siguiente mp0: /mnt/logs/squid/,mp=/var/log/squid/ mp1: /mnt/logs/mail/,mp=/var/log/mail/
Iniciamos nuestro Sawmill y ya por fin dentro veremos los logs de los CT mail y squid .
Ahora crearemos el perfil para analizar los logs de Squid.
Los dejo con una imagen del Sawmill en accion.
Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…
La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…
Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…
Percona Monitoring and Management (PMM) es una herramienta de código abierto para la supervisión y…
Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…
Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…
View Comments
Hum...
A mi me gusta más la variante de que los CT tiren sys logs por rsyslog a un server de logs y este server entonces tenga el sawmill...
Buen tema pra un putorial... dejame buscar a ver si no inventé el agua tivia...