Гибридный мониторинг доступности и производительности

Центры событий Azure
Azure Log Analytics
Azure Monitor
Хранилище Azure
Виртуальные машины Azure

В этой эталонной архитектуре показано, как использовать Azure Monitor для мониторинга производительности и доступности рабочих нагрузок операционной системы (ОС), выполняемых на виртуальных машинах. Виртуальные машины могут находиться в Microsoft Azure, в локальных средах или в облаках, отличных от Azure.

Архитектура

Схема, демонстрирующая функции мониторинга и доступности Azure Monitor для рабочих нагрузок ОС в Azure, в локальных средах и с сторонними поставщиками облачных служб. Данные отправляются в рабочую область Log Analytics. Данные используются службами Application Insights, Analysis, Визуализация, Оповещения и Автомасштабирование в составе Azure Monitor

Скачайте файл Visio для этой архитектуры.

Рабочий процесс

  • Локальный главный офис — виртуальная машина 1. Этот компонент представляет собой веб-приложение с доступом к Интернету и общедоступной веб-страницей, а также установленными агентами Log Analytics и зависимостей. Сведения об агентах см. в обзоре агента Log Analytics и обзоре агентов Azure Monitor, агента зависимостей.
  • Локальный главный офис — виртуальная машина 2. Эта среда бизнес-логики не имеет доступа к Интернету. Однако в ней установлены агенты Log Analytics и зависимостей.
  • Локальный главный офис — виртуальная машина 3. Этот компонент является хранилищем данных без доступа к Интернету, но с установленными агентами Log Analytics и зависимостей.
  • Локальный главный офис — шлюз Log Analytics. Шлюз Log Analytics собирает данные журналов и метрик из трех локальных виртуальных машин и передает их в рабочую область Log Analytics по протоколу TCP через порт 443.
  • Локальный главный офис — брандмауэр. Трафик из локальной среды направляется через брандмауэр.
  • Шлюз. Шлюз обеспечивает подключение к филиалу.
  • Локальный филиал — виртуальная машина 4. Этот компонент — это бизнес-приложение, работающее без доступа к Интернету, но с установленными агентами Log Analytics и зависимостей. Агент Log Analytics, установленный на виртуальной машине, настроен для передачи данных непосредственно в рабочую область Log Analytics без необходимости в шлюзе Log Analytics.
  • Локальный филиал — шлюз. Этот шлюз подключает филиал к локальному главному офису через виртуальную частную сеть (VPN).
  • Сторонний поставщик облачных служб — виртуальная машина 5. Этот компонент — это веб-приложение с доступом к Интернету, общедоступной веб-страницей, а также установленными агентами Log Analytics и зависимостей.
  • Сторонний поставщик облачных служб — виртуальная машина 6. Этот компонент является средой хранилища данных без доступа к Интернету, но с установленными агентами Log Analytics и зависимостей. Нет прямого подключения из сторонних облачных сред к локальным средам.
  • Azure — VMSS. Это масштабируемый набор, созданный с помощью Azure Масштабируемые наборы виртуальных машин. Он запускает бизнес-приложение с установленными агентами log analytics и диагностическими агентами.
  • Azure — сервер приложений. На этом сервере установлена одна виртуальная машина с бизнес-приложением с установленными агентами Log Analytics и диагностическими агентами.
  • Метрики Azure Monitor. Данные, собранные метриками Azure Monitor, хранятся в базе данных временных рядов, оптимизированной для анализа меток времени. Она также хранит метрики, отправляемые из локальных виртуальных машин и виртуальных машин Azure.
  • Azure Monitor — рабочая область Log Analytics. Эта рабочая область хранит журналы, отправленные из локальных виртуальных машин, виртуальных машин Azure и виртуальных машин на сторонних поставщиках облачных служб. Рабочая область — это ресурс Azure, в котором данные агрегируются, и она служит административной границей для доступа к этим данным. Другие службы Azure Monitor затем подключаются к рабочей области Log Analytics и используют данные для различных целей. Дополнительные сведения см. в статье "Проектирование развертывания журналов Azure Monitor".
  • Azure Monitor — Insights — Application Insights. Application Insights предоставляет анализ приложений и аналитических сведений об их использовании. В этом примере архитектуры проверка связи доступности проверяет доступность локального веб-приложения. Правила генерации оповещений включены для предоставления уведомления о неудачном тесте. Дополнительные сведения см. в статье "Что такое Application Insights?" и мониторинг доступности любого веб-сайта.
  • Azure Monitor — аналитика — Azure Monitor для виртуальных машин. Azure Monitor для виртуальных машин отслеживает производительность и работоспособность виртуальных машин и масштабируемых наборов виртуальных машин. Мониторинг включает их выполняемые процессы и зависимости от других ресурсов. В этом сценарии Azure Monitor для виртуальных машин предоставляет аналитические сведения о виртуальных машинах. Дополнительные сведения см. в разделе "Что такое Azure Monitor для виртуальных машин?".
  • Azure Monitor — анализ. Данные журналов и метрик из виртуальных машин запрашиваются в метриках Azure Monitor и рабочей области Log Analytics с помощью язык запросов Kusto (KQL). Результаты предоставляют аналитические сведения о инфраструктуре, топологии и ресурсах. Дополнительные сведения см. в статье Kusto: Обзор и примеры запросов к журналам Azure Monitor.
  • Azure Monitor — визуализации. Azure Monitor использует средства визуализации для просмотра компонентов приложения и инфраструктуры и обмена данными между службами в Azure Monitor. Средства визуализации включают карту приложений в приложение Azure Insights, функцию карты Azure Monitor для виртуальных машин, книг Azure Monitor и различные представления панелей мониторинга, доступные в Azure Monitor. Дополнительные сведения см. в статье "Использование функции карты" Azure Monitor для виртуальных машин для понимания компонентов приложений, создания и совместного использования панелей мониторинга данных Log Analytics и книг Azure Monitor.
  • Azure Monitor — интеграции. Azure Monitor интегрируется с различными партнерскими и сторонними инструментами и расширениями. Эти средства и расширения повышают и опираются на существующие функциональные возможности Azure Monitor, такие как анализ и визуализации.
  • Azure Monitor — действия — оповещения. Варианты данных метрик и журналов могут указывать на возникновение событий. Правила определяют варианты данных, которые активируют оповещения, предоставляют уведомления и инициируют ответы на исправление. В этой архитектуре при активации оповещения модули Runbook службы автоматизации автоматически устраняют локальные виртуальные машины и виртуальные машины Azure. Также доступны действия веб-перехватчика, интеграция управления службами и другие типы действий. Дополнительные сведения см. в статье "Создание, просмотр и управление оповещениями метрик" с помощью Azure Monitor и создания, просмотра оповещений журналов и управления ими с помощью Azure Monitor.
  • Azure Monitor — действия — автомасштабирование. Автомасштабирование добавляет или удаляет экземпляры виртуальных машин в соответствии с deman, что обеспечивает производительность и повышает эффективность затрат. В этой архитектуре автомасштабирование имеет условия, определенные вокруг средней загрузки ЦП (в процентах). При выполнении условий автомасштабирование Azure Monitor настраивает масштабируемый набор в соответствии с требованиями. Дополнительные сведения см. в разделе Общие сведения об автомасштабировании в Microsoft Azure.

