Entornos de desarrollo

1º DAM/DAW - Curso 2024-2025

User Tools

Site Tools


apuntes:monitorizacion

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apuntes:monitorizacion [2025/03/25 00:23] – [Instalar Grafana y Prometheus] Santiago Faciapuntes:monitorizacion [2025/03/25 00:30] (current) – [Crear un dashboard y visualizaciones] Santiago Faci
Line 76: Line 76:
  
 ===== Integrar Grafana con Node.js ===== ===== Integrar Grafana con Node.js =====
 +
 +Ahora tendremos que facilitar un endpoint ''/metrics'' en nuestro servicio para que Prometheus pueda extraer las métricas de nuestro servicio haciendo peticiones al mismo.
 +
 +Primero, añadimos la librería de Prometheus para nuestra aplicación:
  
 <code javascript> <code javascript>
Line 83: Line 87:
   },   },
 </code> </code>
 +
 +Y definimos una serie de métricas en el fichero ''config/metrics.js''. Más adelante las haremos accesible como respuesta en el endpoint ''/metrics'' que vamos a publicar:
  
 <file javascript config/metrics.js> <file javascript config/metrics.js>
Line 114: Line 120:
 }; };
 </file> </file>
 +
 +En nuestro fichero principal, ''app.js'', configuraremos lo necesario para recoger las métricas que hemos configurado antes y publicaremos el nuevo endpoint ''/metrics'' que las dejará accesibles para Prometheus, que es quién las recoge y almacena.
 +
 +También llamaremos a ''promClient.collectDefaultMetrics()'' que recoge algunas métricas ya establecidas por defecto que quizás nos pueda interesar también mostrar en los Dashboards que haremos con Grafana.
  
 <file javascript apps.js> <file javascript apps.js>
Line 167: Line 177:
 </file> </file>
  
-En http://localhost:8080/metrics ya podremos visualizar las métricas (como texto plano). Es el endpoint que usaremos para visualizar gráficas en Grafana:+En http://localhost:8080/metrics ya podremos visualizar las métricas (como texto plano)
  
 <figure> <figure>
Line 174: Line 184:
 </figure> </figure>
 ===== Comprobar la configuración de Prometheus ===== ===== Comprobar la configuración de Prometheus =====
 +
 +Antes de seguir, para comprobar que todo está funcionando bien, podemos echar un vistazo en Prometheus y verificar que tiene acceso a las métricas que nuestro servicio publica a través del endpoint ''/metrics'' que acabamos de configurar:
  
 Status -> Targets Status -> Targets
Line 188: Line 200:
 ==== Añadir Prometheus como connection ==== ==== Añadir Prometheus como connection ====
  
-Connection -> Add new connection -> Prometheus+Ahora, accediendo al interfaz web de Grafana (http://localhost:3000), configuraremos a Prometheus como un nuevo conector ya que proporcionará datos para los Dashboards que queremos diseñar en Grafana. 
 + 
 +Accedemos a ''Connection -> Add new connection -> Prometheus''
  
 <figure> <figure>
Line 195: Line 209:
 </figure> </figure>
  
-Save & test+Y pulsamos ''Save & test'' para darlo por configurado
  
 ==== Crear un dashboard y visualizaciones ==== ==== Crear un dashboard y visualizaciones ====
 +
 +El último paso será crear un nuevo Dashboard y añadir todas las visualizaciones (gráficos) que precisemos. Por ejemplo:
 +
 +  * Peticiones por segundo
 +  * Tasa de fallos
 +  * Códigos de estado como respuestas
 +  * Tiempo de respuesta
  
 <figure> <figure>
apuntes/monitorizacion.1742862222.txt.gz · Last modified: 2025/03/25 00:23 by Santiago Faci