Возможности журналов Azure Monitor
Azure Monitor — это служба для сбора и анализа данных телеметрии. Это помогает обеспечить максимальную производительность и доступность облачных приложений и локальных ресурсов и приложений. Она показывает, как выполняются приложения, и указывает на любые проблемы с ними.
Сбор данных в Azure Monitor
Azure Monitor собирает два основных типа данных: метрики и журналы. Метрики сообщают, как выполняется ресурс и другие ресурсы, которые он потребляет. Журналы содержат записи о времени создания или изменения ресурсов.
На приведенной ниже схеме показано высокоуровневое представление Azure Monitor. Слева находятся источники мониторинга данных: Azure, операционные системы и пользовательские источники. В центре схемы находятся хранилища данных для метрик и журналов. Справа находятся операции, которые Azure Monitor выполняет с собранными данными (например, анализ, оповещение и потоковая передача во внешние системы).
Azure Monitor автоматически собирает данные из ряда компонентов. Например:
- Данные приложения: данные, относящиеся к пользовательскому коду приложения.
- Данные операционной системы: данные из виртуальных машин Windows или Linux, на которых размещено приложение.
- Данные ресурсов Azure: данные, связанные с операциями ресурса Azure, например веб-приложение или подсистема балансировки нагрузки.
- Данные подписки Azure: данные, связанные с подпиской, включая данные о работоспособности и доступности Azure.
- Данные клиента Azure: данные о службах уровня организации Azure, таких как идентификатор Microsoft Entra.
Так как Azure Monitor — это автоматическая система, она начинает собирать данные из этих источников сразу после создания ресурсов Azure, таких как виртуальные машины и веб-приложения. Вы можете расширить данные, собираемые Azure Monitor, одним из следующих способов:
- Включение диагностика. Для некоторых ресурсов, таких как База данных SQL Azure, вы получите полную информацию о ресурсе только после включения ведения журнала диагностики. Это можно сделать на портале Azure, с помощью Azure CLI или PowerShell.
- Добавление агента. Для виртуальных машин можно установить агент Log Analytics и настроить его для отправки данных в рабочую область Log Analytics. Этот агент увеличивает объем данных, отправляемых в Azure Monitor.
Разработчики также могут отправить данные в Azure Monitor из пользовательского кода, например веб-приложения, функции Azure или мобильного приложения. Для этого нужно вызвать API сборщика данных. Вы можете осуществлять взаимодействие с этим интерфейсом REST по протоколу HTTP. Этот интерфейс совместим с различными платформами разработки, такими как платформа .NET Framework, Node.js и Python. Разработчики могут выбрать предпочитаемый язык и платформу для записи данных в Azure Monitor.
Журналы
Журналы содержат сведения об изменениях ресурсов с меткой времени. Регистрируемые сведения зависят от источника журнала. Данные в журналах упорядочиваются по записям с разными наборами свойств для каждого типа записей. Журналы могут включать числовые значения, такие как метрики Azure Monitor, но большинство включают текстовые данные, а не числовые значения.
Самый распространенный тип записи журнала — это событие. События могут происходить нерегулярно, а не через определенные промежутки времени или по расписанию. Приложения и службы создают события и предоставляют контекст события. Данные метрик можно хранить в журналах, объединяя их с другими данными мониторинга для анализа.
Данные из Azure Monitor можно передавать в рабочую область Log Analytics. Azure предоставляет подсистему анализа и расширенный язык запросов. Журналы показывают контекст любых проблем, и они полезны для выявления первопричин.
Метрики
Метрики — это числовые значения, которые описывают конкретный аспект системы в определенный момент времени. Azure Monitor может регистрировать метрики почти в реальном времени. Метрики собираются через регулярные интервалы, и они полезны для оповещения из-за их частой выборки. С помощью различных алгоритмов можно сравнивать метрики друг с другом и отслеживать тенденции во времени.
Метрики хранятся в базе данных временных рядов. Такое хранилище данных наиболее эффективно для анализа данных с метками времени. Метрики полезны для создания оповещений и быстрого обнаружения проблем. По ним можно судить о производительности системы. При необходимости их также можно использовать вместе с журналами для определения первопричин неполадок.
Анализ журналов с помощью Kusto
Для извлечения, объединения и анализа данных вы можете указать запрос, который выполняется для журналов Azure Monitor. Вы можете писать запросы к журналам на языке запросов Kusto, который также использует Azure Data Explorer.
Вы можете тестировать запросы к журналам на портале Azure, что позволяет работать с ними в интерактивном режиме. Обычно начинают с основных запросов, а затем переходят к использованию более усовершенствованных функций, так как требования становятся более сложными.
На портале Azure можно создавать пользовательские панели мониторинга, предназначенные для отображения конкретных ресурсов и данных. Вы можете создать каждую панель мониторинга из набора плиток. Каждая плитка может отображать набор ресурсов, диаграмму, таблицу данных или некоторый пользовательский текст. Azure Monitor предоставляет плитки, которые можно добавить на панели мониторинга; Например, можно использовать плитку для отображения результатов запроса Kusto на панели мониторинга.
В нашем примере операционная группа может консолидировать данные мониторинга путем визуализации, например с помощью диаграмм и таблиц. Это эффективные средства для создания сводок данных и их представления различным аудиториям.
С помощью панелей мониторинга Azure можно объединить различные виды данных, включая журналы и метрики, в одну область в портал Azure. Например, может потребоваться создать панель мониторинга, которая объединяет плитки, отображающие граф метрик, таблицу журналов действий, диаграммы из Azure Monitor и выходные данные запроса журнала.