Сложность регулярного выражения при экспорте графита - PullRequest
0 голосов
/ 20 января 2020

Я использую автономный Apache Spark кластер в среде Kubernetes.

Необходимо экспортировать метрики в Прометей, а затем, наконец, отобразить их в Графане.

Я обнаружил, что установка экспортера Graphite была самым простым решением для этого, поскольку у меня возникли некоторые проблемы с получением всех метрик Spark при использовании только экспортера JMX.

Проблема, с которой я столкнулся с - для создания отображений из графитового вывода в вывод, который может быть обработан с помощью шаблонов Прометея.

Например, я хочу иметь возможность анализировать

app_20200120105608_0736_0_executor_threadpool_completeTasks

так, чтобы это соответствует чему-то похожему на это:

- match: '*.*.threadpool.*.*'
  name: app_data
  labels:
    application: $1 // app_20200120105608_0736
    executor_id: $2 // 0
    type: $3 // threadpool
    qty: $4 // completeTasks

Я не уверен, что это будет лучшим решением в целом, поэтому любые другие предложения приветствуются (например, как это можно сделать надлежащим образом с использованием Экспортер JMX только при получении данных приложения Spark.)

1 Ответ

2 голосов
/ 20 января 2020

Если я правильно понимаю, вы пытаетесь построить что-то вроде Spark -> Graphite -> Prometheus -> Grafana. Избегайте этого, поскольку Graphite увеличивает нагрузку на вашу систему мониторинга.

У вас есть несколько доступных вариантов:

  • Запрос графита напрямую из Grafana с Источник данных графита
  • Правильно настройте Jmx Exporter. Вы можете обратиться к обсуждению , чтобы понять, как это сделать с помощью jmx-exporter. Также я могу помочь вам справиться с ошибками, которые у вас есть, если вы поделитесь своими проблемами с ним.
  • Настройка Prometheus Pu sh Шлюз и соответствующая Spark Prometheus раковина . Обратите внимание, что это решение рекомендуется для кратковременных заданий. Если у вас есть долго выполняющиеся задания, Jmx Exporter предпочтительнее.

Надеюсь, это поможет.

...