Artículo
Jose Tomas Salvador · Jul 16, 2020 Lectura de 3 min

Alerta y Monitorización del Sistema (SAM) - Un caso de Uso

Hola a todos,

con este artículo, me gustaría mostrar lo fácil y dinámicamente que puede ser configurada nuestra herramienta de Alerta y Monitorización de Sistema (SAM, del inglés System Alerting and Monitoring). El caso de uso podría ser el de un flujo de aprovisionamiento CI/CD ágil y rápido, donde queráis ejecutar vuestros tests unitarios y de estrés, y podáis ver rápidamente si los tests tuvieron éxito o cómo están estresando el sistema y tu aplicación ( el API de SAM en el backend de InterSystems IRIS es extensible para tu implementación APM). 

SAM proporciona una interfaz gráfica nueva que muestra métricas y alertas. Por defecto, recoge las alertas lanzadas por las propias instancias de IRIS que monitorizeis, y aunque podéis ir y asignar los valores de los sensores a vuestro gusto, SAM permite configurar rápidamente reglas en Prometheus para que en vuestro pipeline CI/CD podáis ser alertados de lo que ocurra al instante.

Hay unos pocos requerimientos a los que debeis prestar atención para ejecutar SAM. La aplicación está empaquetada en un juego de containers fácil de usar ensamblado automaticamente con Docker Compose. Podéis ver todos los detalles de como ejecutar SAM en el link de arriba. Es fácil smiley

Con SAM funcionando, provisionamos 4 clusters AWS en 4 regiones diferentes (la compañía ficticia para la que trabajamos es una organización global y el equipo de control de calidad está localizado en EEUU en la costa oeste, mientras que la producción está funcionando en Londres para clientes del distrito financiero).

Para provisionar y ejecutar rápidamente nuestros cluster IRIS aprovechamos InterSystems Cloud Manager (ICM) que rápida y fácilmente puede gestionarse com scripts simples para hacer el trabajo sucio de definir esos clusters en la nube en las distintas regiones AWS.

Cuando el interminable proceso de aprovisionamiento termina, llamamos al script SAM-populate.sh que, adecuadamente configurado (ver env-config.sh), carga en pocos segundos nuestra solución SAM y la deja funcionando en nuestra estación de trabajo local.

A través de una única página SAM, cualquiera es capaz de monitorizar varios clusters de InterSystems IRIS sin tener que saltar a través de varias páginas de portales AWS. Genial  :) , pero más aún, nos permite a los "IRISianos" surprise ver como lo están haciendo nuestras instancias de data-platform vs tener sólo las métricas por defecto de EC2-OS. Tened en cuenta que SAM a día de hoy ofrece más de 100 métricas de kernel de InterSystems IRIS y las combina con las propias alertas de InterSystems IRIS. La fusión de ambas debería ser el comienzo... no de una historia de amor, pero de una lectura mucho más precisa de tus sistemas.

Puedes encontrar el código del proyecto descrito y el caso de uso en este link de Github

Lo remarcable del proyecto es:

  1. El uso del API REST de SAM
  2. La UI sencilla, limpia y efectiva de SAM para la visualización de múltiples instancias de InterSystems IRIS en cluster
  3. El uso de la nueva funcionalidad de CPF merge
  4. La potencia de ICM y su programabilidad... o era scriptabilidadwink

Si quieres hacerlo funcionar presta atención a: 

  • la necesidad de claves InterSystems IRIS con la tecnología sharding habilitada
  • el contenedor correcto de InterSystems IRIS (necesitarás 2020.2 y superior)
  • el contenedor de registro del que ICM hará pull
  • el contenedor de registro de credenciales
  • el coste en que incurrirás corriendo esos clusters
  • y probablemente algunas otras pocas cosas :)

Espero que encuentreis los scripts útiles e inspiradores para

  • las llamadas al API REST de SAM REST API y
  • el modo en que hacemos uso de ICM de modo no-interactivo.

Cuidaos!

--

 

00
1 0 0 80
Log in or sign up to continue