Introducción y principio de funcionamiento de Prometheus

1. Introducción a Prometheus

Prometheus es una caja de alarma de monitoreo de sistema de código abierto, que tiene las siguientes ventajas en comparación con Nagios o Zabbix

1.1 Facilidad de manejo

Prometheus: la parte principal de Prometheus tiene un solo archivo binario, que puede funcionar directamente de forma local sin depender del almacenamiento distribuido.

1.2 Relevancia de los datos comerciales

Prometheus: supervise el estado de ejecución del servicio. Basado en la rica biblioteca de cliente de Prometheus, los usuarios pueden agregar fácilmente el soporte de Prometheus a la aplicación, de modo que los usuarios puedan obtener el verdadero estado de ejecución del servicio y la aplicación.

1.3 Alta eficiencia:

Un solo Prometheus puede manejar millones de indicadores de monitoreo; cientos de miles de puntos de datos por segundo.

1.4 Fácil de escalar:

Prometheus se puede expandir utilizando compartir + federación para formar un clúster lógico; Prometheus proporciona SDK de cliente en varios idiomas. Estos SDK pueden permitir que Prometheus supervise rápidamente las aplicaciones.

1.5 Buena visualización:

Además de que Prometheus viene con la interfaz de usuario de Prometheus, la herramienta de visualización Grafana también proporciona compatibilidad completa con Proetheus

2. Diagrama de estructura de Prometheus

Inserte la descripción de la imagen aquí

3. Introducción a los componentes de Prometheus

3.1 Servidor Prometheus:

Prometheus Sever es la parte central del componente Prometheus, responsable de obtener, almacenar y consultar datos de monitoreo. Prometheus Server puede administrar los objetivos de monitoreo a través de la configuración estática, o administrar dinámicamente los objetivos de monitoreo junto con Service Discovery y obtener datos de estos objetivos de monitoreo. En segundo lugar, Prometheus Sever necesita almacenar los datos recopilados. Prometheus Server en sí es una base de datos en tiempo real, que almacena los datos de monitoreo recopilados en un disco local en una serie de tiempo. Prometheus Server proporciona PromQL personalizado externamente para realizar consultas y análisis de datos. Además, la capacidad de clúster federado de Prometheus Server le permite obtener datos de otras instancias de Prometheus Server.

3.2 Exportadores:

Exporter expone el punto final de la recopilación de datos de monitorización a Prometheus Server en forma de servicio HTTP. Prometheus Server puede obtener los datos de monitorización que deben recopilarse accediendo al punto final proporcionado por el exportador. El exportador se puede dividir en dos categorías:
Recopilación directa: este tipo de exportador tiene soporte incorporado directamente para el monitoreo de Prometheus, como cAdvisor, Kubernetes, Etcd, Gokit, etc., y puntos finales directamente integrados para exponer los datos de monitoreo a Prometheus. .
Recopilación indirecta: el objetivo de monitorización original no admite directamente Prometheus, por lo que es necesario escribir el programa de recopilación de monitorización del objetivo de monitorización a través de la biblioteca cliente proporcionada por Prometheus. Por ejemplo: Mysql Exporter, JMX Exporter, Consul Exporter, etc.

3.3 AlertManager:

Prometheus Server admite la creación de reglas de alarma basadas en Prom QL. Si se cumplen las reglas definidas por Prom QL, se generará una alarma. Una vez que AlertManager recibe las alertas del servidor Prometheus, eliminará los datos duplicados, los agrupará y los enrutará al método de recepción para enviar una alarma. Los métodos de recepción habituales son: correo electrónico, pagerduty, webhook, etc.

3.4 Pasarela de empuje:

La recopilación de datos de Prometheus se basa en Prometheus Server extrayendo datos de Exporter, por lo que cuando el entorno de red no permite que Prometheus Server y Exporter se comuniquen, puede usar PushGateway para transferir. Empuje activamente los datos de supervisión de la red interna al Gateway a través de PushGateway, y Prometheus Server utiliza el mismo método para que Exporter extraiga los datos de supervisión de PushGateway a Prometheus Server.

4. Flujo de trabajo de Prometheus:

4.1 El servidor de Prometheus extrae métricas de trabajos configurados o exportadores, o recibe métricas enviadas desde Pushgateway, o extrae métricas de otros servidores de Prometheus.
4.2 El servidor de Prometheus almacena las métricas recopiladas localmente y ejecuta las reglas de alerta definidas para registrar la nueva serie temporal o enviar alertas al administrador de alertas.
4.3 Alertmanager procesa las alertas recibidas y envía alertas de acuerdo con el archivo de configuración.
4.4 En la interfaz gráfica, recopile datos visualmente.

Supongo que te gusta

Origin blog.csdn.net/m0_46674735/article/details/113059923
Recomendado
Clasificación