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


Мониторинг Функций Azure

В этой статье рассматриваются следующие вопросы:

  • Типы данных мониторинга, которые можно собирать для этой службы.
  • Способы анализа данных.

Примечание.

Если вы уже знакомы с этой службой и (или) Azure Monitor и просто хотите знать, как анализировать данные мониторинга, см . раздел "Анализ " в конце этой статьи.

При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать и получать оповещения для системы. Служба Azure Monitor собирает и агрегирует метрики и журналы из каждого компонента системы. Azure Monitor предоставляет представление о доступности, производительности и устойчивости, а также уведомляет вас о проблемах. Вы можете использовать портал Azure, PowerShell, Azure CLI, REST API или клиентские библиотеки для настройки и просмотра данных мониторинга.

Аналитические выводы (Insights)

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

Application Insights

Функции Azure имеют встроенную интеграцию с Application Insights для мониторинга выполнения функций. Подробные сведения об интеграции, настройке и использовании Application Insights для мониторинга Функции Azure см. в следующих статьях:

Типы ресурсов

Azure использует концепцию типов ресурсов и идентификаторов для идентификации всего в подписке. Типы ресурсов также являются частью идентификаторов ресурсов для каждого ресурса, работающего в Azure. Например, для виртуальной машины используется Microsoft.Compute/virtualMachinesодин тип ресурса. Список служб и связанных с ними типов ресурсов см. в разделе "Поставщики ресурсов".

Azure Monitor аналогично упорядочивает основные данные мониторинга в метрики и журналы на основе типов ресурсов, которые также называются пространствами имен. Различные метрики и журналы доступны для различных типов ресурсов. Служба может быть связана с несколькими типами ресурсов.

Дополнительные сведения о типах ресурсов для Функции Azure см. в Функции Azure справочнике по данным мониторинга.

Хранилище данных

Для Azure Monitor:

  • Данные метрик хранятся в базе данных метрик Azure Monitor.
  • Данные журнала хранятся в хранилище журналов Azure Monitor. Log Analytics — это средство в портал Azure, которое может запрашивать это хранилище.
  • Журнал действий Azure — это отдельное хранилище с собственным интерфейсом в портал Azure.

При необходимости можно перенаправить данные журнала метрик и действий в хранилище журналов Azure Monitor. Затем с помощью Log Analytics можно запрашивать данные и сопоставлять их с другими данными журнала.

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

Подробные сведения о том, как Azure Monitor хранит данные, см. на платформе данных Azure Monitor.

Метрики платформы Azure Monitor

Azure Monitor предоставляет метрики платформы для большинства служб. Эти метрики перечислены ниже.

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

Коллекция: Azure Monitor автоматически собирает метрики платформы. Настройка не требуется.

Маршрутизация. Вы также можете направлять некоторые метрики платформы в журналы Azure Monitor или Log Analytics, чтобы запросить их с другими данными журнала. Проверьте параметр экспорта DS для каждой метрики, чтобы узнать, можно ли использовать параметр диагностики для маршрутизации метрик в журналы Azure Monitor или Log Analytics.

Список всех метрик, которые можно собрать для всех ресурсов в Azure Monitor, см. в статье "Поддерживаемые метрики в Azure Monitor".

Список доступных метрик для Функции Azure см. в Функции Azure справочнике по данным мониторинга.

Примечание.

Служба приложений метрики (Microsoft.Web/sites) недоступны, когда приложение-функция работает в LinuxПлан потребления.

Журналы ресурсов Azure Monitor

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

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

Маршрутизация: рекомендуемая по умолчанию — маршрутизация журналов ресурсов в журналы Azure Monitor, чтобы запросить их с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения см. в журналах ресурсов Azure и назначениях журналов ресурсов.

Подробные сведения о сборе, хранении и маршрутизации журналов ресурсов см. в разделе "Параметры диагностики" в Azure Monitor.

Список всех доступных категорий журналов ресурсов в Azure Monitor см. в статье "Поддерживаемые журналы ресурсов" в Azure Monitor.

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

Функции Azure интегрируется с журналами Azure Monitor для мониторинга функций. Подробные инструкции по настройке параметров диагностики для настройки журналов ресурсов и маршрутизации см. в статье "Создание параметров диагностики" в Azure Monitor.

Снимок экрана: добавление параметра диагностики для Функции Azure.

Доступные категории журналов ресурсов, связанные таблицы Log Analytics и схемы журналов для Функции Azure, см. в Функции Azure справочнике по данным мониторинга.

Журнал действий Azure

Журнал действий содержит события уровня подписки, отслеживающие операции для каждого ресурса Azure, как видно извне этого ресурса; например, создание нового ресурса или запуск виртуальной машины.

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

