Мониторинг Red Hat Quarkus

Материал из Dynatrace
Версия от 10:04, 22 января 2023; Lobanov (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Мониторинг Red Hat Quarkus

Red Hat Quarkus — это платформа Java с открытым исходным кодом, оптимизированная для GraalVM, чтобы сделать Java ценным гражданином в мире микросервисов. Quarkus принадлежит к семейству полнофункциональных фреймворков, специально разработанных для Kubernetes. Он включает в себя современные библиотеки Java и соответствует последним стандартам Java.

GraalVM предназначен для достижения высокой производительности при выполнении приложений, написанных на Java и других языках JVM. Он предлагает два подхода для компиляции кода Java в исполняемый файл:

  • компиляция точно в срок (JIT)
  • предварительная компиляция (AOT) в собственный образ

Нативные образы, скомпилированные с помощью AOT, включают только код Java, необходимый во время выполнения, исключая все остальное из библиотек и фреймворков.

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

Предварительные требования

  • Ваша версия GraalVM поддерживается Dynatrace.
  • GraalVM настроен на создание собственных образов. Дополнительные сведения см. в руководстве по созданию собственного исполняемого файла Quarkus.
  • OneAgent или Dynatrace Operator установлены на машине, на которой должно выполняться приложение.

Необходимая установка зависит от вашего приложения:

Если ваше приложение работает См. инструкцию для See the instruction for
на виртуальной машине или на «голом железе» OneAgent
как рабочая нагрузка в Kubernetes или OpenShift Dynatrace Operator

Трассировки

Dynatrace может автоматически отслеживать JIT-компилированные приложения Quarkus, выполняемые на OpenJDK HotSpot JVM и GraalVM.

Трассировка собственных приложений Quarkus, скомпилированных с помощью AOT, в настоящее время не поддерживается.

Метрики

Red Hat рекомендует получать метрики от Quarkus через библиотеку quarkus-micrometer-resistry-prometheus.

Чтобы узнать, как использовать метрики Micrometer в приложении Quarkus, см. руководство Quarkus по метрикам Micrometer.

Dynatrace предлагает два подхода для получения метрик Micrometer от Prometheus: через API или через расширение.

Получение метрик Micrometer через Dynatrace API

Используйте Dynatrace API для получения метрик, полученных из библиотеки quarkus-micrometer-resistry-prometheus.

Дополнительные сведения о процедуре загрузки см. в разделе Отправка метрик Micrometer в Dynatrace.

Для собственных приложений обязательно следуйте подходу «Непосредственно в Micrometer».

Получение метрик Micrometer через расширение

Используйте Dynatrace Extension 2.0 Framework для приема метрик Micrometer, полученных из источника данных Prometheus — для этого вам нужно создать собственное расширение.

В качестве отправной точки вы можете использовать приведенный ниже пример пользовательского расширения. Он адаптирован для библиотеки quarkus-micrometer-resistry-prometheus. Обязательно используйте правильную конечную точку метрик в своей конфигурации. Конечная точка по умолчанию — localhost:8080/q/metrics.

Журналы

Dynatrace предлагает различные варианты сбора журналов из ваших приложений и сред.

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

В приведенной ниже процедуре предполагается, что ваше приложение записывает журналы в файл /var/log/quarkus-app.log.

  1. Запустите собственное приложение Quarkus.
  2. В меню Dynatrace перейдите в раздел «Хосты» и выберите свой хост.
  3. Прокрутите вниз до раздела «Анализ процессов» и в списке процессов выберите процесс собственного приложения Quarkus.
  4. В правой части панели «Процесс» выберите «Дополнительно» > «Настройки».
  5. В настройках группы процессов выберите Мониторинг журнала > Добавить новый журнал для мониторинга.
  6. Введите полный путь к файлу журнала. Обязательно соблюдайте требования к пути журнала.
  7. Выберите Сохранить изменения.
  8. Включите добавленные файлы журналов в хранилище журналов.