Мониторинг приложений Spark 3 с помощью Prometheus

Есть несколько очень простых вопросов о механизме вытягивания с метриками и о том, как приложения Spark 3 можно отслеживать с помощью Prometheus:

  1. Содержит ли приемник PrometheusServlet, поддерживаемый Spark-3, все показатели с момента запуска приложения? Эти показатели не агрегированы?
  2. Где / как хранится метрическая информация в приемнике и что на самом деле происходит, когда Прометей очищает конечную точку? Если конечная точка отображает всю информацию о показателях с момента запуска приложения, не будет ли память, потраченная на хранение этих показателей, проблемой для долго работающих искровых приложений?
  3. Получает ли Prometheus все показатели (с момента запуска приложения) при каждом повторном парсинге? Если нет, то как узнать, какой показатель был извлечен последним?

Спасибо.


person soontobeared    schedule 26.08.2020    source источник


Ответы (1)


Можно просто настроить и убедиться в этом .. :)

В любом случае, поведение каждой метрики зависит от метрики (является ли она кумулятивной или моментальным снимком, как описано в https://spark.apache.org/docs/latest/monitoring.html (каждая метрика имеет метку, в которой указан ее тип)

Прошлые значения метрик не сохраняются, и Prometheus должен периодически извлекать их (что он делает в любом случае, поскольку он основан на вытягивании). Сервлет просто форматирует метрики способом, совместимым с Prometheus.

person Arnon Rotem-Gal-Oz    schedule 03.11.2020