---
title: "Mejoras en la monitorización"
canonical: "https://onesaitplatform-es.refined.site/space/DOC/4866539530/Mejoras%20en%20la%20monitorizaci%C3%B3n"
format: markdown
---
> ℹ️ Disponible desde la [versión 6.3.0-Yoshi](https://onesaitplatform.atlassian.net/wiki/spaces/ruta/pages/4785799169)

> Macro (toc)

# Introducción

Para escenarios en los que no existe una monitorización corporativa, la Plataforma integra diversas herramientas y tecnologías para monitorizar su estado de salud.

Esta monitorización está basada en el despliegue de **Grafana + Grafana Mimir + Prometheus Operator** sobre un entorno con Kubernetes.

En la versión 6.3.1 se han incorporado las siguientes mejoras:

- Estandarización de las métricas de todos los componentes de la Plataforma.
- Dashboards Grafana de todos los módulos de la Plataforma.
- Capacidad de generar alertas.

# Herramientas de monitorización

![image-20250107-125708.png](media://6fc2ba39-2c2f-4e4d-85fc-fb02c0562213)

- **Grafana **es una herramienta de código abierto para la visualización y análisis de datos en tiempo real, que permite crear Dashboards interactivos y monitorear métricas de sistemas, aplicaciones y bases de datos.

[https://grafana.com/](https://grafana.com/)

- **Grafana Mimir** es una plataforma de almacenamiento y gestión de métricas a gran escala, diseñada para ofrecer alto rendimiento y escalabilidad en la recolección y consulta de datos de monitoreo en entornos distribuidos.

[https://grafana.com/oss/mimir/](https://grafana.com/oss/mimir/)

- **Prometheus Operator** es una herramienta para gestionar y desplegar instancias de Prometheus en Kubernetes, facilitando la configuración, monitoreo y mantenimiento de clústeres Prometheus de forma automatizada y eficiente.

[https://prometheus-operator.dev/](https://prometheus-operator.dev/)

Por lo tanto, **Prometheus Operator** es el encargado de recoger las métricas de los diferentes componentes de la Plataforma, **Grafana Mimir** actúa como base de datos y almacena esas métricas recogidas, y **Grafana **actúa de consultor y visualizador de las métricas en un panel de mando o simplemente en consultas simples, además de tener otras opciones como alertas.

El despliegue de las herramientas se hace mediante **ArgoCD**, que es una herramienta de entrega continua (CD) para Kubernetes que automatiza la implementación y gestión de aplicaciones, utilizando Git como fuente de verdad para la configuración y el estado deseado.

# Panel de mando Grafana

Un panel de mando en Grafana es una interfaz visual que muestra datos en tiempo real mediante gráficos, tablas y otros widgets, permitiendo monitorear y analizar métricas de sistemas y aplicaciones.

Con los paneles de mando Grafana se puede llevar a cabo, entre otros aspectos:

1. **Crear paneles visuales**: diseñar paneles de mando con gráficos, tablas, mapas y otros *widgets*.
2. **Visualizar métricas en tiempo real**: mostrando datos actualizados en tiempo real de diversas fuentes.
3. **Filtrar datos**: aplicar filtros y variables para personalizar la visualización de las métricas.
4. **Configurar múltiples fuentes de datos**: conectar y mostrar datos de diferentes sistemas o bases de datos.
5. **Crear diseños interactivos**: para organizar y ajustar los paneles de manera flexible para una presentación clara.
6. **Compartir paneles de control**: exportarlos o compartirlos con otros usuarios o equipos.
7. **Personalización de paneles**: ajustar los colores, rangos de valores y otros aspectos visuales.
8. **Añadir alertas**: integrar alertas directamente en los paneles para monitorear métricas específicas.
9. **Historial de datos**: visualizar tendencias y datos históricos para análisis de largo plazo.

Los paneles de control configurados pueden estar persistidos en la base de datos de Grafana, o directamente inyectarlos como yaml a través de configMaps en Kubernetes en el propio *chart*, como es el caso.

## Explore

El apartado explore es una herramienta que permite **explorar y consultar datos de manera interactiva y *****ad-hoc***. Sirve para realizar consultas rápidas y análisis de métricas o *logs* en tiempo real, sin necesidad de configurar paneles de control completos. Esto resulta útil para depurar problemas y obtener información instantána de las fuentes de datos conectadas.

Esta herramienta se encuentra en **Grafana > Explore**.

![image-20250107-133429.png](media://c9aec969-b57d-4682-a0fc-68f663ec2cf8)

## Data sources

Un *data source* es una fuente de datos externa (como bases de datos, sistemas de monitoreo o APIs) que Grafana utiliza para consultar y visualizar métricas o información. Ejemplos comunes incluyen Prometheus, InfluxDB, MySQL y ElasticSearch.

En este caso, el *data source* que se utiliza es el de Prometheus, pero que queda almacenado en la base de datos de **Grafana Mimir**:

Se accede a estas fuentes en **Grafana > *****Connections***** > *****Data source***.

![image-20250107-133235.png](media://ae06d565-4518-4cb8-b655-780def7e5bab)

## Dashboards ofrecidos por Onesait Platform

- **Base de datos**:
  - MySQL/MariaDB.
  - MongoDB.
  - PosgreSQL.
  - ElasticSearch/OpenSearch.
- **Módulos**:
  - JVM/JMX (todos los componentes).
  - Keycloak.
  - Kafka.
  - DataFlow.
  - FlowEngine NodeJS.
  - Presto.
  - MinIO.
  - Nginx.
- **Kubernetes**:
  - *Deployments* / *Pods*.
  - Nodes.
  - Nginx *Controller*.

![image-20250107-131919.png](media://09e49092-c018-41d9-9d7f-0be80a57dc78)

## Métricas de ejemplo

![image-20250107-131100.png](media://a79908f1-5f24-48fe-bca8-f32dfe547eda)

![image-20250107-131155.png](media://22b65476-e505-48bb-b8e8-83d6f84988a5)

![image-20250107-131358.png](media://5366b69e-52c3-40b6-b51c-48bbd410d77b)

# Alertas en Grafana

La principal novedad respecto a la monitorización que ya se ofrecía con la Plataforma, además de la estandarización de las métricas y los paneles de control de todos los módulos, es la incorporación de alertas a través de **Grafana Alerts.**

**Grafana Alerts** es una funcionalidad que permite configurar notificaciones automáticas basadas en umbrales o condiciones de métricas, alertando a los usuarios sobre eventos o problemas en tiempo real. Las notificaciones se podran enviaran a través de email o Teams ademas de muchas otras opciones.

Con Grafana Alerts se pueden hacer las siguientes cosas:

1. **Configurar alertas**: definir condiciones basadas en métricas específicas.
2. **Establecer umbrales**: definir valores que, al superarse, activan una alerta.
3. **Notificaciones**: enviar alertas a diferentes canales (correo, Slack, PagerDuty, etc.).
4. **Alertas múltiples**: crear varias alertas para un mismo panel o gráfico.
5. **Silenciar alertas**: configurar periodos en los que no se enviarán notificaciones.
6. **Historial de alertas**: consultar y gestionar las alertas pasadas.
7. **Escalado de alertas**: configurar alertas en función de la gravedad y escalarlas a distintos equipos o personas.
8. **Condiciones complejas**: establecer combinaciones de condiciones para activar alertas, como por ejemplo combinando varios umbrales o métricas.

### Puntos de contacto

Para poder ver o configurar los diferentes puntos de contacto (correos electrónicos, equipos de Microsoft Teams, etc.) se accederá a **Grafana > *****Alerting***** > *****Contact Points***.

![image-20250107-132150.png](media://95e687f1-8503-4ca8-9986-47c0c30c089e)

### Visualización de las alertas

Para poder ver o configurar las diferentes alertas en el sistema de Grafana se accederá a **Grafana > Alerting > Alert Rules**.

En el siguiente ejemplo se puede apreciar los diferentes grupos de alertas que hay configurados, como por ejemplo alertas de *health check*, para saber si están caídas las bases de datos a las que se conecta la Plataforma:

![image-20250107-132405.png](media://f807afb6-69dd-4ba6-bd97-c737b93c0a03)

En el siguiente ejemplo se puede ver la alerta que se recibe vía correo electrónico cuando un microservicio esta caído:

![image-20250107-132709.png](media://39804f81-0ec6-425c-817b-7af38bec3776)