Отслеживание приложений Spring Boot в Dynatrace Java OneAgent

Примечание.

Azure Spring Apps — это новое название службы Azure Spring Cloud. Старое название будет еще некоторое время встречаться в наших материалах, пока мы не обновим ресурсы, такие как снимки экрана, видео и схемы.

Эта статья относится к: ✔️ стандартное потребление и выделенная (предварительная версия) ✔️ Basic/Standard ❌️ Enterprise

В этой статье показано, как использовать Dynatrace OneAgent для отслеживания приложений Spring Boot в Azure Spring Apps.

С помощью Dynatrace OneAgent можно:

  • Отслеживать приложения с помощью Dynatrace OneAgent.
  • Настраивать Dynatrace OneAgent с помощью переменных среды.
  • Проверять все данные отслеживания с панели мониторинга Dynatrace.

В следующем видео рассматривается Dynatrace OneAgent.


Необходимые компоненты

Активация Dynatrace OneAgent

В следующих разделах описана активация Dynatrace OneAgent.

Подготовка своей среды Azure Spring Apps

  1. Создайте экземпляр Azure Spring Apps.
  2. Создайте приложение, о котором необходимо сообщить в Dynatrace, выполнив следующую команду. Замените значения заполнителей <...> на собственные.
    az spring app create \
        --resource-group <your-resource-group-name> \
        --service <your-Azure-Spring-Apps-name> \
        --name <your-application-name> \
        --is-public true
    

Определение значений для требуемых переменных среды

Чтобы активировать Dynatrace OneAgent в экземпляре Azure Spring Apps, необходимо настроить четыре переменные среды: DT_TENANT, DT_TENANTTOKEN, DT_CONNECTION_POINT и DT_CLUSTER_ID. Дополнительные сведения см. в статье Интеграция OneAgent с Azure Spring Apps.

Для приложений с несколькими экземплярами Dynatrace имеет несколько способов их группировки. DT_CLUSTER_ID является одним из способов. Дополнительные сведения см. в статье Обнаружение группы процессов.

Добавление переменных среды в свое приложение

Вы можете добавить в приложение пары "ключ — значение" переменной среды, используя либо портал Azure, либо Azure CLI.

Вариант 1. Azure CLI

Чтобы добавить пары "ключ — значение" с помощью Azure CLI, выполните следующую команду, заменив заполнители <...> значениями, определенными на предыдущих шагах.

az spring app deploy \
    --resource-group <your-resource-group-name> \
    --service <your-Azure-Spring-Apps-name> \
    --name <your-application-name> \
    --artifact-path app.jar \
    --env \
        DT_TENANT=<your-environment-ID> \
        DT_TENANTTOKEN=<your-tenant-token> \
        DT_CONNECTION_POINT=<your-communication-endpoint>

Вариант 2: портал Azure

Чтобы добавить пары "ключ — значение" с помощью портала Azure, выполните следующие действия.

  1. В экземпляре Azure Spring Apps выберите "Приложения " в области навигации.

    Снимок экрана: портал Azure с страницей

  2. Выберите приложение из списка и выберите "Конфигурация " в области навигации.

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

    Снимок экрана: портал Azure со страницей конфигурации приложения с выбранной вкладкой переменных среды.

Автоматизация подготовки

С помощью шаблона Terraform, Bicep или Шаблона Azure Resource Manager (шаблон ARM) можно также запустить конвейер автоматизации подготовки. Этот конвейер может предоставить полный практический опыт для инструментирования и отслеживания новых создаваемых и развертываемых приложений.

Автоматизация подготовки с помощью Terraform

Чтобы настроить переменные среды в шаблоне Terraform, добавьте в него приведенный ниже код, заменив заполнители <…> собственными значениями. Дополнительные сведения см.на странице Manages an Active Azure Spring Apps Deployment (Управление развертыванием Active Azure Spring Apps).

