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


Мониторинг операций для акселератора целевой зоны Azure Spring Apps

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

Организация может обеспечить централизованный мониторинг, который совместно используется всеми рабочими нагрузками, или предоставить выделенные рабочие области Azure Monitor Log Analytics для каждой рабочей нагрузки. Если вы зависите от централизованных ресурсов, убедитесь, что члены группы приложений имеют доступ к журналам с их ролями управления доступом на основе ролей Azure (RBAC).

Сведения о структуре платформы см. в статье Управление рабочими нагрузками и мониторинг.

Вы можете подготовить собственные ресурсы мониторинга. Такой подход обеспечивает команде приложений большую автономию и упрощает общее управление приложением. Компромисс может заключаться в увеличении затрат на управление. Акселератор целевых зон Azure Spring Apps и следующие рекомендации основаны на этом подходе.

Рекомендации по проектированию

  • Журналы и метрики. Сбор журналов и метрик, создаваемых из приложения и ресурсов. Журналы предоставляют аналитические сведения об операциях рабочей нагрузки. Метрики собираются через регулярные интервалы и предоставляют аналитические сведения, близкие к реальному времени. Журналы и метрики могут помочь в исследованиях, связанных с работоспособностью и использованием ресурсов.

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

    Эти данные следует хранить для дальнейшего анализа. Поддерживайте возможность визуализации данных, чтобы вы могли быстро выявлять тенденции.

  • Инструментирование. Разместите инструментирование для создания дополнительных данных наблюдаемости из приложения. Для сбора сведений о инструментировании используйте средство управления производительностью приложений (APM), например агент Java приложение Azure Insights. Объедините диагностика платформы с этой информацией, чтобы предоставить расширенные возможности мониторинга.

  • Распределенная трассировка. Реализуйте распределенную трассировку, чтобы обеспечить наблюдаемость в разных службах в экосистеме Azure Spring Apps.

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

  • Пробы работоспособности. Вы можете настроить пробы работоспособности для обнаружения работоспособности внутренних служб. Проверьте, как настроены пробы работоспособности, чтобы запросы направлялися в работоспособные экземпляры, и убедитесь, что приложение корректно завершает работу, если внутренние службы недоступны.

Рекомендации по проектированию

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

    Для Azure Spring Apps просмотрите диаграммы на странице обзора каждого приложения и на странице с общими метриками.

  • Используйте страницу параметров диагностика в Azure Spring Apps, чтобы настроить требуемое сочетание параметров диагностики для приложений.

    Примечание

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

  • Используйте Application Insights в качестве согласованного средства мониторинга производительности приложений (APM) для всех компонентов приложения для сбора журналов приложений, метрик и трассировок. Он может собирать данные из всех зависимостей и трассировок и имеет возможность визуализировать сквозные транзакции.

    Azure Spring Apps позволяет собирать метрики Spring Cloud Resilience4J в Application Insights. Включите агент java In-Process и настройте коллекцию измерений, чтобы включить эту функцию.

    Azure Spring Apps интегрирует Spring Cloud Sleuth и Zipkin с Application Insights.

  • Выберите механизмы обнаружения служб, которые позволяют быстро обнаруживать и регистрировать экземпляры приложений. Параметры зависят от уровня Azure Spring Apps.

  • Используйте пробы готовности и активности вместе, чтобы неработоспособные экземпляры приложений были удалены из функций обнаружения служб.

  • Если у приложения больше времени запуска, измените общее время ожидания initialDelaySeconds + periodSeconds * failureThreshold на значение, превышающее время запуска приложения. Эта корректировка помогает избежать сбоя пробы и принудительно перезапускает приложение.

  • Настройте пробы работоспособности для выполнения действий на основе команды конкретного приложения, подключения tcp-сокета или HTTP-запроса.

  • Для приложений Spring Boot используйте индикатор работоспособности Spring Boot Actuator, чтобы настроить пробы работоспособности.

Дальнейшие действия

Акселератор целевых зон Azure Spring Apps