Компоненты

Она состоит из следующих компонентов:

Рекомендации

Ниже приведены рекомендации, которые применяются для большинства сценариев. Следуйте этим рекомендациям, если у вас нет определенного требования, которое переопределяет их.

Рабочая область Log Analytics

При разработке рабочей области Log Analytics следует учитывать следующие рекомендации.

  • Поместите рабочую область и ресурсы в том же регионе Azure, если задержка является важным фактором.
  • Начните с одной рабочей области Log Analytics и увеличьте количество рабочих областей по мере изменения требований.
  • Если у вас есть географически распределенные команды и ресурсы, может потребоваться одна рабочая область для каждого региона.
  • Рабочая область не должна находиться в той же подписке, что и запущенные ресурсы.

видны узлы

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

  • Укажите количество или числовое значение для таких событий, как использование ЦП, доступная память или логическое место на диске.
  • Низкая задержка.
  • Предложить большую степень детализации, например интервалы в секунду или в минуту.
  • Быстро уведомляйте вас о проблеме.

Чтобы собирать пользовательские показатели производительности или метрики для конкретного бизнеса, чтобы обеспечить более подробную аналитику, используйте пользовательские метрики. Дополнительные сведения см. в разделе "Пользовательские метрики" в Azure Monitor (предварительная версия).

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

Анализ и диагностика

