Отслеживание приложений Spring Boot в Dynatrace Java OneAgent
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к: ✔️ стандартное потребление и выделенная (предварительная версия) ✔️ 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
- Создайте экземпляр Azure Spring Apps.
- Создайте приложение, о котором необходимо сообщить в 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, выполните следующие действия.
В экземпляре Azure Spring Apps выберите "Приложения " в области навигации.
Выберите приложение из списка и выберите "Конфигурация " в области навигации.
Используйте вкладку переменных среды для добавления или обновления переменных , используемых приложением.
Автоматизация подготовки
С помощью шаблона 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 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_LOGLEVELCON
off
. Если ведение журнала отключено, запросы на поддержку 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