Monitoriza tus servicios con Prometheus y Grafana en Docker
¿Qué es Prometheus?
Prometheus es un software especializado como sistema de monitorización y alertas escrito en el lenguaje de programación Go. Todos los datos y métricas se almacenan en la base de datos como series temporales (junto al instante de tiempo en el que el valor se ha registrado). También es posible añadir etiquetas de tipo clave-valor junto a estas métricas.
Las métricas que almacena Prometheus pueden ser de cualquier tipo, y dependerán de la naturaleza de la aplicación o del sistema que se quiera monitorizar. Por ejemplo, puede ser el uso de CPU o de memoria, número de conexiones, número de peticiones o cantidad de sesiones activas. Todas las mediciones y métricas recogidas ayudarán a diagnosticar errores o problemas de servicio en los sistemas y aplicaciones que se monitorizan.
Arquitectura
Prometheus tiene 3 componentes principales.
Servidor: Almacena los datos de las métricas.
Librería Cliente: Se usa para calcular y exponer las métricas al cliente.
Gestor de alertas: Genera alertas basadas en reglas.
Para monitorizar una aplicación deberemos configurar con código la librería de cliente de forma que exponga la métrica que queremos registrar. Ahora que la aplicación expone nuestra métrica, ejecutaremos el servidor de Prometheus y lo configuraremos para extraerla de la aplicación con unos intervalos de tiempo establecidos.
Métricas en Prometheus
El tipo de métrica contador es un valor que solo se puede incrementar o bien resetear. Se puede usar para contar el número de peticiones o de errores en una aplicación, que son métricas que nunca se reducen.
Gauge o medidor es un valor numérico que puede incrementarse o decrementar. Un ejemplo puede ser el número de servidores en un sistema distribuido.
El histograma representa los valores en agrupaciones predefinidas y acumuladas en el tiempo. Por ejemplo, se puede usar un histograma para medir los tiempos de respuesta de nuestra aplicación en los intervalos de tiempo establecidos para cada petición de un cliente.
Prometheus y Grafana
Grafana es el componente que nos permitirá crear dashboards para comprender lo que está pasando en nuestro sistema monitorizado. Se integra perfectamente con el software de Prometheus que, aunque ya nos proporciona estos gráficos en su propia interfaz gráfica, están pensados como un mecanismo de test o debug.
Cómo usar Prometheus y Grafana en Docker.
docker-compose.yml
prometheus.yml
https://github.com/JLalib/docker-grafana
-
Posible error con PiHole:"Panel plugin not found: grafana-piechart-panel"
Acceder al contendor desde la consola y ejecutar el siguiente comando para instalar el Plugin
grafana-cli plugins install grafana-piechart-panel
Comentarios
Publicar un comentario