Поделиться через


Мониторинг приложений Spring Boot с помощью агента New Relic для Java

Примечание.

Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье «Миграция стандартного потребления Azure Spring Apps и выделенного плана в Azure Container Apps».

Эта статья относится к:✅ стандартное потребление и выделенная предварительная версия ✅ Базовый/Стандартный ❎ Энтерпрайз

В этой статье показано, как осуществлять мониторинг приложения Spring Boot в Azure Spring Apps с помощью агента New Relic Java.

С помощью агента New Relic для Java можно:

  • Используйте агент New Relic для Java.
  • настроить агент New Relic для Java с помощью переменных среды;
  • изучить все данные мониторинга с панели мониторинга New Relic.

В приведенном ниже видео показано, как с помощью New Relic One активировать и отслеживать приложения Spring Boot, выполняющиеся в Azure Spring Apps.


Требования

  • Учетная запись New Relic.
  • Azure CLI версии 2.0.67 или более поздней.

Активация внутрипроцессного агента New Relic для Java

Для доступа к агенту используйте следующую процедуру:

  1. Создайте экземпляр Azure Spring Apps.

  2. Создание приложения.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --is-public true \
    
  3. Создайте развертывание с использованием агента New Relic и переменных среды.

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --artifact-path app.jar \
        --jvm-options="-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar" \
        --env NEW_RELIC_APP_NAME=appName \
              NEW_RELIC_LICENSE_KEY=newRelicLicenseKey
    

Azure Spring Apps предустанавливает агент New Relic Java по адресу /opt/agents/newrelic/java/newrelic-agent.jar. Клиенты могут активировать агент из параметров JVM приложений и настроить агент с помощью переменных среды агента New Relic Java.

Портал Azure

Этот агент также можно активировать из портал Azure с помощью следующей процедуры.

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

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

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

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

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

  4. Выберите переменные среды, чтобы добавить или обновить переменные , используемые приложением.

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

  5. Просмотрите страницу Сводка по API/шлюзу приложения на панели мониторинга New Relic.

    Снимок экрана: панель мониторинга New Relic с сводной страницей шлюза API.

  6. Просмотрите страницу приложения customers-service Сводка на панели мониторинга New Relic.

    Снимок экрана: панель мониторинга New Relic со страницей

  7. Просмотрите страницу Схема услуги на панели мониторинга New Relic.

    Снимок экрана: панель мониторинга New Relic с страницей

  8. Просмотрите страницу JVM приложения на информационной панели New Relic.

    Снимок экрана: панель мониторинга New Relic с страницей JVM.

  9. Просмотрите профиль приложения на панели мониторинга New Relic.

    Снимок экрана: панель мониторинга New Relic со страницей

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

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

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

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

resource "azurerm_spring_cloud_java_deployment" "example" {
  ...
  jvm_options = "-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar"
  ...
    environment_variables = {
      "NEW_RELIC_APP_NAME": "<app-name>",
      "NEW_RELIC_LICENSE_KEY": "<new-relic-license-key>"
  }
}

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

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

deploymentSettings: {
  environmentVariables: {
    NEW_RELIC_APP_NAME : '<app-name>',
    NEW_RELIC_LICENSE_KEY : '<new-relic-license-key>'
  },
  jvmOptions: '-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar',
  ...
}

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

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

"deploymentSettings": {
  "environmentVariables": {
    "NEW_RELIC_APP_NAME" : "<app-name>",
    "NEW_RELIC_LICENSE_KEY" : "<new-relic-license-key>"
  },
  "jvmOptions": "-javaagent:/opt/agents/newrelic/java/newrelic-agent.jar",
  ...
}

Переадресация журналов приложений в New Relic

Агент New Relic может собирать журналы приложений непосредственно из приложений и пересылать их в New Relic. Для получения дополнительной информации см. Направьте свои журналы в New Relic и журналы APM в контексте.

Просмотр журналов агента New Relic для Java

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

Вы также можете получить журналы агента New Relic из следующих мест:

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

Для настройки ведения журнала нового агента можно использовать некоторые переменные среды, предоставляемые New Relic, например NEW_RELIC_LOG_LEVEL , для управления уровнем журналов. Дополнительные сведения см. в разделе Настройка ведения журнала New Relic.

Примечание.

Не используйте finer или finest, если вас не попросила об этом служба поддержки New Relic. Эти уровни ведения журнала могут создавать чрезмерную нагрузку. Для большинства ситуаций используйте info.

Внимание

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

  • NEW_RELIC_LOG
  • NEW_RELIC_LOG_FILE_PATH

Обновление и улучшение агента New Relic для Java

Агенты New Relic для Java регулярно обновляют и модернизируют JDK. Обновление или модернизация агента может повлиять на следующие сценарии.

  • Существующие приложения, использующие агент New Relic Java до обновления/апгрейда, не изменяются.
  • Существующие приложения, использующие агент New Relic для Java перед обновлением, нужно перезагрузить или повторно развернуть, чтобы использовать новую версию агента New Relic для Java.
  • Новые приложения, созданные после обновления/апгрейда, используют новую версию агента New Relic Java.

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

Для экземпляра внедрения VNet в Azure Spring Apps необходимо убедиться, что исходящий трафик правильно настроен для Java-агента New Relic. Дополнительные сведения см. в разделе Сети New Relic.

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

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