Extrae y almacena los logs de Servicios de Liferay PaaS y SaaS
En el mundo de la gestión de servicios en la nube, uno de los aspectos cruciales es la administración de logs. Los logs proporcionan información valiosa para la resolución de problemas y la propia monitorización del sistema. Si tu proyecto lo tienes implementado sobre Liferay PaaS o Liferay SaaS, no tienes mucho de que preocuparte, pues tanto como Liferay PaaS y SaaS ofrecen out-of-the-box el almacenamiento y gestión de logs de los Servicios desplegados. Sin embargo, es bastante recurrente tratar con clientes el deseo de almacenar los logs en sistemas terceros como infraestructura propia, con el objetivo de cubrir necesidades de auditoría de los mismos, por ejemplo.
Utilizando las propias herramientas que la infraestructura de Liferay Cloud ofrece para el tratamiento de Logs de los Servicios desplegados, comparto un script Bash con el que simplificar la tarea de descargar los logs de los servicios desplegados en Liferay Cloud, permitiendo el almacenamiento en infraestructura local para su posterior tratamiento. Este script es una solución práctica para los administradores de sistemas y desarrolladores que buscan una forma eficiente de extracción y almacenamiento de logs sin complicaciones.
Este script utiliza las herramientas de Liferay Cloud Platform (CLI) para acceder a los Logs y está pensado para automatizar el proceso de descarga de logs para todo el stack de servicios por defecto en Liferay Cloud, guardándolos en un archivo comprimido diariamente. Es funcional tanto en Liferay SaaS como en Liferay PaaS (a.k.a. Liferay Experience Cloud & Liferay Experience Cloud Self-Managed). A continuación las características clave:
Preparación del Entorno:
Asegúrate de tener acceso a la API de Liferay Cloud (liferay.cloud) utilizando LCP CLI
Es recomendable la creación de un usuario local dedicado para este acometido en el proyecto y entorno cloud, con el role GUEST, para limitar el acceso del mismo. Este usuario y sus credenciales serán utilizados dentro del script para poder conectar con la API.
Configuración del Script: Modifica las variables en el script para que se ajusten a tu entorno:
PROJECT_ID
ENVIRONMENT
SERVICES
LCP_USER
LCP_PASSWORD
LOG_DIR
Ejecución del Script: El script está pensado para la extracción diaria de ficheros de log del día anterior al completo, por lo que en un entorno Linux será posible su programación diaria utilizando crontab y una expresión cron que ejecute el script a las 00.00 diariamente: 0 0 * * * /path/to/script/log_downloader.sh
0 0 * * * /path/to/script/log_downloader.sh
En mi repositorio de Github puedes obtenerlo y contribuir con lo que veas necesario que pueda ser de ayuda. Con el fin de hacerlo lo más intuitivo posible, para SaaS podrás utilizar este y para PaaS este otro, donde sólo cambia la lista de Servicios por defecto a los que se tendrá acceso para descargar los logs.