es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo almacenar mediciones recopiladas desde Pushgateway en la base de datos de Prometheus?

Estoy utilizando Pushgateway para monitorear un servicio personalizado. Según entiendo, todas las mediciones métricas que enviamos se almacenan en la propia base de datos interna de Pushgateway y luego se exponen en Prometheus. Si esto es cierto, tengo las siguientes implicaciones (que he probado excepto el punto 1 y “así es como funciona para mí actualmente”):

  1. Prometheus tendrá que procesar la cantidad completa de mediciones en cada escaneo, incluyendo las antiguas.
  2. Si una medición se elimina o reemplaza en Pushgateway, entonces ya no estará disponible en Prometheus.
  3. Si Pushgateway está inactivo (especialmente divertido que pueda estar inactivo porque se enviaron métricas inconsistentes, por lo que cualquiera puede desactivarlo con una sola solicitud PUT si el puerto está abierto), las mediciones volverán a ser inaccesibles en Prometheus.

Desde mi punto de vista, esta situación es más que estúpida, considerando que Prometheus es más o menos un estándar de la industria listo para producción cuando se trata de TSDB, así que espero sinceramente que simplemente sea mi falta de comprensión.

Me gustaría tener la siguiente configuración:

  • a. La medición se envía al Pushgateway.
  • b. Prometheus lee la medición desde el Pushgateway y la escribe en su propia base de datos.
  • c. Pushgateway elimina la métrica cuando ha sido leída por Prometheus.

Hasta ahora no he podido lograr lo anterior.

También he intentado configurar el “scraping” basado en texto a través de node_exporter con el mismo resultado: las métricas y las mediciones están disponibles siempre que mantenga el archivo de texto en el nodo. Si elimino los datos de texto, las mediciones desaparecen de Prometheus, por lo que no las almacena por sí mismo.

Actualización:
De hecho, pude encontrar métricas antiguas que obtuve del archivo de texto; solo necesitaba establecer un período de tiempo pasado en lugar de “ahora”. Así que esto funciona, Prometheus está escribiendo las métricas de los archivos de texto en su propia base de datos. Utilizaré esta solución.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Usando Pushgateway para monitorear un servicio personalizado

    Cuando se utiliza Pushgateway para monitorear un servicio personalizado, es importante tener en cuenta que las mediciones de métricas se almacenan en la base de datos interna de Pushgateway y luego se exponen a Prometheus. Esto implica varias cosas:

    1. Prometheus tendrá que procesar la cantidad completa de mediciones en cada rastreo, incluyendo las antiguas.
    2. Si una medición se elimina o se reemplaza en Pushgateway, entonces ya no estará disponible en Prometheus.
    3. Si Pushgateway está inactivo, las mediciones no estarán disponibles en Prometheus.

    Esta situación puede ser problemática ya que puede conducir a métricas inconsistentes y monitoreo poco confiable. Una mejor configuración implicaría:

    1. Enviar la medición al Pushgateway.
    2. Prometheus leer la medición desde Pushgateway y escribirla en su propia base de datos.
    3. Pushgateway eliminar la métrica cuando haya sido leída por Prometheus.

    Sin embargo, lograr esta configuración puede ser desafiante y los usuarios pueden necesitar experimentar con diferentes enfoques. Por ejemplo, algunos usuarios han intentado realizar rastreo basado en texto a través de node_exporter para escribir métricas desde archivos de texto en sus propias bases de datos.

    En general, es importante considerar cuidadosamente las implicaciones de usar Pushgateway para monitoreo y experimentar con diferentes configuraciones y enfoques para asegurar métricas confiables y consistentes.

Comments are closed.