Пересылка журналов диагностики служба автоматизации Azure в Azure Monitor
Служба автоматизации Azure может отправлять состояние задания runbook и потоки заданий в рабочую область Log Analytics. Этот процесс не включает связывание рабочих областей и является полностью независимым и позволяет выполнять простые исследования. Журналы заданий и потоки заданий отображаются в портал Azure или PowerShell для отдельных заданий. С помощью журналов Azure Monitor для учетной записи службы автоматизации можно:
- Получите аналитические сведения о состоянии заданий службы автоматизации.
- активировать отправку электронного сообщения или оповещения в соответствии с состоянием задания runbook (например, сбой или приостановка);
- создавать сложные запросы для потоков заданий;
- коррелировать задания и учетные записи службы автоматизации;
- Используйте настраиваемые представления и поисковые запросы, чтобы визуализировать результаты runbook, состояние задания Runbook и другие связанные ключевые индикаторы или метрики с помощью панели мониторинга Azure.
- Получение журналов аудита, связанных с учетными записями службы автоматизации, модулями Runbook и другими операциями создания, изменения и удаления ресурсов.
С помощью журналов Azure Monitor можно консолидировать журналы из разных ресурсов в одной рабочей области, где их можно анализировать с помощью запросов для быстрого извлечения, консолидации и анализа собранных данных. Вы можете создавать и тестировать запросы с помощью Log Analytics в портал Azure, а затем напрямую анализировать данные с помощью этих средств или сохранять запросы для использования с правилами визуализации или оповещений.
Azure Monitor использует версию языка запросов Kusto (KQL), используемого Azure Data Explorer, которая подходит для простых запросов журналов. Она также включает расширенные функциональные возможности, такие как агрегаты, соединения и смарт-аналитика. Доступно множество уроков для быстрого изучения этого языка.
параметры диагностики служба автоматизации Azure
Вы можете пересылать следующие журналы платформы и данные метрик с помощью параметров диагностики службы автоматизации:
Типы данных | Description |
---|---|
Журналы заданий | Состояние задания Runbook в учетной записи службы автоматизации. |
Потоки заданий | Состояние потоков заданий в runbook, определенных в учетной записи службы автоматизации. |
DSCNodeStatus | Состояние узла DSC. |
События аудита | Все журналы ресурсов, которые записывают взаимодействие клиента с данными или параметрами службы служба автоматизации Azure. |
Метрики | Общее количество заданий, общее обновление, запуски компьютера развертывания развертывания, общее количество запусков развертывания обновлений. |
Настройка параметров диагностики в портал Azure
Параметры диагностики можно настроить в портал Azure из меню ресурса учетной записи службы автоматизации.
В меню учетной записи службы автоматизации в разделе "Мониторинг " выберите параметры диагностики.
Щелкните Добавить параметр диагностики.
Введите имя параметра в имени параметра диагностики, если он еще не имеет его.
Вы также можете просмотреть все категории журналов и метрик.
Журналы и метрики для маршрутизации : для журналов выберите группу категорий или установите отдельные флажки для каждой категории данных, которые нужно отправить в указанные назначения. Выберите AllMetrics , если вы хотите хранить метрики в журналах Azure Monitor.
Сведения о назначении: установите флажок для каждого назначения. Согласно выбору каждого поля, отображаются параметры, позволяющие добавлять дополнительные сведения.
Log Analytics : введите идентификатор подписки и имя рабочей области. Если у вас нет рабочей области, необходимо создать ее перед продолжением.
Центры событий. Укажите следующие критерии:
- Подписка: та же подписка, что и концентратор событий.
- Пространство имен Концентратора событий: создайте концентратор событий, если у вас еще нет.
- Имя концентратора событий (необязательно): если имя не указано, для каждой категории журналов создается концентратор событий. Если вы отправляете несколько категорий, укажите имя, чтобы ограничить количество созданных Центров событий. Дополнительные сведения см. в статье Квоты и ограничения Центров событий Azure.
- Политика концентратора событий (необязательно): политика определяет разрешения, которые имеет механизм потоковой передачи. См . функцию Центров событий.
Хранилище. Выберите подписку, учетную запись хранения и политику хранения.
Интеграция партнеров. Сначала необходимо установить интеграцию партнера в подписку. Доступные параметры зависят от партнера. Дополнительные сведения см. в статье об интеграции Azure Monitor.
Нажмите кнопку Сохранить.
Через несколько секунд появится новый параметр в списке параметров для данного ресурса, и сразу же после создания данных о событии журналы будут передаваться по указанным назначениям. Между событием и его внешним видом в рабочей области Log Analytics может быть 15 минут.
Выполнение запросов к журналам
Чтобы запросить созданные журналы, выполните описанные ниже действия.
В учетной записи службы автоматизации в разделе "Мониторинг" выберите "Журналы".
В разделе "Все запросы" выберите "Задания автоматизации".
Выберите один из запросов, которые вы хотите выполнить, и нажмите кнопку "Выполнить".
Чтобы выполнить настраиваемый запрос, закройте окно "Запросы " и вставьте настраиваемый запрос в новое окно запроса и нажмите кнопку "Выполнить".
Выходные данные запроса отображаются в области результатов .
Щелкните Новое правило генерации оповещений, чтобы настроить оповещение Azure Monitor для этого запроса.
Записи журнала Azure Monitor
служба автоматизации Azure диагностика создать следующие типы записей в журналах Azure Monitor, помеченные как AzureDiagnostics
. Таблицы в следующих разделах — это примеры записей, которые служба автоматизации Azure создаются и типы данных, которые отображаются в результатах поиска по журналам.
Журналы заданий
Свойство | Description |
---|---|
TimeGenerated | Дата и время выполнения задания Runbook. |
RunbookName_s | Имя и имена модуля Runbook. |
Caller_s | Вызывающий объект, инициирующий операцию. Допустимые значения: электронный адрес или system для запланированных заданий. |
Tenant_g | GUID (глобальный уникальный идентификатор), определяющий клиент для вызывающего объекта. |
JobId_g | GUID, идентифицирующий задание runbook. |
ResultType | Состояние задания Runbook. Возможны следующие значения: - Создать - Создано Started - Остановлена Приостановлено Сбой Завершено |
Категория | Классификация типа данных. Для службы автоматизации значением является JobLogs. |
OperationName | Тип операции, выполняемой в Azure. Для службы автоматизации значением является Job. |
Ресурс | Имя учетной записи службы автоматизации |
SourceSystem | Система, которую используют журналы Azure Monitor для сбора данных. Для системы диагностики Azure здесь всегда указано значение "Azure". |
ResultDescription | Состояние результата задания Runbook. Возможны следующие значения: — Job is started; — Job Failed; - Job Completed. |
CorrelationId | GUID корреляции задания Runbook. |
ResourceId | служба автоматизации Azure идентификатор ресурса учетной записи модуля Runbook. |
SubscriptionId | GUID подписки Azure для учетной записи службы автоматизации. |
ResourceGroup | Имя группы ресурсов для учетной записи службы автоматизации. |
ResourceProvider | Имя поставщика ресурсов. Имеет значение MICROSOFT.AUTOMATION. |
ResourceType | Тип ресурса. Имеет значение AUTOMATIONACCOUNTS. |
Потоки заданий
Свойство | Description |
---|---|
TimeGenerated | Дата и время выполнения задания Runbook. |
RunbookName_s | Имя модуля Runbook. |
Caller_s | Вызывающий объект, инициирующий операцию. Допустимые значения: электронный адрес или system для запланированных заданий. |
StreamType_s | Тип потока заданий. Возможны следующие значения: ход выполнения Выходные данные - Предупреждение error debug - Verbose. |
Tenant_g | GUID, идентифицирующий клиента для вызывающего объекта. |
JobId_g | GUID, идентифицирующий задание runbook. |
ResultType | Состояние задания Runbook. Возможны следующие значения: - In Progress |
Категория | Классификация типа данных. Для службы автоматизации значением является JobStreams. |
OperationName | Тип операции, выполняемой в Azure. Для службы автоматизации значением является Job. |
Ресурс | Имя учетной записи службы автоматизации. |
SourceSystem | Система, которую используют журналы Azure Monitor для сбора данных. Для системы диагностики Azure здесь всегда указано значение "Azure". |
ResultDescription | Описание, в котором указан выходной поток этого runbook. |
CorrelationId | GUID корреляции задания Runbook. |
ResourceId | служба автоматизации Azure идентификатор ресурса учетной записи модуля Runbook. |
SubscriptionId | GUID подписки Azure для учетной записи службы автоматизации. |
ResourceGroup | Имя группы ресурсов для учетной записи службы автоматизации. |
ResourceProvider | Поставщик ресурсов. Имеет значение MICROSOFT.AUTOMATION. |
ResourceType | Тип ресурса. Имеет значение AUTOMATIONACCOUNTS. |
Примечание.
Убедитесь, что учетные данные не отправляются в потоки заданий. Служба удаляет учетные данные перед отображением потоков заданий в журналах диагностики.
События аудита
Свойство | Description |
---|---|
TenantID | GUID, идентифицирующий клиента для вызывающего объекта. |
TimeGenerated (UTC) | Дата и время выполнения задания Runbook. |
Категория | События аудита |
ResourceGroup | Имя группы ресурсов учетной записи службы автоматизации. |
идентификатор подписки; | GUID подписки Azure для учетной записи службы автоматизации. |
ResourceProvider | MICROSOFT.AUTOMATION |
Ресурс | Имя учетной записи службы автоматизации |
ResourceType | AUTOMATIONACCOUNTS |
OperationName | Возможные значения: Update, Create, Delete. |
ResultType | Состояние задания Runbook. Возможное значение: Завершено. |
CorrelationId | GUID корреляции задания Runbook. |
ResultDescription | Состояние результата задания Runbook. Возможные значения: Update, Create, Delete. |
Tenant_g | GUID, идентифицирующий клиента для вызывающего объекта. |
SourceSystem | Система, используемая в журналах Azures Monitor для сбора данных. Для системы диагностики Azure здесь всегда указано значение "Azure". |
clientInfo_IpAddress_s | {scrubbed} |
clientInfo_PrincipalName_s | {scrubbed} |
clientInfo_TenantId_g | Идентификатор клиента. |
clientInfo_Issuer_s | |
clientInfo_ObjectId_g | Идентификатор объекта клиента. |
clientInfo_AppId_g | Идентификатор приложения клиента. |
clientInfo_ClientRequestId_g | RequestID клиента |
targetResources_Resource_s | Учетная запись, задание, учетные данные, подключения, переменные, Runbook. |
Тип | AzureDiagnostics |
_ResourceId | служба автоматизации Azure идентификатор ресурса учетной записи модуля Runbook. |
Просмотр журналов службы автоматизации в журналах Azure Monitor
Теперь, когда успешно запущена передача журналов и потоков заданий службы автоматизации в журналы Azure Monitor, мы попробуем что-нибудь сделать с ними в среде журналов Azure Monitor.
Чтобы просмотреть журналы, выполните следующий запрос: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"
Примеры запросов для журналов заданий и потоков заданий
Поиск всех заданий, завершенных с ошибкой
Помимо сценариев, таких как оповещение о сбоях, можно найти, когда задание Runbook имеет неисключающую ошибку. В этих случаях PowerShell создает поток ошибок, но устранимые ошибки не приводят к приостановке или сбою задания.
- В рабочей области Log Analytics щелкните Журналы.
- В поле запроса введите следующее:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g.
- Нажмите кнопку Поиск.
Просмотр потоков заданий для задания
При отладке задания вам могут пригодиться потоки заданий. В следующем запросе показаны все потоки для одного задания с GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0
:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and JobId_g == "2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0"
| sort by TimeGenerated asc
| project ResultDescription
Просмотреть историческую статистику задания
Наконец, вам может понадобиться визуализировать временную линию по журналу заданий. Для поиска для поиска состояния заданий по прошествии времени можно использовать приведенный ниже запрос.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)
Поиск журналов отчетов об ошибках в заданиях автоматизации.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where StreamType_s == "Error"
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId
Поиск завершенных заданий служба автоматизации Azure
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed"
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Поиск служба автоматизации Azure заданий, которые завершаются сбоем, приостановлены или остановлены
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Stopped" or ResultType == "Suspended")
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Вывод списка всех модулей Runbook и заданий, которые успешно завершили работу с ошибками
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error"
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g
Отправка электронного сообщения при сбое или приостановке задания Runbook
Ниже описано, как настроить оповещения электронной почты в Azure Monitor, чтобы уведомить о том, что что-то происходит с заданием Runbook.
Чтобы создать правило генерации оповещений, создайте поиск по журналам записей заданий Runbook, которые должны вызывать оповещение, как описано в разделе "Запрос журналов". Нажмите кнопку +Создать правило генерации оповещений, чтобы настроить правило генерации оповещений.
В учетной записи службы автоматизации в разделе "Мониторинг" выберите "Журналы".
Создайте запрос поиска по журналам для оповещения, введя условия поиска в поле запроса.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")
Вы также можете сгруппировать по имени модуля Runbook с помощью следующего:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s
Чтобы открыть экран "Создать правило генерации оповещений", нажмите кнопку +Создать правило генерации оповещений в верхней части страницы. Дополнительные сведения о параметрах настройки оповещений см. в разделе "Оповещения журнала" в Azure
журналы аудита диагностики служба автоматизации Azure
Теперь журналы аудита можно отправлять в рабочую область Azure Monitor. Это позволяет предприятиям отслеживать действия учетной записи службы автоматизации ключей для обеспечения безопасности и соответствия требованиям. При включении с помощью параметров Диагностика Azure вы сможете собирать данные телеметрии о создании, обновлении и удалении операций для модулей Runbook службы автоматизации, заданий и ресурсов автоматизации, таких как подключение, учетные данные, переменная и сертификат. Вы также можете настроить оповещения для условий журнала аудита в рамках требований к мониторингу безопасности.
Разница между журналами действий и журналами аудита
Журнал действий — это журналплатформы в Azure, который предоставляет аналитические сведения о событиях уровня подписки. Журнал действий для учетной записи службы автоматизации содержит сведения о том, когда ресурс автоматизации изменяется или создается или удаляется. Однако он не записывает имя или идентификатор ресурса.
Журналы аудита для учетных записей службы автоматизации фиксируют имя и идентификатор ресурса, такие как переменная автоматизации, учетные данные, подключение и т. д., а также тип операции, выполняемой для ресурса, и служба автоматизации Azure будет собирать некоторые сведения, такие как данные IP клиента, соответствующие требованиям GDPR.
В журналах действий будут отображаться такие сведения, как IP-адрес клиента, так как журнал действий — это журнал платформы, предоставляющий подробные диагностические и аудиты сведения о ресурсах Azure. Они автоматически создаются для действий, которые происходят в ARM и отправляются в поставщик ресурсов журнала действий. Так как журналы действий являются частью мониторинга Azure, они будут отображать некоторые клиентские данные для предоставления аналитических сведений о действиях клиента.
Примеры запросов для журналов аудита
Запрос для просмотра журналов аудита ресурсов службы автоматизации
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent"
Запрос на мониторинг любой операции обновления переменной, создания или удаления
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable"
Запрос на мониторинг любой операции Runbook, например создание, черновик или обновление
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook"
Запрос для отслеживания создания сертификата, обновления или удаления
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate"
Запрос на мониторинг создания, обновления или удаления учетных данных
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential"
Выходные данные состояния задания фильтрации, преобразованные в объект JSON
Недавно мы изменили порядок записи данных журнала автоматизации в AzureDiagnostics
таблицу в службе аналитики журнала, таким образом свойства JSON больше не разбиваются на отдельные поля. Если модуль Runbook настроен для форматирования объектов в выходном потоке в формате JSON в виде отдельных столбцов, необходимо перенастроить запросы для анализа этого поля с объектом JSON для доступа к этим свойствам. Это достигается с помощью анализа json для доступа к определенному элементу JSON в известном пути.
Например, модуль runbook форматирует свойство ResultDescription в выходном потоке в формате JSON с несколькими полями. Чтобы найти состояние заданий, которые находятся в состоянии сбоя, как указано в поле Состояние, используйте следующий пример запроса для поиска свойства ResultDescription с состоянием Сбой:
AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'
Следующие шаги
- Чтобы узнать, как создавать поисковые запросы и просматривать журналы заданий службы автоматизации на платформе журналов Azure Monitor, ознакомьтесь со статьей Поиск в журналах Azure Monitor.
- Чтобы узнать больше о создании и получении выходных данных и сообщений об ошибках для runbook, см. статью Отслеживание выходных данных runbook.
- Дополнительные сведения о выполнении runbook, отслеживании заданий runbook и другие технические подробности см. в статье Выполнение runbook в службе автоматизации Azure.
- Чтобы узнать больше о журналах Azure Monitor и источниках сбора данных, см. статью Общие сведения о сборе данных службы хранилища Azure на платформе журналов Azure Monitor.
- В устранении неполадок с Log Analytics вам может помочь раздел Почему Log Analytics больше не собирает данные.