Развивайте операции с помощью наблюдаемости

Завершено
получить представление о системе, получить аналитические сведения и принять решения на основе данных.

Создайте культуру, которая постоянно улучшает качество, контролируя рабочую нагрузку и принимая во внимание все пилоны Azure Well-Architected Framework. Позволяет команде и заинтересованным лицам принимать краткосрочные и долгосрочные решения во многих аспектах, предоставляя необходимые данные, статистику и тенденции. Изучайте данные и внедряйте улучшения.

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

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

Пример сценария

Компания Contoso разработала приложение для внутреннего использования с именем Contoso Real Estate. Это веб-приложение позволяет новым или существующим сотрудникам, которые переезжают, искать и бронировать краткосрочное жилье для облегчения переезда. Отдел кадров Компании Contoso также использует приложение для помощи в перемещении.

Приложение находится в рабочей среде и полностью развертывается в Azure. Он основан на микрослужбах с помощью Azure Container Apps, а также использует Azure Functions, базу данных Azure для PostgreSQL, Azure Blob Storage и Azure Monitor.

Наблюдение за рабочей нагрузкой с помощью телеметрии

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

Определите приоритеты действий на основе уровня серьезности и понять контекст, учитывая его детализацию. Эта информация имеет решающее значение для устранения неполадок.

вызов Contoso

  • Пользователи сообщают, что после недавнего обновления приложения Contoso Real Estate они иногда видят пустую страницу или универсальное сообщение об ошибке на странице поиска веб-приложения. Ошибки кажутся случайными, и функции поиска обычно работают, если пользователи просто обновят страницу или повторно отправьте поиск.
  • При просмотре журналов микрослужбы поиска команда заметила увеличение числа ошибок из-за тайм-аутов при подключении к базе данных Azure для PostgreSQL. Однако в настоящий момент они не могут определить, связаны ли ошибки, фиксируемые в журналах микрослужбы поиска, с ошибками, которые пользователи видят на страницах.

Применение подхода и результатов

  • Команда разработчиков решила расширить информацию, которую они регистрируют как из веб-приложения, так и основных микрослужб, чтобы глубже разобраться в проблеме. Для сценария поиска они фиксируют условия поиска вместе с другими доступными атрибутами транзакций, такими как время, IP-адрес клиента и имя пользователя, связанное с поиском. Эти дополнительные данные должны дать им достаточно информации, чтобы иметь возможность сопоставлять транзакции между уровнями.
  • Это изменение позволило команде подтвердить, что время ожидания запроса базы данных, которые не обрабатывались должным образом в последнем обновлении приложения, были первопричиной сбоев, с которыми столкнулись пользователи. После нахождения первопричины команде было легко реализовать исправление.
  • Теперь команда разрабатывает новый подход с помощью OpenTelemetry для реализации более комплексного распределенного решения трассировки, охватывающего все уровни решений.

Визуализация данных мониторинга на панелях мониторинга

Агрегируйте и визуализируйте данные на информационных панелях, чтобы представить мониторинговые данные, адаптированные для аудитории и учитывающие бизнес-контекст. Используйте ситуационные панели мониторинга для поиска данных для обеспечения осведомленности среди заинтересованных лиц. Используйте интерактивные панели мониторинга и рабочие книги с возможностью раскрытия информации для действий операторов, таких как реагирование на инциденты. Часто обновляют панели мониторинга и предоставляют детализированные данные.

С помощью визуализаций можно анализировать тенденции, отслеживать бизнес-цели и управлять инцидентами.

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

вызов Contoso

  • Команда рабочей нагрузки объединяет данные телеметрии со всех уровней решений в одну рабочую область Log Analytics, доступ к которой можно получить командами операций и командами разработчиков и другими заинтересованными лицами проекта. Однако взаимодействие с данными сложно и сложно, что разочаровывает участников группы, которые должны различать фоновый шум от практических данных.

Применение подхода и результатов

  • Команда предпринимает усилия по агрегации и визуализации данных с помощью панелей мониторинга. Каждая панель мониторинга будет адаптирована для конкретной аудитории:
    • Панели мониторинга заинтересованных сторон решения будут более ориентированными на бизнес, представляя более высокий уровень общего состояния решения, а также бизнес-показатели, такие как количество обслуживаемых пользователей, поиск и резервирование.
    • Операционные дашборды и рабочие книги будут иметь более подробные и детализированные данные для операционной команды. Эти панели мониторинга будут иметь возможности детализации, которые позволяют пользователям просматривать данные на разных уровнях детализации. Пользователи смогут использовать эти панели мониторинга и книги для устранения неполадок и других задач реагирования на инциденты.
  • Панели мониторинга позволяют пользователям анализировать тенденции, отслеживать бизнес-цели и управлять инцидентами более эффективно. Данные, представленные на каждой панели мониторинга, будут более актуальными для своей целевой аудитории и будут зависеть от их интересов и потребностей.

Разработка надежной стратегии оповещения

Сделайте оповещения действенными, уведомляя ответственные роли со стандартными описаниями и уровнями серьезности. Предоставьте сведения, собранные из различных источников, и отслеживайте отклонения от бизнес-целей.

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

вызов Contoso

  • Azure Monitor используется для отправки оповещений в группу операций, когда что-то не так. Однако команда в настоящее время получает слишком много оповещений, которые являются неуместными, неясными или избыточными. Это приводит к переутомлению от оповещений, сказывается на производительности команды и приводит к тому, что некоторые важные оповещения остаются незамеченными.
  • Существуют также некоторые ситуации сбоев, которые могли бы быть предотвращены или минимизированы, если бы было отправлено оповещение в случае ожидания сбоя. Если команда лучше оповещала о ухудшении состояния до возникновения сбоев, эти ситуации могли быть избежать. Например, были случаи, когда задержки в процессе обработки запросов базы данных привели к сбоям. При устранении неполадок, команда замечает, что производительность обработки запросов снижается медленно с течением времени, ухудшаясь и хуже, пока она не приведет к полному сбою.

Применение подхода и результатов

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