Рассмотрим следующие рекомендации по анализу и диагностика:

  • Используйте журналы для более глубокого анализа. Журналы могут:

    • Укажите подробные сведения о событиях (по сравнению с метриками).
    • Происходит периодически.
    • Упростите более глубокую диагностика после начального флага метрик.
  • Настройка сбора данных журнала (аналогично метрик) с помощью API сборщика данных HTTP для отправки данных журнала в рабочую область Log Analytics. Дополнительные сведения см. в статье "Отправка данных журнала в Azure Monitor" с помощью API сборщика данных HTTP (общедоступная предварительная версия).

  • Проанализируйте приложения с помощью функции интеллектуального обнаружения Application Insights. Интеллектуальное обнаружение применяет возможности машинного обучения Azure и статистического анализа для обнаружения таких проблем, как аномалии производительности или сбоя, утечки памяти или общее снижение производительности приложения. Дополнительные сведения см. в разделе "Интеллектуальное обнаружение" в Application Insights.

  • Используйте Azure Monitor для виртуальных машин . Сопоставление подключений между серверами, процессами, задержкой входящего и исходящего подключения и портами в любой архитектуре, подключенной к TCP. Конфигурация не требуется, кроме установки агента. С помощью Azure Monitor для виртуальных машин — карта вы можете взаимодействовать и взаимодействовать с серверами в виде взаимосвязанных систем.

Запросы Log Analytics

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

Установка агента

Автоматическая установка агентов и в масштабе, а не по отдельности с помощью таких параметров автоматизации, как Политика Azure, Azure PowerShell, шаблоны Resource Manager или конфигурация требуемого состояния (DSC). Дополнительные сведения см. в статье "Включить Azure Monitor для виртуальных машин с помощью Политика Azure", "Включить Azure Monitor для виртуальных машин" с помощью Azure PowerShell и включить Azure Monitor для виртуальных машин для гибридной виртуальной машины — требуемая конфигурация состояния.

Панель мониторинга

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

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Надежность

Надежность гарантирует, что ваше приложение может выполнять обязательства, которые вы выполняете вашим клиентам. Дополнительные сведения см. в разделе "Обзор основы надежности".

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

  • Тесты доступности. Тест связи URL-адресов, используемый в этой архитектуре, является самым простым тестом доступности вне сети. Однако другие варианты доступны, например:
    • Многоэтапный веб-тест. Воспроизводит записи последовательно выполняемых веб-запросов для тестирования сложных сценариев. Многошаговые веб-тесты создаются в Microsoft Visual Studio Enterprise, а затем отправляются на портал для выполнения.
    • Пользовательские тесты доступности отслеживания. Используйте метод для отправки TrackAvailability() результатов теста в Application Insights.
  • Оповещения. При создании теста доступности в Application Insights уведомления об оповещениях о событиях включены по умолчанию. Правила генерации оповещений можно изменить, указав тип уведомления и сведения из оповещений Azure Monitor>.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

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

  • область Azure Log Analytics. Режимы доступа определяются как один из следующих контекстов:
    • Контекст рабочей области. Все журналы, доступ к которым имеет рабочая область, могут запрашиваться. Это вертикальный подход к доступу. Например, группе безопасности может потребоваться доступ ко всем данным ресурсов сверху вниз.
    • Контекст ресурса. Можно запрашивать только журналы для определенных ресурсов. Например, группе приложений можно предоставить доступ к журналам для конкретного ресурса, над которым они работают.
  • Защита данных при передаче в Log Analytics. Данные при передаче защищены с помощью минимального протокола TLS 1.2. Эту функцию не нужно включить явным образом. Дополнительные сведения см. в разделе "Безопасность данных Log Analytics".
  • Защита неактивных данных в Log Analytics. Данные неактивных данных в Log Analytics защищены по умолчанию в служба хранилища Azure с помощью 256-разрядного шифрования расширенного шифрования (AES).
  • Интеллектуальное обнаружение. Используйте интеллектуальное обнаружение в Application Insights для анализа телеметрии, созданной приложением, и для обнаружения проблем безопасности. Дополнительные сведения см. в пакете обнаружения безопасности приложений (предварительная версия).
  • Интеграция Azure Monitor с средствами управления сведениями о безопасности и событиями (SIEM). Перенаправьте данные мониторинга в концентратор событий с помощью Azure Monitor для интеграции внешних средств SIEM и мониторинга. Дополнительные сведения см. в статье Stream Azure monitoring data to an event hub or external partner.

Оптимизация затрат

