Отчет о показателях шторма Apache не работает должным образом

Я использую версию Apache Storm 2.4.0, и мы хотим, чтобы все наши метрики были доступны. Итак, мы создали сервис, который в настоящее время принимает все метрики и предоставляет метрики в конечной точке /metrics. Storm использует метрики Drop-Wizard, и я конвертирую их в метрики Prometheus с помощью описанного выше процесса. Вся эта настройка выполняется в Kubernetes после внесения нескольких изменений в фактический код версии Storm 2.4.0. Что касается настройки Kubernetes, у меня есть модуль Nimbus, модуль Supervisor и модуль Zookeeper по-разному. Все они связаны (должны ли эти двое быть в одном модуле, не уверен).

      topology.metrics.reporters:
  # Prometheus Reporter
  - class: "com.example.storm.PrometheusStormReporter"
    daemons:
      - "supervisor"
      - "nimbus"
      - "worker"
    report.period: 60
    report.period.units: "SECONDS"

storm.metrics.reporters:
  # Prometheus Reporter
  - class: "com.example.PrometheusStormReporter"
    daemons:
        - "supervisor"
        - "nimbus"
        - "worker"
    report.period: 60
    report.period.units: "SECONDS"

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

Я преобразовал метрики мастера удаления в метрики Прометея и сделал POST-вызов в нашу службу. Я сократил время до 5 секунд и 10 секунд с 60 секунд. Но существует большая разница между тем, что обрабатывает Storm, и тем, что мы видим в конечной точке /metrics.

Еще один способ, который я попробовал, - это нажать метрику, когда я хочу, в методе выполнения болтов (последовательно с моей текущей логикой). Таким образом, я добавлял именно метрики и перемещал их соответствующим образом. Но это увеличивает время обработки (чего мне не нужно). Если публикация не удалась, мне нужно явно исключить кортеж и добавить для этого повторную попытку шторма.

Нужно ли мне перейти на push-шлюз? Или любым другим способом получить полные показатели.

0 ответов

Другие вопросы по тегам