Маршрутизация. Вы можете отправлять данные журнала действий в журналы Azure Monitor, чтобы их можно было анализировать вместе с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения о маршрутизации журнала действий см. в разделе "Обзор журнала действий Azure".

Другие журналы

Функции Azure также предоставляет возможность собирать больше журналов ресурсов Azure Monitor. Чтобы просмотреть практически в реальном времени поток файлов журналов приложений, созданных функцией, работающей в Azure, можно подключиться к Application Insights и использовать Поток динамических метрик. Кроме того, можно использовать встроенную потоковую передачу журналов Служба приложений платформы для просмотра потока файлов журнала приложений. Дополнительные сведения см. в разделе "Включение журналов выполнения потоковой передачи" в Функции 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, чтобы воспользоваться этими визуализациями.

Средства экспорта Azure Monitor

Вы можете получить данные из Azure Monitor в другие средства с помощью следующих методов:

Сведения о начале работы с REST API для Azure Monitor см . в пошаговом руководстве по REST API мониторинга Azure.

Анализ метрик для Функции Azure

Функции предоставляют эти два динамических плана масштабирования, поддерживающие бессерверное размещение:

Обеспечивает быстрое горизонтальное масштабирование с гибкими параметрами вычислений, интеграцией виртуальной сети и полной поддержкой подключений с помощью проверки подлинности идентификатора Microsoft Entra. В этом плане экземпляры динамически масштабируются на основе настроенного параллелизма каждого экземпляра, входящих событий и рабочих нагрузок для каждой функции для оптимальной эффективности. Flex Consumption — это рекомендуемый план для бессерверного размещения. Дополнительные сведения можно найти в статье Размещение плана Flex Consumption для функций Azure.

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

Эти метрики Azure Monitor связаны с выставлением счетов за план потребления Flex:

Метрика Description Вычисление счётчика
Количество выполнения функции по запросу Общее количество выполнений функций в экземплярах по запросу. OnDemandFunctionExecutionCount относится к счетчику итогов выполнения по запросу .
Счетчик выполнения функции в режиме "Всегда готов" Общее количество выполнений функций в постоянно готовых экземплярах. AlwaysReadyFunctionExecutionCount относится к счетчику Всегда Готовых Итоговых Выполнений.
Единицы выполнения функции по запросу Общее количество мб-миллисекунд от экземпляров по запросу во время активного выполнения функций. OnDemandFunctionExecutionUnits / 1,024,000 — это счетчик времени выполнения по запросу, измеряемый в ГБ-секундах.
Единицы выполнения функции Always Ready Общее количество MB-миллисекунд из всегда готовых экземпляров в процессе активного выполнения функций. AlwaysReadyFunctionExecutionUnits / 1,024,000 — это счетчик времени выполнения Always Ready, измеряемый в гигабайт-секундах.
Всегда готовые подразделения Общее количество мегабайт-миллисекунд всегда готовых экземпляров, назначенных приложению, вне зависимости от того, выполняются ли функции. AlwaysReadyUnits / 1,024,000 — это счетчик базового уровня Always Ready, в гигабайт-секундах.

Дополнительные сведения см. в справочнике по данным мониторинга функций Azure.

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

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

  1. На портале Azure перейдите к приложению-функции.

  2. На левой панели прокрутите вниз до "Мониторинг " и выберите "Метрики".

  3. В списке метрик выберите "Число выполнения функции по запросу " и "Сумма " для агрегирования. Добавление этого параметра приводит к тому, что сумма счетчиков выполнения за выбранный период отображается на диаграмме.

  4. Выберите "Добавить метрики" и добавьте единицы выполнения функции по запросу, количество выполнений функции Always Ready, единицы выполнения функции Always Ready и единицы Always Ready на диаграмму.

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

Граф счетчиков выполнения функции по запросу и единиц выполнения функции по запросу.

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

На этой диаграмме показана общая сумма 3,54 млрд On Demand Function Execution Units , потребляемых в течение 16-минутного периода, измеряемого в миллисекундах МБ. Чтобы преобразовать в ГБ-секунды, разделите на 1024 000. В этом примере приложение-функция потребило 3,540,000,000 / 1,024,000 = 3,457.03 ГБ-с. Это значение можно использовать и умножить на текущую цену времени выполнения по требованию на странице цен на функции, что даст вам стоимость этих 16 минут, если вы уже использовали любые бесплатные льготы времени выполнения. Вы можете использовать это же вычисление с метрикой Always Ready Execution Units и стоимостью измерителя выставления счетов за время выполнения Always Ready, а также с метрикой Always Ready Units и стоимостью измерителя выставления счетов за базовое значение Always Ready, для определения затрат в гигабайт-секундах для всегда готовых экземпляров.

Чтобы рассчитать затраты на общее количество выполнений по требованию, возьмите сумму количества выполнений функции по требованию за тот же период времени, преобразуйте её в миллионы, а затем умножьте на цену за общее количество выполнений по требованию на странице цен на функции. Например, 2,100 выполнений в приведенном выше примере равняется 0.0021 миллиону выполнений. Вы можете использовать это же вычисление с метрикой счетчика выполнения функции Always Ready и счетчиком выставления счетов Always Ready Total Executions, чтобы узнать затраты на выполнение, обрабатываемые всегда готовым экземпляром.

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

Анализ журналов для Функции Azure

Функции Azure записывает все журналы в Таблица FunctionAppLogs в LogManagement в рабочей области Log Analytics, в которой отправляются данные. Запросы Kusto можно использовать для запроса данных.

Снимок экрана: окно запроса для Функции Azure в рабочей области Log Analytics.

Запросы Kusto

Данные мониторинга можно анализировать в хранилище журналов Azure Monitor или Log Analytics с помощью языка запросов Kusto (KQL).

Внимание

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

Список распространенных запросов для любой службы см. в интерфейсе запросов Log Analytics.

Следующие примеры запросов помогут отслеживать все журналы приложений функций:


FunctionAppLogs
| order by TimeGenerated desc

FunctionAppLogs
| project TimeGenerated, HostInstanceId, Message, _ResourceId
| order by TimeGenerated desc

Следующий пример запроса может помочь вам отслеживать журналы приложения с определенными функциями:

FunctionAppLogs
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

Следующий пример запроса поможет отслеживать исключения во всех журналах приложений функций:


FunctionAppLogs
| where ExceptionDetails != ""  
| order by TimeGenerated asc

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

FunctionAppLogs
| where ExceptionDetails != ""  
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

видны узлы

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

Существует множество источников распространенных оповещений для ресурсов Azure. Примеры распространенных оповещений для ресурсов Azure см. в примерах запросов оповещений журнала. Сайт базовых оповещений Azure Monitor (AMBA) предоставляет полуавтомативный метод реализации важных оповещений метрик платформы, панелей мониторинга и рекомендаций. Сайт применяется к постоянно расширяющемуся подмножество служб Azure, включая все службы, которые являются частью целевой зоны Azure (ALZ).

Общая схема оповещений стандартизирует потребление уведомлений об оповещениях Azure Monitor. Дополнительные сведения см. в разделе "Общая схема оповещений".

Типов оповещений

Вы можете получать оповещения о любых источниках данных метрик или журналов на платформе данных Azure Monitor. Существует множество различных типов оповещений в зависимости от служб, которые вы отслеживаете, и данных мониторинга, которые вы собираете. Различные типы оповещений имеют различные преимущества и недостатки. Дополнительные сведения см. в разделе "Выбор правильного типа оповещений мониторинга".

В следующем списке описаны типы оповещений Azure Monitor, которые можно создать:

  • Оповещения метрик оценивают метрики ресурсов через регулярные интервалы. Метрики могут быть метриками платформы, пользовательскими метриками, журналами из Azure Monitor, преобразованными в метрики или метриками Application Insights. Оповещения метрик также могут применять несколько условий и динамические пороговые значения.
  • Оповещения журнала позволяют пользователям использовать запрос Log Analytics для оценки журналов ресурсов на предопределенной частоте.
  • Оповещения журнала действий активируются при возникновении нового события журнала действий, соответствующего определенным условиям. Работоспособность ресурсов оповещения и оповещения о работоспособности служб — это оповещения журнала действий, которые сообщают о работоспособности службы и ресурсов.

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

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

Примечание.

Если вы создаете или запускаете приложение, работающее в службе, аналитика приложений Azure Monitor может предложить дополнительные типы оповещений.

правила генерации оповещений Функции Azure

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

Тип оповещения Условие Description
Метрика Среднее число подключений Если число подключений превышает заданное значение
Метрика HTTP 404 Когда число ответов HTTP 404 превышает заданное значение
Метрика Ошибки HTTP-сервера Когда число ответов HTTP 5xx превышает заданное значение
Журнал действий Создание или обновление приложения-функции При создании или обновлении приложения
Журнал действий Удаление приложения-функции При удалении приложения
Журнал действий Перезапуск приложения-функции При перезапуске приложения
Журнал действий Остановка приложения-функции При остановке приложения

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

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

Дополнительные сведения о Помощнике по Azure см. в обзоре Помощника по Azure.

Дополнительные сведения об отслеживании Функций Azure см. в следующих статьях: