Está en la página 1de 3

Prometheus. Es un sistema de monitoreo escrito en go.

Desarrollada en el 2012 por Matt T. Proud un ingeniero de SoundCloud.

Una de las partes más importantes en la infraestructura es la monitorización y,


en el caso de los micros servicios, en Kubernetes, tenemos a Prometheus. Es
una excelente herramienta de monitorización para k8s.

El ecosistema de Prometheus consiste de varios componentes, los principales


son los siguientes:

 El servidor de Prometheus para consultar y almacenar la series de


datos.

 Un Pushgateway para permitir que los trabajos efímeros y por lotes


expongan sus métricas a Prometheus.

 Exporters útil para casos donde no es factible instrumentar un sistema


dado con métricas Prometheus directamente.

 Un sistema de manejo de alarmado.

 Un sistema de discovery.

Prometheus básicamente almacena todos los datos como series de tiempo.


Cada serie de tiempo se identifica de forma única por su nombre de indicador y
un conjunto de pares clave-valor, también conocidos como “labels”.

Componentes
Prometheus consta de múltiples componentes, algunos son opcionales:

El servidor principal de Prometheus que extrae y almacena datos de series de


tiempo.
Bibliotecas. Con el fin de exponer métricas de una aplicación. Actualmente solo
hay 4 lenguajes soportados oficialmente (go, java, python y ruby), pero hay otras
bibliotecas hechas por la comunidad.

Una biblioteca que que nos sirve para procesos efímeros o procesos por lotes:

 Push Gateway. El funcionamiento es sencillo, cada que se ejecuta uno de estos


procesos manda sus métricas a push gateway, él las almacena y están listas para
que prometheus pueda consultarlas, hasta que el proceso por lotes vuelva a
ejecutarse y mande nuevos datos.

Exportadores e integraciones: Existen exportadores que son bibliotecas que


ayudan a extraer información de servidores, bases de datos, almacenamiento,
entre otros servicios y se exponen para solamente consumirlos y almacenarlos.
Además de integraciones para exponer las métricas como es el caso del software
de Grafana.

Un administrador de alertas. AlertManager. como su nombre lo dice es el


encargado de administrar las alertas que se le manden, notificar mediante distintos
canales ó silenciar alertas si una condición se cumple.

Arquitectura

Después de la explicación de las partes en las que se divide Prometheus, en


la siguiente imagen podrán ver partes de los componentes mencionados y
como es el flujo general:

También podría gustarte