#System Alerting and Monitoring (SAM)

0 Seguidores · 15 Publicaciones

El Sistema de Alerta y Supervisión (SAM) de InterSystems, es una solución que permite supervisar clústeres para la plataforma de datos InterSystems IRIS versión 2020.1 y posteriores. Tanto si su aplicación se ejecuta en un par de réplicas locales o en la nube mediante múltiples aplicaciones y servidores de datos, puede utilizar SAM para supervisar su aplicación.

Recursos adicionales:
•‎ Documentos de apoyo
•‎ Repositorio de GitHub
•‎ ‎Inicio sencillo: visualización y personalización de las métricas con SAM

Artículo Arsh Hasan · oct 29, 2025 2m read

Tuve el mismo problema que contaba Jerry en el siguiente enlace al conectar IRIS con el servidor SQL. Mi conexión ODBC está configurada para autenticarse mediante autenticación nativa de Windows.

Configurad la conexión ODBC de IRIS con autenticación de Windows utilizando una cuenta de dominio específica en lugar de la cuenta predeterminada del servidor IRIS

¿Cómo lo solucioné yo?

La raíz del problema

0
0 20
InterSystems Official Mario Sanchez Macias · nov 25, 2024

El 4 de diciembre de 2024, System Alerting and Monitoring (SAM) será eliminado de los sitios de descarga de InterSystems, el registro de contenedores y la wed de documentación.

InterSystems anunció el año pasado que había dejado de desarrollar SAM y, al mismo tiempo, lo marcó como obsoleto. InterSystems continuará brindando soporte a los clientes existentes que utilicen esta tecnología de la misma manera que lo hace con las versiones de producto más allá de la ventana de Versiones Mínimas Soportadas.

0
0 52
InterSystems Official Mario Sanchez Macias · nov 14, 2023

InterSystems ha decidido detener el desarrollo de SAM (Alerta y Monitorización del Sistema) y etiquetarlo como deprecated(depreciado, obsoleto, en desuso) desde hoy. InterSystems continuará dando soporte a los clientes existentes que utilicen la tecnología, pero no lo recomienda para nuevas implementaciones.

Hemos descubierto que la mayoría de los clientes que están interesados en el tipo de monitorización ofrecida por SAM han optado por conectar las APIS de métricas y los registros estructurados de IRIS a la plataforma de monitorización existente en sus organizaciones, para tener una visión más completa de su plataforma operativa.

Si tenéis alguna pregunta sobre vuestro uso actual o planeado de SAM, podéis dirigiros a vuestro contacto local en InterSystems.

0
0 109
Artículo Alberto Fuentes · ene 16, 2023 2m read

cAdvisor (abreviatura de contenedor Advisor) analiza y muestra el uso de recursos y los datos de rendimiento desde los contenedores en ejecución. cAdvisor ya viene preparado para publicar métricas en formato Prometheus. 

https://prometheus.io/docs/guides/cadvisor/

Prometheus está integrado en SAM. Esto permite aprovechar las métricas de cAdvisor y mostrarlas a través de Prometheus y Grafana.

Como cAdvisor escucha en el puerto 8080, que entra en conflicto con el puerto de Nginx, puedes cambiar el puerto Nginx para solucionarlo:

Pasos para realizar la configuración:

1. Cambia el puerto nginx.

1
0 489
InterSystems Official Jose-Tomas Salvador · nov 11, 2022

Ya está disponible la versión 2.0 de SAM (System Alerting & Monitoring).

¿Qué es SAM?

SAM combina laAPI de Monitorización y el Monitor de Logs de IRIS, basados en estándares, con herramientas estándar de la industria, como Grafana y Prometheus, para crear una solución básica de alerta y monitorización para clusters IRIS.

Para más información sobre SAM, podéis consultar este Manual de SAM (en inglés).

 
Novedades de SAM 2.0

0
0 133
Anuncio Esther Sanchez · jun 17, 2022

¡Hola Comunidad!

Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!