Оптимизация затрат заключается в поиске способов уменьшения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".

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

  • Azure Monitor. Затраты Azure Monitor основаны на потреблении, часто называются оплатой по мере использования.
  • Анализ журналов. Вы оплачиваете прием данных и хранение данных. Вы можете оценить и прогнозировать количество виртуальных машин и объем данных (в гигабайтах), которые будут собираться с каждой виртуальной машины. Типичная виртуальная машина Azure потребляет от 1 гигабайта (ГБ) до 3 ГБ данных каждый месяц. Если вы оцениваете использование данных с помощью журналов Azure Monitor, используйте статистику данных из собственной среды и получите скидку на резервирование емкости.
  • Application Insights. Этот компонент оплачивается в соответствии с объемом данных телеметрии, отправляемых приложением, и количество выполняемых веб-тестов.
  • Запросы метрик. Запросы метрик выставляются по количеству выполненных вызовов.
  • Оповещения. Счета за оповещения выставляются на основе типа и количества отслеживаемых сигналов.
  • Уведомления. Счета за уведомления выставляются в соответствии с типом и числом отправляемых уведомлений.
  • Azure Monitor. В разделе "Использование и предполагаемые затраты" в Azure Monitor оценивается ежемесячные затраты на основе предыдущих 31 дней использования.
  • Дополнительные сведения см. в статье о ценах и калькуляторе цен Azure Monitor.

Эффективность работы

Оперативное превосходство охватывает процессы операций, которые развертывают приложение и продолжают работать в рабочей среде. Дополнительные сведения см. в разделе "Общие сведения о принципах эффективности работы".

Управляемость

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

DevOps

Ниже приведены рекомендации по интеграции среды с процессами и решениями DevOps.

  • Application Insights. Интеграция Application Insights с Azure Pipelines для повышения производительности и удобства использования. Application Insights может автоматически обнаруживать аномалии производительности. Он подключается к различным средствам разработки, таким как Azure DevOps Services и GitHub.
  • Инструментирование приложений. Инструментирование приложений путем изменения кода приложения для включения телеметрии с помощью Application Insights. Ниже приведены способы инструментирования приложений.
    • Во время выполнения. Инструментирование веб-приложения на сервере во время выполнения идеально подходит для приложений, развернутых уже, так как это позволяет избежать необходимости обновлять код. К подходящим сценариям относятся:
      • Приложения Microsoft ASP.NET или ASP.NET Core, размещенные в Azure веб-приложения
      • ASP.NET приложения, размещенные в Microsoft IIS (IIS) на виртуальной машине или масштабируемом наборе виртуальных машин
      • ASP.NET приложения, размещенные в IIS на локальной виртуальной машине
      • Функции Azure на основе Java
      • приложения Node.JS в Служба приложений Linux
      • Микрослужбы, размещенные в AKS
    • Во время разработки. Добавьте Application Insights в код для настройки сбора данных телеметрии и отправки дополнительных данных. Поддерживаются языки и платформы:
      • Приложения ASP.NET
      • Приложения ASP.NET Core
      • Консольные приложения .NET
      • Java
      • Node.js
      • Python
  • Используйте соединитель управления ИТ-службами (ITSMC) для подключения к внешним средствам управления ИТ-службами (ITSM). ITSMC подключает Azure к поддерживаемым продуктам и службам ITSM, где обычно находятся рабочие элементы, связанные с проблемой. Дополнительные сведения см. в статье "Подключение Azure к средствам ITSM" с помощью соединителя управления ИТ-службами.

Оптимизация производительности

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

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

  • Автоматизация установки и настройки ресурсов и приложений.
  • Крупномасштабные географически распределенные приложения. Используйте распределенную трассировку в Application Insights для отслеживания зависимостей и вызовов между несколькими компонентами приложения, внутренними ресурсами и средами микрослужб. С помощью распределенной трассировки можно отлаживать приложения, которые вызываются через границы процесса за пределами локального стека. (Вам не нужно включить Распределенная трассировка, она доступна автоматически в составе App Insights.)
    • Ниже приведены два варианта использования распределенных данных трассировки:
      • Интерфейс диагностика транзакций. Этот интерфейс аналогичен стеку вызовов с добавленным измерением времени. Интерфейс диагностика транзакции обеспечивает видимость одной транзакции или запроса. Оно помогает обнаружить первопричину проблем с надежностью и узких мест производительности для каждого запроса. Дополнительные сведения см. в разделе "Что такое распределенная трассировка"?
      • Интерфейс карты приложений. Это объединяет множество транзакций, чтобы продемонстрировать, как системы взаимодействуют топологино, а также обеспечивают среднюю производительность и частоту ошибок. Дополнительные сведения см. в статье "Карта приложений: триаж распределенных приложений".

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

Дополнительные сведения о технологиях компонентов:

Сведения о связанных архитектурах: