Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматриваются следующие вопросы:
- Типы данных мониторинга, которые можно собирать для этой службы.
- Способы анализа данных.
Примечание.
Если вы уже знакомы с этой службой и (или) Azure Monitor и просто хотите знать, как анализировать данные мониторинга, см . раздел "Анализ " в конце этой статьи.
При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать и получать оповещения для системы. Служба Azure Monitor собирает и агрегирует метрики и журналы из каждого компонента системы. Azure Monitor предоставляет представление о доступности, производительности и устойчивости, а также уведомляет вас о проблемах. Вы можете использовать портал Azure, PowerShell, Azure CLI, REST API или клиентские библиотеки для настройки и просмотра данных мониторинга.
- Дополнительные сведения об Azure Monitor см. в обзоре Azure Monitor.
- Дополнительные сведения о том, как отслеживать ресурсы Azure в целом, см. в статье "Мониторинг ресурсов Azure" с помощью Azure Monitor.
Мониторинг службы приложений
Служба приложений Azure предоставляет несколько вариантов мониторинга ресурсов для обеспечения доступности, производительности и операций. К ним относятся параметры диагностики, Application Insights, поток журналов, метрики, квоты и оповещения, а также журналы действий.
На странице портала Azure вашего веб-приложения можно выбрать "Диагностика и решение проблем" в области навигации слева, чтобы получить доступ к полной диагностике службы приложений вашего приложения. Дополнительные сведения о средстве диагностики служб приложений см. в разделе Azure Обзор диагностики службы Azure App Service.
Служба приложений предоставляет встроенное ведение диагностики журналов для поддержки отладки приложений. Дополнительные сведения о встроенных журналах см. в журналах потоковой диагностики.
Вы также можете использовать проверку работоспособности Azure для мониторинга экземпляров Службы приложений. Дополнительные сведения см. в статье Мониторинг инстанций Службы приложений с помощью проверки работоспособности.
Если вы используете ASP.NET Core, ASP.NET, Java, Node.js или Python, рекомендуется включить наблюдаемость с помощью Application Insights. Дополнительные сведения о возможностях наблюдения, предлагаемых Application Insights, см. в обзоре Application Insights.
Сценарии мониторинга
В следующей таблице перечислены методы мониторинга, используемые для различных сценариев.
| Сценарий | Метод мониторинга |
|---|---|
| Я хочу отслеживать метрики и журналы платформы | Метрики платформы Azure Monitor |
| Я хочу отслеживать производительность и использование приложения | (Azure Monitor) Аналитика приложений |
| Я хочу отслеживать встроенные журналы для тестирования и разработки | Поток логов |
| Я хочу отслеживать ограничения ресурсов и настраивать оповещения | Квоты и оповещения |
| Я хочу отслеживать события ресурсов веб-приложения | Журналы действий |
| Я хочу визуально отслеживать метрики | Метрики |
Инсайты
Некоторые службы в Azure имеют встроенную панель мониторинга в портал Azure, которая предоставляет отправную точку для мониторинга службы. Эти панели мониторинга называются аналитикой, и их можно найти в Центре Insights Hub Azure Monitor на портале Azure.
Application Insights
Для поддерживаемых стеков службы приложений можно включить Application Insights на портале Azure, не изменив код. Используйте строку подключения для подключения приложения к ресурсу Application Insights. Дополнительные сведения см. в обзоре Application Insights и строках подключения в Application Insights.
Совет
Если вам нужна настраиваемая телеметрия, неподдерживаемые сценарии размещения или более контроль над конфигурацией, используйте инструментирование на основе кода для стека.
На портале Azure откройте приложение, выберите Application Insights>Включить, создайте или выберите ресурс, а затем выберите Применить параметры мониторинга. Служба приложений перезапускает приложение.
Поддержка и требования
Используйте поддерживаемые выпуски .NET с долгосрочной поддержкой (LTS). ASP.NET Core следует политике поддержки .NET. Оптимизация самодостаточных развертываний не поддерживается.
Собранные данные телеметрии
Выберите "Рекомендуется включить мониторинг" или " Отключить ", чтобы отключить его. Recommended собирает запросы, зависимости, исключения и ведет мониторинг браузера.
Настройка мониторинга
Служба приложений не предоставляет дополнительные параметры расширения для ASP.NET Core. Чтобы изменить выборку, обогащение или настраиваемую телеметрию, используйте инструментирование на основе кода. Дополнительные сведения см. в статье Enable OpenTelemetry with Application Insights for ASP.NET Core.
Мониторинг на стороне клиента
Мониторинг на стороне клиента включен по умолчанию в режиме Recommended. Чтобы отключить его, установите APPINSIGHTS_JAVASCRIPT_ENABLEDfalse значение в параметрах приложения службы приложений и перезапустите приложение.
Развертывание в масштабе
Для автоматизированных развертываний добавьте эти параметры приложения.
ApplicationInsightsAgent_EXTENSION_VERSION Выбирает строку расширения сайта, управляемого службой приложений: ~2 в Windows или ~3 Linux. Служба приложений обновляет расширение сайта автоматически и применяет обновления после перезапуска. С версией 2.8.9служба приложений использует предварительно установленное расширение сайта. В примере показан только раздел параметров приложения. Сохраните все другие параметры приложения, которые уже использует ваше приложение.
| Параметр приложения | Ценность | Обязательный | Использование |
|---|---|---|---|
APPLICATIONINSIGHTS_CONNECTION_STRING |
<connection string> |
Да | Подключает приложение к Application Insights. |
ApplicationInsightsAgent_EXTENSION_VERSION |
~2 в Windows или в ~3 Linux |
Да | Включает расширение сайта, управляемого службой приложений. |
XDT_MicrosoftApplicationInsights_Mode |
recommended или disabled |
Да | Задает режим сбора. |
XDT_MicrosoftApplicationInsights_PreemptSdk |
1 |
Да | Требуется для автоинструментации службы приложений core ASP.NET. |
В следующем примере используется Linux. Используйте ~2 в Windows.
Пример фрагмента шаблона
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "<connection string>"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~3"
},
{
"name": "XDT_MicrosoftApplicationInsights_Mode",
"value": "recommended"
},
{
"name": "XDT_MicrosoftApplicationInsights_PreemptSdk",
"value": "1"
}
]
}
Чтобы создать базовый шаблон, создайте веб-приложение с функцией Application Insights на портале Azure и скачайте шаблон автоматизации из раздела Просмотр + создание.
Сведения об устранении неполадок см. в нашей выделенной статье по устранению неполадок.
Типы ресурсов
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.
Метрики платформы Azure Monitor
Azure Monitor предоставляет метрики платформы для большинства служб. Эти метрики перечислены ниже.
- Определяется индивидуально для каждого пространства имен.
- Хранится в базе данных метрик временных рядов Azure Monitor.
- Легкий и способный поддерживать оповещения почти в режиме реального времени.
- Используется для отслеживания производительности ресурса с течением времени.
Коллекция: Azure Monitor автоматически собирает метрики платформы. Настройка не требуется.
Маршрутизация: Вы также можете направлять некоторые метрики платформы в Azure Monitor Logs или Log Analytics, чтобы запросить их с другими данными журнала. Проверьте параметр экспорта DS для каждой метрики, чтобы узнать, можно ли использовать параметр диагностики для маршрутизации метрик в журналы Azure Monitor или Log Analytics.
- Дополнительные сведения см. в параметре диагностика метрик.
- Сведения о настройке параметров диагностики для службы см. в статье "Создание параметров диагностики" в Azure Monitor.
Список всех метрик, которые можно собрать для всех ресурсов в Azure Monitor, см. в статье "Поддерживаемые метрики в Azure Monitor".
Список доступных метрик для службы приложений смотрите в справочнике по данным мониторинга службы приложений.
Сведения о метриках в службе приложений см. в разделе "Метрики". Просмотр метрик по агрегатным функциям (например, средним, максимальным или минимальным), экземплярам, временным интервалам и другим фильтрам. Метрики позволяют отслеживать производительность, память, ЦП и другие характеристики ресурса.
Журналы ресурсов Azure Monitor
Журналы ресурсов предоставляют аналитические сведения об операциях, выполненных ресурсом Azure. Журналы создаются автоматически, но их необходимо перенаправить в журналы Azure Monitor, чтобы сохранить или запросить их. Журналы организованы по категориям. Заданное пространство имен может содержать несколько категорий журналов ресурсов.
Сбор данных: Журналы ресурсов не собираются и не хранятся, пока вы не создадите настройку диагностики и не перенаправите журналы в одно или несколько расположений. Создавая параметр диагностики, нужно указать, какие категории журналов должны собираться. Существует несколько способов создания и обслуживания параметров диагностики, включая портал Azure, программно и через Политику Azure.
Маршрутизация: рекомендуется по умолчанию маршрутизировать журналы ресурсов в журналы Azure Monitor, чтобы иметь возможность выполнять запросы вместе с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения см. в журналах ресурсов Azure и назначениях журналов ресурсов.
Подробные сведения о сборе, хранении и маршрутизации журналов ресурсов см. в разделе "Параметры диагностики" в Azure Monitor.
Список всех доступных категорий журналов ресурсов в Azure Monitor см. в статье "Поддерживаемые журналы ресурсов" в Azure Monitor.
Все журналы ресурсов в Azure Monitor имеют одинаковые поля заголовков, а затем поля для конкретной службы. Общая схема показана в разделе Схема журнала ресурсов Azure Monitor.
Доступные категории журналов ресурсов, связанные таблицы Log Analytics и схемы службы приложений см. в справочнике по данным мониторинга службы приложений.
Совет
Журналы группируются в группы категорий. Группы категорий представляют собой коллекцию различных лог-файлов, которые могут помочь вам в достижении различных целей мониторинга.
Группа категорий аудита позволяет выбрать журналы ресурсов, необходимые для аудита ресурса. Дополнительные сведения см. в разделе "Параметры диагностики" в журналах ресурсов Azure Monitor.
Журнал действий Azure
Журнал действий содержит события уровня подписки, которые отслеживают операции для каждого ресурса Azure с точки зрения внешнего наблюдателя; например, создание нового ресурса или запуск виртуальной машины.
Коллекция: события журнала действий автоматически создаются и собираются в отдельном хранилище для просмотра в портале Azure.
Маршрутизация. Вы можете отправлять данные журнала действий в журналы Azure Monitor, чтобы их можно было анализировать вместе с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения о маршрутизации журнала действий см. в разделе "Обзор журнала действий Azure".
Журналы действий Azure для Службы приложений
Журналы действий Azure для службы приложений включают подробности, такие как:
- Какие операции были выполнены с ресурсами (например, с планами служб приложений)
- Кто запустил операцию.
- когда операция была выполнена;
- Состояние операции
- Значения свойств, которые помогут изучить операцию
Журналы действий Azure можно запрашивать с помощью портал Azure, PowerShell, REST API или CLI.
Отправка журналов действий в Сетку событий
Хотя журналы активности ориентированы на действия пользователей, существует новая интеграция с Azure Event Grid и App Service (предварительная версия), которая регистрирует как пользовательские действия, так и автоматизированные события. С помощью Сетки событий можно настроить обработчик для реагирования на эти события. Например, используйте Event Grid для мгновенного вызова бессерверной функции, чтобы запускать анализ изображений каждый раз, когда новая фотография добавляется в контейнер блоб-хранилища.
Кроме того, службу "Сетка событий Azure" можно использовать с Logic Apps для обработки данных в любой точке мира без необходимости писать код. Служба "Сетка событий Azure" связывает источники данных и обработчики событий.
Сведения о свойствах и схеме событий в Azure App Service см. в разделе Azure App Service в качестве источника системы Event Grid.
Поток логов (с использованием логов службы приложений)
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. API поддерживает выражения фильтров для уточнения полученных данных. Чтобы получить дополнительную информацию, смотрите справочник по REST API Azure Monitor.
Журналы: используйте REST API или связанные клиентские библиотеки.
Другим вариантом является экспорт данных рабочей области.
Чтобы начать работу с REST API для Azure Monitor, см. пошаговое руководство по REST API мониторинга Azure.
Запросы Kusto
Данные мониторинга можно анализировать в хранилище журналов Azure Monitor или Log Analytics с помощью языка запросов Kusto (KQL).
Внимание
При выборе Логи в меню службы на портале Log Analytics откроется с установленной областью запроса текущей службы. Эта область означает, что запросы журналов будут включать только данные из этого типа ресурса. Если вы хотите выполнить запрос, содержащий данные из других служб Azure, выберите журналы в меню Azure Monitor . Подробные сведения см. в статье Область запросов журнала и временной диапазон в Azure Monitor Log Analytics.
Список распространенных запросов для любой службы см. в интерфейсе запросов Log Analytics.
Следующий пример запроса может помочь в мониторинге журналов приложений с помощью AppServiceAppLogs:
AppServiceAppLogs
| project CustomLevel, _ResourceId
| summarize count() by CustomLevel, _ResourceId
Следующий пример запроса может помочь в мониторинге журналов HTTP с помощью AppServiceHTTPLogs, где HTTP response code имеет значение 500 или более высокое:
AppServiceHTTPLogs
//| where ResourceId = "MyResourceId" // Uncomment to get results for a specific resource Id when querying over a group of Apps
| where ScStatus >= 500
| reduce by strcat(CsMethod, ':\\', CsUriStem)
Следующий пример запроса может помочь в мониторинге ошибок HTTP 500 путем объединения AppServiceConsoleLogs и AppserviceHTTPLogs:
let myHttp = AppServiceHTTPLogs | where ScStatus == 500 | project TimeGen=substring(TimeGenerated, 0, 19), CsUriStem, ScStatus;
let myConsole = AppServiceConsoleLogs | project TimeGen=substring(TimeGenerated, 0, 19), ResultDescription;
myHttp | join myConsole on TimeGen | project TimeGen, CsUriStem, ScStatus, ResultDescription;
Дополнительные примеры запросов см. в статье Запросы Azure Monitor для Службы приложений.
Оповещения
Оповещения 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 может предложить дополнительные типы оповещений.
Квоты и оповещения
На приложения, размещенные в службе приложений, распространяются определенные ограничения на использование ресурсов. План службы приложений, связанный с приложением, определяет эти ограничения. Метрики для службы приложений или плана службы приложений можно привязать к оповещениям. Дополнительные сведения см. в разделе "Квоты".
правила оповещений Службы приложений
В таблице ниже приведены типичные и рекомендуемые правила генерации оповещений для Службы приложений.
| Тип оповещения | Состояние | Примеры |
|---|---|---|
| Метрика | Среднее число подключений | Если число подключений превышает заданное значение |
| Метрика | HTTP 404 | Когда число ответов HTTP 404 превышает заданное значение |
| Метрика | Ошибки HTTP-сервера | Когда число ответов HTTP 5xx превышает заданное значение |
| Журнал действий | Создание или обновление веб-приложения | При создании или обновлении приложения |
| Журнал действий | Удаление веб-приложения | При удалении приложения |
| Журнал действий | Перезапуск веб-приложения | При перезапуске приложения |
| Журнал действий | Остановка веб-приложения | При остановке приложения |
Рекомендации Помощника
Для некоторых служб, если критические условия или неизбежные изменения происходят во время операций ресурсов, на странице обзора службы на портале отображается оповещение. Дополнительные сведения и рекомендуемые исправления для оповещения см. в рекомендациях Помощника в разделе Мониторинг в меню слева. Во время обычных операций рекомендации помощника не отображаются.
Для получения дополнительных сведений о Azure Advisor см. обзор Azure Advisor.