Pierre-Yves Duquesnoy mostró toda la potencia de SAM, la herramienta de monitorización de InterSystems IRIS. Presentó la arquitectura de SAM y su instalación; y monitorizó varios sistemas IRIS agrupados en clusters. Además, extendió las métricas existentes para monitorizar métricas de aplicaciones adicionales.... ¡y muchas cosas más! Por eso, si queréis conocer SAM a fondo, ¡no os perdáis el vídeo!

SAM: Monitorizando InterSystems IRIS con Grafana y Prometheus

0
0 157
InterSystems Official Jose-Tomas Salvador · mayo 4, 2022

Ya está disponible la versión 1.1 de System Alerting & Monitoring (SAM).

¿Qué es SAM?

SAM combina el Monitor de Logs y la API de Monitorización de IRIS, basados en estándares, con herramientas que nos resultan familiares, y son estándares de facto en la industria, como Grafana y Prometheus, para crear una solución básica de monitorización y alerta para clusters IRIS.

Para saber más sobre SAM, consulta la Guía de SAM (en inglés).


Novedades en SAM 1.1

Verás mejoras de rendimiento para los gráficos del cuadro de mando de Grafana, especialmente cuando se trabaja con grandes conjuntos de datos. Si vas a actualizar desde SAM 1.0, asegúrate de tener suficiente espacio en disco disponible, ya que SAM 1.1 añade índices adicionales a los datos.

0
0 167
Artículo Ricardo Paiva · sep 23, 2021 4m read

InterSystems SAM es una gran herramienta para monitorizar tus clústeres de InterSystems IRIS e InterSystems IRIS For Health en instalaciones físicas o en un entorno de nube. En este artículo se describe cómo puedes implementar un administrador de alertas personalizado. Actualmente esta es una función no documentada y muy probablemente desconocida de InterSystems SAM. Con futuras versiones probablemente será más fácil aprovechar este útil concepto.

Para ser breve, en este artículo solo mencionaré InterSystems IRIS, pero todo aplica a InterSystems IRIS e InterSystems IRIS For Health. 

InterSystems SAM es un clúster de cinco contenedores y cada uno de ellos desempeña una función específica. Estos son:

  • Grafana para crear paneles de control con los que visualizar las métricas del sistema que selecciones. Es decir, tanto las métricas que InterSystems IRIS proporciona con la configuración predeterminada, como tus propias métricas (de la aplicación).
  • Prometheus, una herramienta de monitorización nativa de la nube, que recopila datos de series temporales de las instancias de destino
  • Nginx como el servidor web
  • Alertmanager, que recopila las alertas de InterSystems IRIS y de Prometheus
  • SAM Manager, que es el núcleo del SAM. Es una instancia de InterSystems IRIS en la que se almacenan todos los datos métricos

InterSystems SAM activa dos diferentes clases de alertas.

Las alertas que se activan se muestran en el portal del SAM, pero ¿qué sucedería si quieres notificar a alguien responsable del clúster InterSystems IRIS monitorizado y quieres hacerlo a través de diferentes canales de comunicación como el correo electrónico o el SMS, para que pueda hacerse cargo del clúster y solucionar el problema? Ahí es donde entra en acción un administrador de alertas personalizado.  

En este artículo se describen los pasos necesarios para implementar tu propio administrador de alertas para tu instancia del SAM Manager. En este ejemplo, el administrador de alertas enviará un correo electrónico a una dirección de correo electrónico preconfigurada, junto con la información de la alerta. 

La clave aquí es que hay una clase abstracta "oculta" %SAM.AbstractAlertsHandler en la instancia del SAM Manager. Mira la referencia de la clase:

  Primero, tienes que extraer tu propio administrador de alertas de esta clase abstracta y después implementar el método de clase HandleAlerts. El método recibe una matriz JSON con los detalles de la alerta.

Así que en mi sencillo ejemplo, el administrador de alertas es una clase SAM.AlertHandler con subclases %SAM.AbstractAlertsHandler. La implementación del método HandleAlerts() es sencilla. Mira el código completo:

Delega el trabajo al método SendAlert. Asume que tienes una cuenta de correo electrónico de usuario, que puedes utilizar para las alertas. La contraseña del correo electrónico se almacena en la base de datos, pero la contraseña se encripta utilizando la función de InterSystems IRIS para el encriptado de "elementos de datos". Por lo tanto, tienes que crear una clave de encriptación en el SAM Manager y esta clave se debe cargar. De lo contrario, el administrador de alertas no podrá enviar el correo electrónico. Mi proveedor de correo electrónico requiere SSL/TLS para enviar el correo electrónico. He definido una configuración SSL ForMail en la instancia de SAM Manager. El resto del código es sencillo. Mira el código:

   

En el cuerpo del correo electrónico copia la matriz JSON que recibió con los detalles de la alerta y la envía a los destinatarios. 

Queda un problema pendiente. No puedes crear y editar directamente la clase de administrador de alertas en tu instancia del SAM Manager. La configuración predeterminada no permite conexiones desde tu IDE (IRIS Studio o VSCode) a la instancia del SAM Manager.

Para resolver esto he creado y editado la clase del administrador de alertas en mi instancia de InterSystems IRIS, y la he importado al namespace del SAM proveniente de mi instancia del SAM Manager. Otra opción sería modificar el archivo docker-compose para iniciar InterSystems SAM, pero no quería tocar este tema. 

Una vez que hayas cargado correctamente tu clase del administrador de alertas en tu instancia del InterSystems SAM Manager, el método HandleAlerts se ejecutará para cada alerta que se active en tu clúster de InterSystems IRIS monitorizado.

¡Espero que os resulte útil!

1
0 207
Anuncio Esther Sanchez · abr 14, 2021

¡Hola Comunidad!

La herramienta de Alerta y Monitorización del Sistema (SAM) en InterSystems IRIS te ayuda a monitorizar y gestionar tus sistemas de forma eficiente.

Este vídeo (en inglés) muestra algunas de las soluciones que ofrece para resolver los retos específicos a los que se enfrentan desarrolladores y usuarios:

El valor de SAM (Alerta y Monitorización del Sistema)

0
0 117
Artículo Jose-Tomas Salvador · jul 16, 2020 3m read

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). 

0
0 285
Anuncio Jose-Tomas Salvador · jul 3, 2020

Ya está disponible la primera versión oficial (v1.0) de InterSystems System Alerting and Monitoring (InterSystems SAM)  InterSystems SAM v1.0 proporciona una solución moderna de monitorización para productos basados en InterSystems IRIS. Permite vistas a alto nivel de grupos de instancias (clusters) así como la visualización de métricas bajando al nivel de nodos individuales, todo ello junto con la notificación de alertas. Esta primera versión permite visualizar más de 100 métricas del kernel de InterSystems IRIS, y los usuarios pueden extender la plantilla de Grafana que se incluye por

0
0 154
InterSystems Official David Reche · jun 4, 2020

Ya están disponibles las versiones de prueba de la primera versión (v1.0) del Sistema de Alerta y Monitorización de InterSystems (SAM, System Alerting and Monitoring).
  
InterSystems SAM v1.0 ofrece una moderna solución de monitorización para los productos que tienen como base IRIS de InterSystems. Permite vistas de alto nivel de clústeres y visualización de métricas desglosadas de nodo único, junto con notificaciones de alertas. La primera versión ofrece visualización para más de cien métricas del kernel de InterSystems IRIS, y los usuarios pueden extender a su criterio la plantilla de Grafana ofrecida por defecto.

0
0 141
Artículo Alberto Fuentes · dic 16, 2019 7m read

En InterSystems IRIS 2019.1.4 se incluye ya el servicio /api/monitor, que permite acceder a métricas de IRIS en formato Prometheus.

Esto es una gran noticia para aquellos interesados en utilizar métricas de IRIS como parte de su solución de monitorización y alertas. Este servicio (API) es un componente del nuevo System Alerting and Monitoring (SAM) que se liberará en próximas versiones de InterSystems IRIS.

Sin embargo, no es necesario esperar a que se libere System Alerting and Monitoring (SAM) para empezar a planificar y probar esta API para monitorizar tus instancias de IRIS. En próximos artículos trataremos en profundidad las métricas disponibles, su significado y también construiremos cuadros de mando de ejemplo interactivos. Pero en primer lugar, vamos a comenzar con algunas cuestiones básicas.

IRIS (y Caché) está siempre capturando decenas de métricas sobre sí mismo y la plataforma en la que está ejecutándose. Siempre han existido diferentes maneras de capturar estas métricas para monitorizar IRIS o Caché. En la práctica no muchas instalaciones utilizan las soluciones incluidas en IRIS / Caché. Por ejemplo, el History Monitor ha estado disponible desde hace tiempo como base de datos histórica de rendimiento y utilización del sistema. Sin embargo, no había una manera demasiado obvia de aprovechar estas métricas en tiempo real.

Las soluciones construidas sobre la plataforma InterSystems IRIS están pasando de una sola aplicación monolítica ejecutándose en unas pocas instancias en las propias instalaciones de una organización a ser soluciones distribuidas desplegadas en cualquier parte. Para muchos casos de uso, las opciones de monitorización de IRIS existentes no se terminan de adaptar a estos nuevos paradigmas. Para solventar este problema, en lugar de reinventar la rueda, InterSystems utilizará soluciones conocidas y bien probadas del mundo open source para monitorización y alertas.

Prometheus

Prometheus es una solución open source de monitorización muy conocida y ampliamente adoptada. Dispone de una gran variedad de plugins. Está diseñada para poder trabajar en entornos de cloud pero también resulta igual de útil para aplicaciones desplegadas en nuestras propias instalaciones. Los plugins incluyen sistemas operativos, servidores web como Apache y otras muchas aplicaciones. Prometheus se utiliza generalmente junto con un cliente front-end o de presentación, como por ejemplo Grafana, que provee una interfaz gráfica que es extremadamente adaptable a nuestras necesidades.

Grafana

Grafana es también open source. Conforme esta serie de artículos progrese, pasaremos ejemplos de plantillas de cuadros de mando para escenarios típicos. Podrás utilizar esos ejemplos como base para diseñar los cuadros de mando que te interesen.

El gran potencial de estas herramientas surge cuando combinas las métricas de IRIS en el contexto de las métricas de tu propia solución. Desde los componentes de la plataforma donde se ejecuta, el sistema operativo, IRIS y especialmente cuando además se añade instrumentación para monitorizar tus propias aplicaciones.

¿No he visto esto antes en algún sitio?

Monitorizar IRIS / Caché con Prometheus y Grafana no es algo nuevo. Se han utilizado estas aplicaciones durante años. Si buscas en la Comunidad de Desarrolladores el término "Prometheus" encontrarás otros artículos como por ejemplo estos excelentes artículos de Mikhail Khomenko que muestran cómo exponer métricas de Caché para utilizarlas con Prometheus.

La diferencia es que ahora la API /api/monitor está incluida y habilitada por defecto. No necesitas incluir código para exponer estas métricas.

Introducción rápida a Prometheus

A continuación vamos a hacer una primera orientación rápida a Prometheus y su terminología. Vamos a verlo a alto nivel y a preparar el trabajo de base que servirá para dejar la puerta abierta para que penséis cómo visualizar y consumir las métricas de IRIS o de otras fuentes.

Prometheus funciona obteniendo datos en formato de serie temporal expuestos por aplicaciones a través de una URL (por ejemplo la API de /api/monitor). Existen librerías de exportadores y clientes para muchos lenguajes, frameworks y aplicaciones open source — por ejemplo para servidores web como Apache, distintos sistemas operativos, docker, Kubernetes, bases de datos y ahora IRIS —.

