Как подключить Prometheus к Presto JMX

#jmx #prometheus #presto #jmx-exporter

#jmx #prometheus #presto #jmx-экспортер

Вопрос:

Я пытаюсь подключить prometheus к Presto jmx, я нашел этот экспортерhttps://github.com/yahoojapan/presto_exporter но, похоже, что упомянутые двоичные файлы не существуют. Мой вопрос в том, как я могу создать presto exporter с нуля? и если jmx_exporter уже существует, может помочь и как?

Большое спасибо.

Ответ №1:

#1 Сборка из исходного кода

Вам нужно создать go код самостоятельно

# 2 Докер (рекомендует)

Для примера, где ip используется IP-адрес внутренней сети, чтобы контейнер docker мог получить к нему доступ.

 # docker run --rm yahoojapan/presto-exporter:master --help
# for more infomation
docker run --rm -p 9483:9483 yahoojapan/presto-exporter:master --web.url="http://<ip>:8080/v1/cluster"
  

Затем в Prometheus

 scrape_configs:

  # other configurations...

  - job_name: 'presto_exporter'
    static_configs:
      - targets: ['<server_ip_that_run_docker_command>:9483']
  

Перезапустить Prometheus

Запросите presto_* или импортируйте эту панель мониторинга: https://grafana.com/grafana/dashboards/10866


Обновить

Есть и другие показатели, с которых не начинаются presto_ , смотрите: http://<server_ip_that_run_docker_command>:9483/metrics

введите описание изображения здесь

Ответ №2:

Без Docker, без контейнера presto-exporter docker

Мониторинг Prometheus также может быть включен, укажите параметры JMX в файле presto jvm.config

 -server
-Xmx3G
-XX: UseG1GC
-XX:G1HeapRegionSize=32M
-XX: UseGCOverheadLimit
-XX: ExplicitGCInvokesConcurrent
-XX: HeapDumpOnOutOfMemoryError
-XX: ExitOnOutOfMemoryError
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9015
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-javaagent:/opt/java_metrics/jmx_prometheus_javaagent-0.3.0.jar=9483:/opt/java_metrics/config.yml
  

Добавьте точку очистки Prometheus для presto в prometheus.yml файл

 scrape_configs:

   - job_name: presto
     static_configs:
      - targets: ['<presto_ip>:9483']
  
  • Показатели Presto будут доступны на http://<presto_ip>:9483/metrics