Сведения о том, как служба подготовки интегрируется с журналами Azure Monitor

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

Включение журналов подготовки

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

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

Access diagnostic settings

Enable application provisioning logs

Примечание.

Если рабочая область была подготовлена недавно, может потребоваться некоторое время, прежде чем можно будет отправить в нее журналы. Если появилось сообщение об ошибке, в котором указано, что подписка не зарегистрирована для использования microsoft.insights, повторите попытку через несколько минут.

Основные сведения о данных

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

Журналы Azure Monitor Пользовательский интерфейс портала Azure API Azure
errorDescription reason resultDescription
статус resultType resultType
activityDateTime TimeGenerated TimeGenerated

Книги Azure Monitor

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

Подготовка приложений поставляется с набором предварительно созданных книг. Их можно найти на странице "Книги". Чтобы просмотреть данные, убедитесь, что заполняются все фильтры (timeRange, jobID, appName). Кроме того, убедитесь, что приложение подготовлено, в противном случае в журналах нет данных.

Application provisioning workbooks

Application provisioning dashboard

Пользовательские запросы

Вы можете создавать пользовательские запросы и отображать данные на панелях мониторинга Azure. Узнайте, как создавать панели мониторинга данных Log Analytics и предоставлять к ним общий доступ. Кроме того, ознакомьтесь с обзором запросов журналов в Azure Monitor.

Ниже приведены некоторые примеры, которые помогут приступить к подготовке приложений.

Запрос журналов пользователя по его идентификатору в исходной системе:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"

Суммирование количества значений по коду ошибки:

AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature

Суммирование количества событий в день по действию:

AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)

Выбор 100 событий и ключевых свойств проекта:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100

Получение групп с пропущенными участниками из-за проблем, связанных с разрешением ссылок.

AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId,  JobId
| take 100

Суммирование действий по приложению.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5

Определение пиков в определенных операциях.

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart

Настраиваемые оповещения

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

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

Оповещение о всплеске сбоев. Замените значение jobID идентификатором jobID для своего приложения.

Alert when there's a spike in failures.

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

There may be an issue that caused the provisioning service to stop running.

Оповещение о всплеске отключений или удалений.

Alert when there's a spike in disables or deletes.

Вклад сообщества

К запросам и панелям мониторинга подготовки приложений мы используем подход на основе открытого кода и сообщества. Создайте запрос, оповещение или книгу, которые вы считаете полезными для других пользователей, а затем опубликуйте его в репозитории GitHub AzureMonitorCommunity. Стреляйте по электронной почте со ссылкой. Мы просматриваем и публикуем запросы и панели мониторинга в службе, чтобы другие также могли воспользоваться преимуществами. Свяжитесь с нами по адресу provisioningfeedback@microsoft.com.

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