Está en la página 1de 5

Las métricas de Prometheus son de cuatro tipos principales:

#1. Contador
El valor de un contador siempre aumentará. Nunca puede disminuir, pero se
puede restablecer a cero. Entonces, si falla un raspado, solo significa un
punto de datos perdido. El aumento acumulativo estaría disponible en la
próxima lectura. Ejemplos:

Número total de solicitudes HTTP recibidas

El número de excepciones.
#2. Calibre
Un indicador es una instantánea en un momento dado. Puede aumentar o
disminuir. Si falla la obtención de datos, pierde una muestra; la siguiente
recuperación puede mostrar un valor diferente: ejemplos de espacio en disco,
uso de memoria.
#3. Histograma
Un histograma toma muestras de las observaciones y las cuenta en
depósitos configurables. Se utilizan para cosas como la duración de las
solicitudes o el tamaño de las respuestas. Por ejemplo, puede medir la
duración de la solicitud para una solicitud HTTP específica. El histograma
tendrá un conjunto de cubos, digamos 1 ms, 10 ms y 25 ms. En lugar de
almacenar cada duración de cada solicitud, Prometheus almacenará la
frecuencia de las solicitudes que caen en un depósito en particular.
#4. Resumen

Al igual que en las observaciones de muestras de histograma, normalmente


se solicitan duraciones o tamaños de respuesta. Proporcionará un recuento
total de observaciones y una suma de todos los valores observados, lo que le
permitirá calcular el promedio de los valores observados. Por ejemplo, en un
minuto, tuvo tres solicitudes que tomaron 2,3,4 segundos. La suma sería 9 y
el recuento sería 3. La latencia sería de 3 segundos.
Components of Prometheus ecosystem
El servidor Prometheus
Recopila métricas, las almacena y las pone a disposición para consultas,
envía alertas basadas en las métricas recopiladas.
Raspado
Prometeo es un sistema basado en extracción. Para obtener métricas,
Prometheus envía una solicitud HTTP llamada scrape. Envía raspaduras a
los objetivos según su configuración.
Cada objetivo (definido estáticamente o descubierto dinámicamente) se raspa
en un intervalo regular (intervalo de raspado). Cada raspado lee el punto final
HTTP / metrics para obtener el estado actual de las métricas del cliente y
conserva los valores en la base de datos de series de tiempo de Prometheus.
Hay mas bases de datos de series de tiempo para monitorear soluciones que
quizás desee explorar.
Bibliotecas de clientes
Para monitorear un servicio, necesita agregar instrumentación a su código.
Hay bibliotecas cliente disponibles para todos los lenguajes y tiempos de
ejecución populares. Usando estas bibliotecas, una vez que agregas algunas
líneas de código, tu código puede comenzar a emitir métricas. A esto se le
llama instrumentación directa. Estas bibliotecas le permiten definir métricas
internas y también exponerlas a través de un punto final HTTP. Cuando
Prometheus raspa el punto final HTTP de métricas, la biblioteca cliente envía
las métricas al servidor.
Prometheus para Go, Java, Python y Ruby ofrece bibliotecas cliente oficiales.
Prometheus tiene un ecosistema abierto. También hay bibliotecas cliente
creadas por la comunidad disponibles para C, PHP, Node.js, C # / .NET y
muchos otros.
Exportadores
Muchas aplicaciones exponen métricas en formato que no es de Prometheus.
Para estos y para las aplicaciones que no son de su propiedad o para las que
no tiene acceso al código, no puede agregar instrumentación directamente.
Por ejemplo, servidor MySQL, Kafka, JMX, HAProxy y NGINX. En estos
escenarios, hace uso de exportadores.
Un exportador es una herramienta que implementa junto con la aplicación de
la que desea obtener métricas. Un exportador actúa como un proxy entre la
aplicación y Prometheus. Recibirá solicitudes del servidor Prometheus,
recopilará datos de los registros de acceso, registros de errores de la
aplicación, la transformará al formato correcto y finalmente regresará al
servidor Prometheus.
Algunos de los exportadores populares son:
Windows - para métricas de servidor de Windows
Nodo - para métricas de servidor Linux
Caja negra - para métricas de rendimiento de sitios web y DNS
JMX - para métricas de aplicaciones basadas en Java
Una vez que las aplicaciones se han instrumentado, o los exportadores están
en su lugar, debe decirle a Prometheus dónde están. Esto se puede hacer
mediante configuración estática. En el caso de entornos dinámicos, esto no
se puede hacer; por lo tanto, se utiliza el descubrimiento de servicios.
Alertando
La alerta con Prometheus consta de dos partes:
Las reglas de alerta envían alertas al administrador de alertas.
Alertmanager luego administra esas alertas. Envía notificaciones utilizando
muchas integraciones listas para usar como correo electrónico, Slack,
Hipchat y PagerDuty. Alertmanager también puede realizar silenciamiento o
agregación para reducir el número de notificaciones.
Aquí está la para monitorear el servidor Linux usando Prometheus y
Dashboard.
Visualizing with Dashboards
Prometheus tiene una serie de API que utilizan las consultas de PromQL para
producir datos sin procesar para las visualizaciones.
Aunque Prometheus incluye un navegador de expresiones que se puede
utilizar para consultas ad-hoc, la mejor herramienta disponible es Grafana.
Grafana se integra completamente con Prometheus y puede producir una
amplia variedad de paneles.
Deberá configurar Prometheus como fuente de datos para Grafana.
Puede agregar paneles mediante:
Importación de paneles creados por la comunidad
Crea tu propio
Usando un tablero predefinido.
Así es como se ve un panel de exportador de nodos predefinido:
Grafana tiene un worldPing módulo que le permite monitorear las métricas de
desempeño del sitio y del DNS en todo el mundo

También podría gustarte