Los exportadores se utilizan para instrumentalizar aplicaciones y servicios de manera que expongan (hagan accesible) las métricas en una URL. Los componentes estándar como los servidores web, bases de datos y demás se soportan por los exportadores core. Existen otros muchos exportadores open source disponibles en la comunidad Prometheus.

Terminología Prometheus

Estos son algunos términos que vamos a manejar:

  • Los destinos son aquellos servicios que quieres monitorizar, como un servidor, una aplicación o un servicio como Apache, IRIS o tu propia aplicación.
  • Prometheus interroga a estos destinos utilizando HTTP para obtener métricas en formato de serie temporal.
  • Los datos en formato de serie temporal se exponen por las aplicaciones, como por ejemplo IRIS, o través de exportadores.
  • Los exportadores se utilizan para aquellos elementos que no podemos controlar como por ejemplo métricas del kernel de Linux.
  • Los datos en formato de serie temporal resultantes se almacenan localmente en el servidor de Prometheus en una base de datos**.
  • La base de datos de series temporales se puede consultar utilizando un lenguaje de consulta optimizado para ello PromQL. Utilizaremos este lenguaje para crear alertas o desde una aplicación cliente como Grafana para mostrar las métricas en un cuadro de mando.

** Spoiler Alert! Por razones de seguridad, escalabilidad, alta disponibilidad y eficiencia, en la nueva solución System Alerting and Monitoring (SAM) la base de datos utilizada para almacenar las series temporales de Prometheus será InterSytems IRIS! El acceso a la base de datos de Prometheus (IRIS) será transparente y no supondrá ninguna circunstancia especial para acceder desde otras aplicaciones como Grafana.

Modelo de datos de Prometheus

Las métricas que retorna la API /api/monitor están en formato Prometheus. Prometheus utiliza un formato simple basado en una métrica por línea:

 [ (time n, value n), ....]

Estas métricas pueden etiquetarse como parejas clave-valor. Las etiquetas son una forma muy potente de filtrar métricas y dimensiones. Por ejemplo, vamos a examinar esta métrica del servicio/api/monitor que retorna la cantidad de espacio libre para journal:

 iris_jrn_free_space{id="WIJ",dir=”/fast/wij/"} 401562.83

El identificador indica qué métrica es y de dónde viene:

iris_jrn_free_space

Se pueden utilizar diferentes etiquetas para decorar las métricas, y así utilizarlas a la hora de filtrar y consultar. En el ejemplo, podemos ver el WIJ y el directorio donde se guarda el propio WIJ:

id="WIJ",dir="/fast/wij/"

Y finalmente, observamos también un valor: 401562.83 (MB).

¿Qué métricas tenemos disponibles para IRIS?

En la documentación aparece la lista de las métricas disponibles. Aunque también puedes simplemente consultar la API en el endpoint /api/monitor/metricspara que te devuelva la lista de las métricas.

¿Qué debería monitorizar?

Ten en cuenta los siguientes puntos a la hora de pensar cómo debes monitorizar tus sistemas y aplicaciones.

Cuando te sea posible, utiliza métricas que afecten a los usuarios:

  • A los usuarios no les importa que una de tus máquinas esté corta de CPU.
  • A los usuarios sí que les importa si el servicio que utilizan es lento o está teniendo errores.
  • En tus cuadros de mando principales céntrate en métricas de alto nivel que impacten directamente en los usuarios.

Evita construir una pantalla llena de gráficas en tus cuadros de mando:

  • Los humanos, en general, no podemos asimilar demasiados datos a la vez.
  • Simplifica y utiliza por ejemplo un cuadro de mando por servicio.

Piensa en términos de servicios, no de máquinas:

  • Una vez hayas aislado un problema a un servicio, podrás profundizar y ver realmente cuál es la máquina que presenta el problema.

Referencias

Documentación y descargas: Prometheus y Grafana.

@Murray Oldfield presentó una sesión sobre SAM (incluyendo Prometheus y Grafana) en el pasado InterSystems Global Summit 2019. Encontrarás más información en InterSystems Learning Services buscando el término "System Alerting and Monitoring Made Easy".

0
0 369