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


Краткое руководство. Мониторинг приложений Azure Spring Apps с помощью журналов, метрик и трассировки

Примечание.

Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.

Эта статья относится к: ✔️ Basic/Standard ❌ Enterprise

Встроенные возможности мониторинга Azure Spring Apps позволяют легко выполнять отладку и мониторинг при возникновении сложных проблем. Azure Spring Apps интегрирует распределенную трассировку Steeltoe с Azure Application Insights. Эта интеграция предоставляет широкие возможности ведения журналов, анализа метрик и распределенной трассировки с помощью портала Azure.

В следующих процедурах объясняется, как использовать потоковую передачу журналов, анализ журналов, метрики и распределенную трассировку с примером приложения, развернутого в предыдущих руководствах.

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

Журналы

Просмотреть журналы в Azure Spring Apps можно одним из таких двух способов: с помощью функции Потоковая передача журналов в режиме реального времени для каждого экземпляра приложения или Log Analytics для агрегированных журналов с расширенными возможностями запросов.

Потоковая передача журналов

Выполните следующие действия для потоковой передачи журналов в портал Azure:

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

  2. Найдите целевое приложение и выберите контекстное меню.

  3. Во всплывающем контекстном меню выберите "Просмотреть поток журналов".

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

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

Снимок экрана: портал Azure, на котором показана страница потока журнала.

Для удобства существует множество точек входа для потоковых журналов. Их можно найти на следующих панелях:

  • Область списка приложений
  • Область списка развертывания
  • Область списка экземпляров приложения

Служба Log Analytics

  1. На портале Azure перейдите на страницу Служба | Общие сведения и выберите Журналы в разделе Мониторинг. Выберите Выполнить для одного из примеров запросов Azure Spring Apps.

    Снимок экрана: портал Azure, на котором показана панель журналов с открытой страницей

  2. Измените запрос, чтобы удалить предложения WHERE, которые ограничивают отображение предупреждений и журналов ошибок.

  3. Выберите Выполнить. Отображаются журналы. Дополнительные сведения см. в статье Начало работы с запросами журнала в Azure Monitor.

    Снимок экрана: портал Azure, на котором показан результат запроса Logs Analytics.

  4. Дополнительные сведения о языке запросов, который используется в Log Analytics, см. в статье Запросы журналов Azure Monitor. Чтобы запросить все журналы Log Analytics из централизованного клиента, ознакомьтесь со статьей Azure Data Explorer.

Метрики

  1. На портале Azure перейдите на страницу служба | Общие сведения и выберите Метрики в разделе Мониторинг. Добавьте первую метрику, выбрав одну из метрик .NET в разделе "Производительность" (.NET) или "Запрос" (.NET) в раскрывающемся списке "Метрика" и "Среднее значение для агрегирования", чтобы просмотреть временную шкалу для этой метрики.

    Снимок экрана: портал Azure, на котором показана страница метрик с доступными фильтрами.

  2. На панели инструментов нажмите Добавить фильтр и выберите App=solar-system-weather, чтобы увидеть загрузку ЦП только для приложения solar-system-weather.

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

  3. Закройте фильтр, созданный на предыдущем шаге, выберите "Применить разделение" и выберите "Приложение для значений ", чтобы просмотреть использование ЦП различными приложениями.

    Снимок экрана: портал Azure, на котором показана страница метрик с выделенными параметрами разделения значений, ограничения и сортировки.

Распределенная трассировка

  1. На портале Azure перейдите на страницу служба | Общие сведения и выберите Distributed tracing (Распределенная трассировка) в разделе Мониторинг. Затем перейдите на вкладку View application map (Просмотр схемы приложения) справа.

    Снимок экрана: портал Azure, на котором показана страница распределенной трассировки.

  2. Теперь вы можете видеть состояние вызовов между приложениями.

    Снимок экрана: портал Azure, на котором показана страница карты приложения.

  3. Выберите ссылку между солнечной системой-погодой и планетой-погодным поставщиком , чтобы просмотреть дополнительные сведения, такие как самые медленные вызовы методами HTTP.

    Снимок экрана: портал Azure, в котором показаны сведения о карте приложения.

  4. Наконец, выберите Анализ работы, чтобы воспользоваться расширенными возможностями встроенных средств анализа производительности.

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

