Blogs
Un script sencillo con el que cubrir necesidades
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.
¿Qué hace y para qué sirve este script?
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:
- Descarga de Logs por Servicio: Extrae logs de múltiples servicios desplegados en Liferay Cloud. Por defecto, Webserver, Database, Backup, Liferay y Search, así como los de las custom app desplegadas como Servicios dentro del PaaS o las client extensions dentro del SaaS.
- Rango de Tiempo Personalizable: Es posible la configuración de el script para descargar logs de un periodo de tiempo específico, por ejemplo, el día de ayer.
- Gestión de Errores: El script será sensible a errores que ocurran durante la descarga y lo almacenará en un archivo de log separado para su posterior análisis.
- Compresión Automática: Después de descargar los logs, los comprime en un archivo ZIP para facilitar su almacenamiento y transporte.
- Medición del Tiempo de Ejecución: El script mide cuánto tiempo tarda la descarga y almacenamiento, proporcionándote una idea clara de la duración del proceso diaria.
¿Cómo usar el script?
-
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
: ID de proyecto de Liferay Cloud. -
ENVIRONMENT
: Entorno del cual extraer los Logs. Normalmente prd. -
SERVICES
: La lista de servicios de los que deseas descargar logs. -
LCP_USER
yLCP_PASSWORD
: Las credenciales de acceso a Liferay Cloud del usuario previamente creado. -
LOG_DIR
: Directorio donde almacenar los ficheros ZIP que contendrán los Logs de los servicios.
-
-
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
¿Dónde encontrarlo?
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.