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

Материал из Документация Ключ-АСТРОМ

Поддержка технологий / Java / Мониторинг Red Hat Quarkus

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

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

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

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

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

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

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

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

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

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

Трассировки

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

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

Метрики

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

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

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

Получение метрик Micrometer через Ключ-Астром API

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

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

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

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

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

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

Журналы

Ключ-Астром предлагает различные варианты сбора журналов из ваших приложений и сред.

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

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

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