Встроенные возможности мониторинга Azure Spring Apps позволяют легко выполнять отладку и мониторинг при возникновении сложных проблем. Azure Spring Apps интегрирует Spring Cloud Sleuth с Azure Application Insights. Эта интеграция предоставляет широкие возможности ведения журналов, анализа метрик и распределенной трассировки с помощью портала Azure. В следующих процедурах объясняется, как использовать потоковую передачу журналов, анализ журналов, метрики и распределенную трассировку с развернутыми приложениями PetClinic.

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

Журналы

Просмотреть журналы в Azure Spring Apps можно одним из таких двух способов: с помощью функции Потоковая передача журналов в режиме реального времени для каждого экземпляра приложения или Log Analytics для агрегированных журналов с расширенными возможностями запросов.

Потоковая передача журналов

Выполните следующие действия для потоковой передачи журналов в портал Azure:

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

  2. Найдите целевое приложение и выберите контекстное меню.

  3. Во всплывающем контекстном меню выберите "Просмотреть поток журналов".

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

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

Снимок экрана: портал Azure, на котором показана страница потока журнала.

Для удобства существует множество точек входа для потоковых журналов. Их можно найти на следующих панелях:

  • Область списка приложений
  • Область списка развертывания
  • Область списка экземпляров приложения

Служба Log Analytics

  1. Перейдите на страницу служба | Общие сведения и выберите Журналы в разделе Мониторинг. Выберите Выполнить для одного из примеров запросов Azure Spring Apps.

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

  2. Затем отображаются отфильтрованные журналы. Дополнительные сведения см. в статье Начало работы с запросами журнала в Azure Monitor.

    Снимок экрана: портал Azure, в котором показан результат запроса отфильтрованных журналов.

Метрики

Перейдите на страницу Application Insights и перейдите на страницу метрик . Вы можете просмотреть метрики, внесенные приложениями Spring Boot, модулями Spring и зависимостями.

На следующей диаграмме показаны gateway_requests (Spring Cloud Gateway), hikaricp_connections (подключения JDBC) и http_client_requests.

Снимок экрана: портал Azure, на котором показана страница метрик Application Insights с графом выбранных значений.

Spring Boot регистрирует несколько основных метрик, включая JVM, ЦП, Tomcat и Logback. Автоматическая настройка Spring Boot позволяет инструментирование запросов, обрабатываемых Spring MVC. Все три контроллера REST (OwnerResource, PetResourceи VisitResource) инструментируются @Timed заметкой Micrometer на уровне класса.

Приложение customers-service включает следующие пользовательские метрики:

  • @Timed: petclinic.owner
  • @Timed: petclinic.pet

Приложение visits-service включает следующие пользовательские метрики:

  • @Timed: petclinic.visit

Эти настраиваемые метрики можно увидеть на странице метрик :

Снимок экрана: портал Azure, на котором показана страница метрик Application Insights с пользовательскими метриками.

Вы можете использовать функцию тестирования доступности в Application Insights и отслеживать доступность приложений:

Снимок экрана: портал Azure, на котором показана страница доступности Application Insights с выделенным разделом

Перейдите на страницу динамических метрик, чтобы просмотреть динамические метрики с низкой задержкой (менее одной секунды):

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

Трассировка

Откройте Application Insights, созданный с помощью Azure Spring Apps, и запустите мониторинг приложений Spring.

Перейдите на страницу карты приложений:

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

Перейдите на страницу производительности :

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

Перейдите на вкладку Зависимостей , где можно увидеть номер производительности для зависимостей, в частности вызовы SQL:

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

Выберите вызов SQL, чтобы просмотреть сквозную транзакцию в контексте:

Снимок экрана: портал Azure, на котором показана страница сведений о сквозной транзакции.

Перейдите на страницу "Сбои" и вкладку "Исключения", где можно просмотреть коллекцию исключений:

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

Выберите исключение, чтобы просмотреть сквозную транзакцию и стекtrace в контексте:

Снимок экрана: портал Azure, на котором показана страница сведений о сквозной транзакции с подробными сведениями об исключениях и стеке вызовов.

Очистка ресурсов

Если вы планируете продолжить работу с последующими краткими руководствами и статьями, эти ресурсы можно не удалять. Удалите ненужную группу ресурсов. Ресурсы в ней будут также удалены. Чтобы удалить группу ресурсов с помощью Azure CLI, используйте следующие команды:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

В предыдущем кратком руководстве также показано, как задать имя группы ресурсов по умолчанию. Если вы не планируете перейти к следующему краткому руководству, очистите это значение по умолчанию, выполнив такую команду CLI:

az config set defaults.group=

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

Дополнительные сведения о возможностях мониторинга в Azure Spring Apps см. в следующих статьях: