Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматриваются следующие вопросы:
- Типы данных мониторинга, которые можно собирать для этой службы.
- Способы анализа данных.
Замечание
Если вы уже знакомы с этой службой и (или) Azure Monitor и просто хотите знать, как анализировать данные мониторинга, см. раздел "Анализ " в конце этой статьи.
При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать и получать оповещения для системы. Служба Azure Monitor собирает и агрегирует метрики и журналы из каждого компонента системы. Azure Monitor предоставляет представление о доступности, производительности и устойчивости, а также уведомляет вас о проблемах. Вы можете использовать портал Azure, PowerShell, Azure CLI, REST API или клиентские библиотеки для настройки и просмотра данных мониторинга.
- Дополнительные сведения об Azure Monitor см. в Обзоре Azure Monitor.
- Дополнительные сведения о том, как отслеживать ресурсы Azure в целом, см. в статье "Мониторинг ресурсов Azure" с помощью Azure Monitor.
Типы ресурсов
Azure использует концепцию типов ресурсов и идентификаторов для идентификации всего в подписке. Типы ресурсов также являются частью идентификаторов ресурсов для каждого ресурса, работающего в Azure. Например, для виртуальной машины используется Microsoft.Compute/virtualMachines
один тип ресурса. Список служб и связанных с ними типов ресурсов см. в разделе "Поставщики ресурсов".
Azure Monitor аналогично упорядочивает основные данные мониторинга в метрики и журналы на основе типов ресурсов, которые также называются пространствами имен. Различные метрики и журналы доступны для различных типов ресурсов. Служба может быть связана с несколькими типами ресурсов.
Дополнительные сведения о типах ресурсов для пакетной службы см. в справочнике по данным мониторинга пакетной службы.
Хранилище данных
Для Azure Monitor:
- Данные метрик хранятся в базе данных метрик Azure Monitor.
- Данные журнала хранятся в хранилище журналов Azure Monitor. Log Analytics — это инструмент в портале Azure, который может выполнять запросы к этому хранилищу.
- Журнал действий Azure — это отдельное хранилище с собственным интерфейсом на портале Azure.
При необходимости можно перенаправить данные журнала метрик и действий в хранилище журналов Azure Monitor. Затем с помощью Log Analytics можно запрашивать данные и сопоставлять их с другими данными журнала.
Многие службы могут использовать параметры диагностики для отправки данных метрик и журналов в другие расположения хранилища за пределами Azure Monitor. Примеры включают службу хранилища Azure, системы партнеров, размещенные в облаке и системы партнеров, не относящиеся к Azure, использующие Центры событий.
Подробные сведения о том, как Azure Monitor хранит данные, см. на платформе данных Azure Monitor.
Доступ к журналам диагностики в хранилище
Если архивировать диагностические журналы пакетных процессов в учетной записи хранения, в ней создается контейнер сразу после возникновения связанного события. Блобы создаются в соответствии со следующим шаблоном именования:
insights-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/
RESOURCEGROUPS/{resource group name}/PROVIDERS/MICROSOFT.BATCH/
BATCHACCOUNTS/{Batch account name}/y={four-digit numeric year}/
m={two-digit numeric month}/d={two-digit numeric day}/
h={two-digit 24-hour clock hour}/m=00/PT1H.json
Рассмотрим пример.
insights-metrics-pt1m/resourceId=/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/
RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.BATCH/
BATCHACCOUNTS/MYBATCHACCOUNT/y=2018/m=03/d=05/h=22/m=00/PT1H.json
Каждый PT1H.json BLOB-файл содержит события в формате JSON, которые произошли в течение часа, указанного в URL-адресе блока (например, h=12
). В течение текущего часа события добавляются в файлPT1H.json по мере их возникновения. Значение минуты (m=00
) всегда равно 00
, так как события журнала диагностики разбиваются на отдельные блобы по часам. Все значения времени указаны в формате UTC.
В следующем примере показана запись PoolResizeCompleteEvent
в файле журнала PT1H.json. Запись включает информацию о текущем и целевом количестве выделенных и низкоприоритетных узлов, а также о времени начала и окончания операции.
{ "Tenant": "65298bc2729a4c93b11c00ad7e660501", "time": "2019-08-22T20:59:13.5698778Z", "resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.BATCH/BATCHACCOUNTS/MYBATCHACCOUNT/", "category": "ServiceLog", "operationName": "PoolResizeCompleteEvent", "operationVersion": "2017-06-01", "properties": {"id":"MYPOOLID","nodeDeallocationOption":"Requeue","currentDedicatedNodes":10,"targetDedicatedNodes":100,"currentLowPriorityNodes":0,"targetLowPriorityNodes":0,"enableAutoScale":false,"isAutoPool":false,"startTime":"2019-08-22 20:50:59.522","endTime":"2019-08-22 20:59:12.489","resultCode":"Success","resultMessage":"The operation succeeded"}}
Чтобы получить доступ к журналам в учетной записи хранения программным способом, используйте API службы хранилища.
Метрики платформы Azure Monitor
Azure Monitor предоставляет метрики платформы для большинства служб. Эти метрики перечислены ниже.
- Определяется отдельно для каждого пространства имен.
- Хранится в базе данных метрик временных рядов Azure Monitor.
- Лёгкий и может поддерживать оповещения практически в режиме реального времени.
- Используется для отслеживания производительности ресурса с течением времени.
Коллекция: Azure Monitor автоматически собирает метрики платформы. Настройка не требуется.
Маршрутизация: Вы также можете направлять часть метрик платформы в журналы Azure Monitor или Log Analytics, чтобы выполнять запросы к ним вместе с другими данными журнала. Проверьте параметр экспорта DS для каждой метрики, чтобы узнать, можно ли использовать параметр диагностики для маршрутизации метрик в журналы Azure Monitor или Log Analytics.
- Дополнительные сведения см. в настройках диагностики метрик.
- Сведения о настройке параметров диагностики для службы см. в статье "Создание параметров диагностики" в Azure Monitor.
Список всех метрик, которые можно собрать для всех ресурсов в Azure Monitor, см. в статье "Поддерживаемые метрики в Azure Monitor".
Примеры метрик в учетной записи Batch: события создания пула, число узлов Low-Priority и события завершения задач. Эти метрики помогают определить тенденции и могут использоваться для анализа данных.
Замечание
Метрики, излученные за последние 3 минуты, могут все еще агрегироваться, поэтому значения могут быть недооцененными в этот период. Доставка метрик не гарантируется и может быть нарушена из-за непоследовательного порядка доставки, потери данных или дублирования.
Полный список доступных метрик для пакетной службы см. в справочнике по данным мониторинга пакетной службы.
Журналы ресурсов Azure Monitor
Журналы ресурсов предоставляют аналитические сведения об операциях, выполненных ресурсом Azure. Журналы создаются автоматически, но их необходимо перенаправить в журналы Azure Monitor, чтобы сохранить или запросить их. Логи организованы по категориям. Заданное пространство имен может содержать несколько категорий журналов ресурсов.
Сбор данных: Журналы ресурсов не собираются и не хранятся, пока вы не создадите диагностическую настройку и не перенаправите журналы в одно или несколько местоположений. Создавая параметр диагностики, нужно указать, какие категории журналов должны собираться. Существует несколько способов создания и поддержания параметров диагностики, включая портал Azure, программно и с помощью политики Azure.
Маршрутизация: рекомендуется по умолчанию маршрутизировать журналы ресурсов в Azure Monitor Logs, чтобы иметь возможность выполнять запросы к ним вместе с другими данными журналов. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения см. в журналах ресурсов Azure и местах назначения журналов ресурсов.
Подробные сведения о сборе, хранении и маршрутизации журналов ресурсов см. в разделе "Параметры диагностики" в Azure Monitor.
Список всех доступных категорий журналов ресурсов в Azure Monitor см. в статье "Поддерживаемые журналы ресурсов" в Azure Monitor.
Все журналы ресурсов в Azure Monitor имеют одинаковые поля заголовков, а затем поля для конкретной службы. Общая схема показана в разделе Схема журнала ресурсов Azure Monitor.
Доступные категории журналов ресурсов, связанные таблицы Log Analytics и схемы журналов для пакетной службы см. в справочнике по данным мониторинга пакетной службы.
Необходимо явно включить параметры диагностики для каждой учетной записи Batch, которую вы хотите отслеживать.
Для пакетной службы можно собрать следующие журналы:
- ServiceLog: события, создаваемые пакетной службой во время существования отдельного ресурса, например пула или задачи.
- AllMetrics: Метрики на уровне учетной записи пакетной обработки.
На следующем снимках экрана показан пример параметра диагностики, который отправляет allLogs и AllMetrics в рабочую область Log Analytics.
При создании пула пакетной службы Azure можно установить любое из следующих расширений мониторинга на вычислительных узлах для сбора и анализа данных:
- Агент Azure Monitor для Linux
- Агент Azure Monitor для Windows
- Расширение системы диагностики Azure для виртуальных машин Windows
- Расширение анализа журналов и мониторинга Azure Monitor для Linux
- Расширение анализа журналов и мониторинга Azure Monitor для Windows
Сравнение различных расширений и агентов и собираемых данных см. в разделе "Сравнение агентов".
Журнал действий Azure
Журнал действий включает события на уровне подписки, которые отслеживают операции для каждого ресурса Azure, как они видны из внешней среды; например, создание нового ресурса или активация виртуальной машины.
Сбор данных: события журнала действий автоматически создаются и собираются в отдельном хранилище для просмотра на портале Azure.
Маршрутизация. Вы можете отправлять данные журнала действий в журналы Azure Monitor, чтобы их можно было анализировать вместе с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения о маршрутизации журнала действий см. в разделе "Обзор журнала действий Azure".
В частности, для учетных записей пакетной службы журнал действий собирает события, связанные с созданием и удалением учетной записи и управлением ключами.
Анализ данных мониторинга
Существует множество средств для анализа данных мониторинга.
Средства Azure Monitor
Azure Monitor поддерживает следующие основные средства:
Обозреватель метрик — это средство в портале Azure, позволяющее просматривать и анализировать метрики для ресурсов Azure. Дополнительные сведения см. в разделе "Анализ метрик" с помощью обозревателя метрик Azure Monitor.
Log Analytics— средство на портале Azure, позволяющее запрашивать и анализировать данные журнала с помощью языка запросов Kusto (KQL). Дополнительные сведения см. в статье Начало работы с запросами журналов в Azure Monitor.
Журнал действий, имеющий пользовательский интерфейс в портале Azure для просмотра и выполнения базовых поисковых запросов. Для более подробного анализа необходимо направлять данные в журналы Azure Monitor и выполнять более сложные запросы в Log Analytics.
Средства, которые позволяют более сложной визуализации, включают:
- Панели мониторинга, позволяющие объединять различные виды данных в одну панель в портале Azure.
- Рабочие книги — это настраиваемые отчеты, которые можно создать в портале Azure. Рабочие книги могут включать текст, метрики и лог-запросы.
- Grafana — инструмент с открытой платформой, который превосходно подходит для операционных панелей мониторинга. С помощью Grafana можно создавать панели мониторинга, содержащие данные из нескольких источников, отличных от Azure Monitor.
- Power BI— служба бизнес-аналитики, которая предоставляет интерактивные визуализации в различных источниках данных. Вы можете настроить Power BI на автоматический импорт данных журналов из Azure Monitor, чтобы воспользоваться этими визуализациями.
При анализе метрик пакетной обработки, таких как количество выделенных ядер или число узлов Low-Priority, используйте агрегацию Avg. Для метрик, основанных на событиях, таких как события завершения изменения размера пула, используйте агрегирование Счет. Избегайте использования агрегирования сумм , которая добавляет значения всех точек данных, полученных за период диаграммы.
Инструменты экспорта Azure Monitor
Вы можете получить данные из Azure Monitor в другие средства с помощью следующих методов:
Метрики. Используйте REST API для метрик для извлечения данных метрик из базы данных метрик Azure Monitor. API поддерживает выражения фильтров для уточнения полученных данных. Дополнительные сведения см. в справочнике по REST API Azure Monitor.
Журналы: используйте REST API или соответствующие клиентские библиотеки.
Другим вариантом является экспорт данных рабочей области.
Чтобы начать работать с REST API для Azure Monitor, смотрите Пошаговое руководство по REST API для мониторинга Azure.
Запросы для Kusto
Данные мониторинга можно анализировать в хранилище журналов Azure Monitor или Log Analytics с помощью языка запросов Kusto (KQL).
Это важно
При выборе Logs в меню службы на портале открывается Log Analytics с областью запроса, установленной для текущей службы. Эта область означает, что запросы журналов будут включать только данные из этого типа ресурса. Если вы хотите выполнить запрос, содержащий данные из других служб Azure, выберите журналы в меню Azure Monitor . Для получения дополнительных сведений см. область запросов журнала и диапазон времени в Azure Monitor Log Analytics.
Список распространенных запросов для любой службы см. в интерфейсе запросов Log Analytics.
Примеры запросов
Ниже приведены несколько примеров запросов к журналу для пакета.
Размеры пула: перечисляет время изменения размеров по пулу и коду результата (успех или неудача).
AzureDiagnostics
| where OperationName=="PoolResizeCompleteEvent"
| summarize operationTimes=make_list(startTime_s) by poolName=id_s, resultCode=resultCode_s
Длительность задачи: предоставляет истекшее время выполнения задач в секундах от начала задачи до завершения задачи.
AzureDiagnostics
| where OperationName=="TaskCompleteEvent"
| extend taskId=id_s, ElapsedTime=datetime_diff('second', executionInfo_endTime_t, executionInfo_startTime_t) // For longer running tasks, consider changing 'second' to 'minute' or 'hour'
| summarize taskList=make_list(taskId) by ElapsedTime
Неудачные задачи на задачу: списки неудачных задач по основной задаче.
AzureDiagnostics
| where OperationName=="TaskFailEvent"
| summarize failedTaskList=make_list(id_s) by jobId=jobId_s, ResourceId
Уведомления
Оповещения Azure Monitor заранее уведомляют вас о конкретных условиях, обнаруженных в данных мониторинга. Оповещения позволяют выявлять и устранять проблемы в системе, прежде чем клиенты заметят их. Дополнительные сведения см. в оповещениях Azure Monitor.
Существует множество источников распространенных оповещений для ресурсов Azure. Примеры распространённых оповещений для ресурсов Azure см. в примерах запросов журнала оповещений. Сайт Azure Monitor Baseline Alerts (AMBA) предоставляет полуавтоматизированный метод реализации важных оповещений метрик платформы, панелей мониторинга и рекомендаций. Этот сайт относится к постоянно расширяющемуся подмножеству служб Azure, включая все службы, которые являются частью Azure Landing Zone (ALZ).
Общая схема оповещений стандартизирует обработку уведомлений системы Azure Monitor. Дополнительные сведения см. в разделе "Общая схема оповещений".
Типов оповещений
Вы можете настроить оповещения на любую метрику или источник данных в платформе Azure Monitor. Существует множество различных типов оповещений в зависимости от служб, которые вы отслеживаете, и данных мониторинга, которые вы собираете. Различные типы оповещений имеют различные преимущества и недостатки. Дополнительные сведения см. в разделе "Выбор правильного типа оповещений мониторинга".
В следующем списке описаны типы оповещений Azure Monitor, которые можно создать:
- Оповещения на основе метрик оценивают показатели ресурсов с регулярными интервалами. Метрики могут быть метриками платформы, пользовательскими метриками, журналами из Azure Monitor, преобразованными в метрики или метриками Application Insights. Оповещения на основе метрик также могут применять несколько условий и динамические пороговые значения.
- Оповещения журнала позволяют пользователям использовать запрос Log Analytics для оценки журналов ресурсов с заданной частотой.
- Оповещения журнала действий активируются при возникновении нового события журнала действий, соответствующего определенным условиям. Оповещения о состоянии ресурсов и оповещения о состоянии служб — это оповещения журнала действий, которые сообщают о состоянии ваших ресурсов и служб.
Некоторые службы Azure также поддерживают оповещения интеллектуального обнаружения, оповещения Prometheus или рекомендуемые правила генерации оповещений.
Для некоторых служб можно отслеживать масштаб, применяя одно правило генерации оповещений метрик к нескольким ресурсам одного типа, которые существуют в одном регионе Azure. Для каждого отслеживаемого ресурса отправляются отдельные уведомления. Сведения о поддерживаемых службах и облаках Azure см. в статье "Мониторинг нескольких ресурсов с помощью одного правила генерации оповещений".
Замечание
Если вы создаете или запускаете приложение, работающее в службе, аналитика приложений Azure Monitor может предложить дополнительные типы оповещений.
Пакетные правила оповещений
Так как доставка метрик может быть подвержена несоответствиям, таким как доставка вне заказа, потеря данных или дублирование, следует избегать оповещений, которые активируются в одной точке данных. Вместо этого используйте пороговые значения для учета этих несоответствий за период времени.
Например, может потребоваться настроить оповещение о метрике, когда количество ядер с низким приоритетом снижается до определенного уровня. Затем вы можете использовать это оповещение для настройки композиции пулов. Для получения наилучших результатов задайте период 10 или более минут, когда оповещение активируется, если среднее число ядер низкого приоритета меньше порогового значения в течение всего периода. Этот период времени позволяет агрегировать метрики, чтобы получить более точные результаты.
В следующей таблице перечислены некоторые триггеры правил оповещений для Batch. Эти правила генерации оповещений являются лишь примерами. Вы можете установить предупреждения для любой метрики, записи журнала или записи журнала действий, указанных в справочнике по данным мониторинга пакетной обработки.
Тип оповещения | Состояние | Описание |
---|---|---|
Единица измерения | Число неиспользуемых узлов | Если число неиспользуемых узлов больше 0 |
Единица измерения | События сбоя задачи | Каждый раз, когда общее число событий сбоя задачи превышает динамическое пороговое значение |
Рекомендации помощника
Для некоторых служб, если во время операций ресурсов происходят критические условия или неизбежные изменения, на странице Обзор службы в портале отображается оповещение. Вы можете найти дополнительную информацию и рекомендуемые исправления для оповещения в рекомендациях Консультанта в разделе Мониторинг в меню слева. Во время обычных операций рекомендации помощника не отображаются.
Дополнительные сведения о Azure Advisor см. в разделе обзор продукта Azure Advisor.
Другие параметры мониторинга пакетов
Batch Explorer — это бесплатное автономное клиентское средство для создания, отладки и мониторинга приложений пакетной службы Azure. С помощью Azure Batch Insights и Batch Explorer можно получить статистику системы для узлов Batch, таких как счетчики производительности виртуальных машин (VM).
В приложениях пакетной службы можно использовать библиотеку Batch .NET для отслеживания или запроса состояния ресурсов, включая задания, задачи, узлы и пулы. Рассмотрим пример.
- Мониторинг состояния задачи.
- Отслеживайте состояние узла.
- Отслеживайте состояние пула.
- Мониторинг использования пула в учетной записи.
- Подсчет узлов пула по состоянию.
API пакетной обработки можно использовать для создания запросов списков для заданий Batch, задач, вычислительных узлов и других ресурсов. Дополнительные сведения о том, как фильтровать запросы списка, см. в статье "Создание запросов для эффективного перечисления ресурсов пакетной службы".
Кроме того, вместо потенциально длительных запросов списка, возвращающих подробные сведения о больших коллекциях задач или узлов, можно использовать операции получения счетчиков задач и счетчиков узлов пула списков для получения счетчиков для задач пакетной службы и вычислительных узлов. Дополнительные сведения см. в разделе "Мониторинг пакетных решений" подсчитывая задачи и узлы по состоянию.
Выводы
Некоторые службы в Azure имеют встроенную панель мониторинга в портал Azure, которая предоставляет отправную точку для мониторинга службы. Эти панели мониторинга называются аналитическими сведениями, и вы можете найти их в Центре аналитики Azure Monitor на портале Azure.
Application Insights
Вы можете интегрировать Application Insights с приложениями пакетной службы Azure для инструментирования кода с пользовательскими метриками и трассировкой. Подробное пошаговое руководство по добавлению Application Insights в решение Пакетной службы .NET, инструментирование кода приложения, мониторинг приложения на портале Azure и создание пользовательских панелей мониторинга см. в статье "Мониторинг и отладка приложения Пакетной службы Azure" с помощью Application Insights и сопровождающего примера кода.
Связанный контент
- См. справочник по данным мониторинга Batch в качестве справки о метриках, журналах и других важных значениях, созданных для Batch.
- Общие сведения о мониторинге ресурсов Azure см. в статье "Мониторинг ресурсов Azure" с помощью Azure Monitor .
- Узнайте о пакетных API и инструментах, доступных для создания пакетных решений.