environment_variables = {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Автоматизация подготовки с помощью файла Bicep

Чтобы настроить переменные среды в файле Bicep, добавьте следующий код в файл, заменив <заполнители ...> собственными значениями. Дополнительные сведения см. в разделе Microsoft.AppPlatform Spring/apps/deployments.

environmentVariables: {
  DT_TENANT: '<your-environment-ID>'
  DT_TENANTTOKEN: '<your-tenant-token>'
  DT_CONNECTION_POINT: '<your-communication-endpoint>'
  DT_CLUSTER_ID: '<your-cluster-ID>'
}

Автоматизация подготовки с помощью шаблона ARM

Чтобы настроить переменные среды в шаблоне ARM, добавьте в него приведенный ниже код, заменив заполнители <…> собственными значениями. Дополнительные сведения см. в разделе Microsoft.AppPlatform Spring/apps/deployments.

"environmentVariables": {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

Просмотр отчетов в Dynatrace

В этом разделе описано, как найти различные отчеты в Dynatrace.

Примечание.

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

После добавления переменных среды в приложение Dynatrace начинает сбор данных. Чтобы просмотреть отчеты, воспользуйтесь меню Dynatrace, перейдите Службы, а затем выберите свое приложение.

Поток службы находится в разделе <имя_приложения>/Сведения/Поток службы:

Снимок экрана: отчет потока службы Dynatrace.

Гиперобъекты метода находятся в разделе <имя_приложения>/Сведения/Гиперобъекты метода:

Снимок экрана: отчет о горячих точках доступа метода Dynatrace.

Инструкции базы данных находятся в разделе <имя_приложения>/Анализ времени/Сведения/Анализ времени отклика:

Снимок экрана: отчет по анализу времени отклика Dynatrace и разделу

Далее перейдите в раздел Многомерный анализ.

Основные инструкции базы данных можно найти в разделе Многомерный анализ/Основные инструкции базы данных:

Снимок экрана: отчет о инструкциях базы данных Dynatrace Top.

Обзор исключений можно найти в разделе Многомерный анализ/Обзор исключений:

Снимок экрана: обзор отчета об исключениях Dynatrace.

Далее перейдите в раздел Профилирование и оптимизация.

Анализ ЦП можно найти в разделе Профилирование и оптимизация/Анализ ЦП:

Снимок экрана: отчет об анализе ЦП Dynatrace.

Далее перейдите в раздел Базы данных.

Обратная трассировка можно найти в разделе Базы данных/Сведения/Обратная трассировка:

Снимок экрана: отчет Dynatrace Backtrace.

Просмотр журналов Dynatrace OneAgent

По умолчанию Azure Spring Apps выводит журналы уровня сведений в Dynatrace OneAgent STDOUT. Журналы смешиваются с журналами приложений. Явную версию агента можно найти в журналах приложений.

Кроме того, журналы агента Dynatrace можно получить из следующих мест:

  • журналы Azure Spring Apps;
  • Application Insights для Azure Spring Apps;
  • LogStream для Azure Spring Apps.

Вы можете применить некоторые переменные среды, предоставляемые Dynatrace для настройки ведения журналов для Dynatrace OneAgent. Например, DT_LOGLEVELCON определяет уровень ведения журнала. Значение DT_LOGLEVELCON по умолчанию — info. Журналы агента можно отключить, установив для этого значение DT_LOGLEVELCONoff. Если ведение журнала отключено, запросы на поддержку Dynatrace сначала позволяют ведения журнала диагностировать любые проблемы агента эффективно. Затем необходимо перезапустить приложение, которое необходимо для того, чтобы изменения вступили в силу. Для других уровней журналов обратитесь в службу поддержки Dynatrace.

Внимание

Настоятельно рекомендуется не переопределить поведение ведения журнала по умолчанию, предоставленное Azure Spring Apps для Dynatrace. Если это сделать, описанные ранее сценарии ведения журнала блокируются, а файлы журнала могут быть потеряны. Например, вы не должны выводить DT_LOGLEVELFILE переменную среды в приложения.

Обновление Dynatrace OneAgent

Автоматическое обновление Dynatrace OneAgent отключено и обновляется ежеквартально с помощью JDK. Обновление агента может повлиять на следующие сценарии:

  • Существующие приложения, использующие Dynatrace OneAgent, не изменяются, но требуют перезапуска или повторного развертывания для привлечения новой версии Dynatrace OneAgent.
  • Приложения, созданные после обновления, используют новую версию Dynatrace OneAgent.

Конфигурация исходящего трафика экземпляра внедрения виртуальной сети

Для экземпляра внедрения виртуальной сети Azure Spring Apps необходимо убедиться, что исходящий трафик для конечных точек связи Dynatrace настроен правильно для Dynatrace OneAgent. Сведения о получении communicationEndpoints см. в статье API развертывания — ПОЛУЧЕНИЕ информации о подключении для OneAgent. Дополнительные сведения см. в статье о обязанностях клиентов по запуску Azure Spring Apps в виртуальной сети.

Модель поддержки Dynatrace

Сведения об ограничениях при развертывании Dynatrace OneAgent в режиме "только приложения" см. в разделе Платформы облачных приложений статьи Платформа OneAgent и матрица поддержки возможностей.

Следующие шаги

Использование внутрипроцессного агента Java Application Insights в Azure Spring Apps