Как отправить метрики JVM Spark в Prometheus в Kubernetes - PullRequest
0 голосов
/ 17 июня 2020

Я использую оператор Spark для запуска Spark в Kubernetes. (https://github.com/GoogleCloudPlatform/spark-on-k8s-operator)

Я пытаюсь запустить агент Java в драйверах Spark и модулях исполнителей и отправить метрики через службу Kubernetes оператору Prometheus.

Я использую этот пример https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/examples/spark-pi-prometheus.yaml

Java агент в течение короткого времени выставляет метрики на порт 8090 (я могу проверить это с помощью перенаправления портов kubctl port-forward < spark-driver-pod-name> 8090: 8090), также служба также предоставляет метрики в течение нескольких минут (можно проверить это с помощью перенаправления портов kubctl port-forward svc / 8090: 8090).

Promethues может зарегистрировать URL-адрес этого модуля в Prometheus, но когда он пытается очистить метрики (выполняется каждые 30 секунд), URL-адрес модуля недоступен.

Как сделать так, чтобы JMX-экспортер Java агента работал долго, пока драйвер и исполнители не завершат задание. не могли бы вы помочь мне здесь, кто сталкивался с этим сценарием раньше?

1 Ответ

0 голосов
/ 20 июня 2020

Мне сказали, либо Prometheus нужно очищать метрики каждые 5 секунд (есть вероятность, что метрики могут быть неточными), либо вам нужно использовать pushgateway, как упоминалось в этом блоге (https://banzaicloud.com/blog/spark-monitoring/) в pu sh метрики в Prometheus

Передача метрик в Prometheus - лучший способ для работы. Получение показателей из Prometheus - лучший подход для длительно работающих служб (например, REST Services)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...