Интеграция State Configuration службы автоматизации Azure с журналами Azure Monitor
Примечание.
Прежде чем включить конфигурацию состояния автоматизации, мы хотели бы знать, что более новая версия DSC теперь общедоступна, управляемая функцией Политика Azure именованной гостевой конфигурации. Служба гостевой конфигурации объединяет функции расширения DSC, служба автоматизации Azure конфигурации состояния и наиболее часто запрашиваемые функции из отзывов клиентов. Гостевая конфигурация также включает поддержку гибридных компьютеров через серверы с поддержкой Arc.
В конфигурации State Configuration службы автоматизации Azure данные о состоянии узла хранятся в течение 30 дней. Вы можете отправлять данные о состоянии узла в журналы Azure Monitor, если желаете хранить их в течение более длительного периода. Сведения о состоянии соответствий узлов и отдельных ресурсов DSC в конфигурации узла можно просмотреть на портале Azure или с помощью PowerShell.
Журналы Azure Monitor предоставляют расширенный оперативный контроль над данными Automation State Configuration и позволяют быстрее устранять инциденты. С помощью журналов Azure Monitor вы можете:
- получать сведения о соответствии требованиям для управляемых узлов и отдельных ресурсов;
- активировать сообщение электронной почты или предупреждение (в зависимости от состояния соответствия);
- создавать сложные запросы к управляемым узлам;
- сопоставлять состояние соответствия в учетных записях службы автоматизации;
- с помощью пользовательских представлений и поисковых запросов визуализировать результаты модуля Runbook, состояние задания Runbook и другие связанные ключевые индикаторы или метрики.
Примечание.
Сведения из данной статьи были недавно обновлены. Теперь вместо термина "Log Analytics" используется термин "журналы Azure Monitor". Данные журнала по-прежнему хранятся в рабочей области Log Analytics, собираются и анализируются той же службой Log Analytics. Целью обновления терминологии является лучшее отражение роли журналов в Azure Monitor. Дополнительные сведения см. в статье Изменения фирменной символики Azure Monitor.
Необходимые компоненты
Чтобы начать отправку отчетов Automation State Configuration в журналы Azure Monitor, необходимо следующее:
- Установите модуль Az для PowerShell. Убедитесь, что у вас установлена последняя версия. При необходимости выполните командлет
Update-Module -Name Az
.
- Учетная запись службы автоматизации Azure. Дополнительные сведения см. в статье Общие сведения о службе автоматизации Azure.
- Рабочая область Log Analytics. Дополнительные сведения см. в обзоре журналов Azure Monitor.
- Как минимум один узел службы "Настройка состояния службы автоматизации Azure". Дополнительные сведения см. в статье Подключение компьютеров для управления с помощью State Configuration службы автоматизации Azure.
- Модуль xDscDiagnostics, версия 2.7.0.0 или более поздняя. Инструкции по установке см. в разделе Устранение неполадок с Desired State Configuration службы автоматизации Azure.
Настройка интеграции с журналами Azure Monitor
Чтобы начать импорт данных из State Configuration службы автоматизации Azure в журналы Azure Monitor, выполните следующие действия: Инструкции для портала см. в разделе Пересылка данных задания службы автоматизации Azure в журналы Azure Monitor.
На своем компьютере войдите в подписку Azure с помощью командлета PowerShell Connect-AzAccount и следуйте инструкциям на экране.
# Sign in to your Azure subscription $sub = Get-AzSubscription -ErrorAction SilentlyContinue if(-not($sub)) { Connect-AzAccount } # If you have multiple subscriptions, set the one to use # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
Укажите подходящие значения для переменных
automationAccount
(используйте фактическое имя своей учетной записи службы автоматизации) иworkspaceName
(используйте фактическое имя своей рабочей области Log Analytics). Затем выполните скрипт.$automationAccount = "automationAccount" $law = "workspaceName"
Получите идентификатор ресурса учетной записи службы автоматизации с помощью следующих команд PowerShell.
# Find the ResourceId for the Automation account $AutomationResourceId = (Get-AzResource ` -ResourceType 'Microsoft.Automation/automationAccounts' | WHERE {$_.Name -eq $automationAccount}).ResourceId
Получите идентификатор ресурса рабочей области Log Analytics с помощью следующих команд PowerShell.
# Find the ResourceId for the Log Analytics workspace $WorkspaceResourceId = (Get-AzResource ` -ResourceType 'Microsoft.OperationalInsights/workspaces' | WHERE {$_.Name -eq $law}).ResourceId
Чтобы настроить параметры диагностики в учетной записи службы автоматизации для пересылки данных журнала состояния узла DSC в журналы Azure Monitor, следующий командлет PowerShell создает параметр диагностики с этим местом назначения.
Set-AzDiagnosticSetting ` -ResourceId $AutomationResourceId ` -WorkspaceId $WorkspaceResourceId ` -Enabled $true ` -Category 'DscNodeStatus'
Если вы хотите остановить пересылку данных из State Configuration службы автоматизации в журналы Azure Monitor, выполните следующий командлет PowerShell.
Set-AzDiagnosticSetting ` -ResourceId $AutomationResourceId ` -WorkspaceId $WorkspaceResourceId ` -Enabled $false ` -Category 'DscNodeStatus'
Просмотр журналов State Configuration
Вы можете искать в журналах State Configuration сведения об операциях DSC путем поиска по журналам Azure Monitor. Настроив интеграцию с журналами Azure Monitor для данных State Configuration службы автоматизации, перейдите к учетной записи службы автоматизации на портале Azure. В разделе Мониторинг выберите Журналы.
Закройте диалоговое окно Запросы. Откроется панель поиска по журналам с областью запроса, заданной для ресурса учетной записи службы автоматизации. Записи для операций DSC хранятся в таблице AzureDiagnostics
. Чтобы найти несоответствующие узлы, введите следующий запрос.
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"
Сведения о фильтрации:
- Выполните фильтрацию по
DscNodeStatusData
, чтобы вернуть операции для каждого узла State Configuration. - Выполните фильтрацию по
DscResourceStatusData
, чтобы вернуть операции для каждого ресурса DSC, который вызывается в конфигурации узла, примененной к этому ресурсу. - Выполните фильтрацию по
DscResourceStatusData
, чтобы получить сведения об ошибке для всех ресурсов DSC, которые не удалось выполнить.
Дополнительные сведения о создании запросов журналов для поиска данных см. в разделе Обзор запросов журналов в Azure Monitor.
Отправка сообщения электронной почты при сбое проверки соответствия State Configuration
Вернитесь к созданному ранее запросу.
Нажмите кнопку + New Alert Rule (+ Новое правило генерации оповещений), чтобы запустить поток создания оповещений.
В следующем запросе замените
NODENAME
на фактическое имя управляемого узла, а затем вставьте измененный запрос в текстовое поле поисковый запрос:AzureDiagnostics | where Category == "DscNodeStatus" | where NodeName_s == "NODENAME" | where OperationName == "DscNodeStatusData" | where ResultType == "Failed"
Если вы настроили для рабочей области журналы из более чем одной учетной записи службы автоматизации или подписки, то можете группировать оповещения по подписке или учетной записи службы автоматизации. Определите имя учетной записи службы автоматизации из свойства
Resource
в результатах поиска по журналамDscNodeStatusData
.Инструкции по выполнению оставшихся действий см. в статье Создание и просмотр оповещений метрик, а также управление ими с помощью Azure Monitor.
Поиск ресурсов DSC со сбоями по всем узлам
Одно из преимуществ журналов Azure Monitor — возможность поиска проверок со сбоями по узлам. Чтобы найти все экземпляры ресурсов DSC со сбоями, используйте следующий запрос:
AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"
Просмотр состояния узла DSC за предыдущие периоды
Визуализируйте изменение состояния узла DSC с течением времени с помощью следующего запроса:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType
Запрос отображает диаграмму состояния узла с течением времени.
Записи журналов Azure Monitor
При диагностике службы автоматизации Azure в журналах Azure Monitor создаются записи двух категорий:
- Данные о состоянии узла (
DscNodeStatusData
) - Данные о состоянии ресурса (
DscResourceStatusData
)
DscNodeStatusData
Свойство | Description |
---|---|
TimeGenerated | Дата и время запуска проверки соответствия. |
OperationName | DscNodeStatusData . |
ResultType | Значение, указывающее, соответствует ли узел требованиям. |
NodeName_s | Имя управляемого узла. |
NodeComplianceStatus_s | Значение состояния, указывающее, соответствует ли узел требованиям. |
DscReportStatus | Значение состояния, указывающее, успешно ли выполнена проверка соответствия. |
ConfigurationMode | Режим, используемый для применения конфигурации к узлу. Возможные значения:
|
HostName_s | Имя управляемого узла. |
IPAddress | Адрес IPv4 управляемого узла. |
Категория | DscNodeStatus . |
Ресурс | Имя учетной записи службы автоматизации Azure. |
Tenant_g | GUID, идентифицирующий клиента для вызывающего объекта. |
NodeId_g | Идентификатор GUID для определения управляемого узла. |
DscReportId_g | Идентификатор GUID для определения отчета. |
LastSeenTime_t | Дата и время последнего просмотра отчета. |
ReportStartTime_t | Дата и время начала отчета. |
ReportEndTime_t | Дата и время завершения отчета. |
NumberOfResources_d | Количество ресурсов DSC, которые вызывались в примененной к узлу конфигурации. |
SourceSystem | Исходная система, определяющая, как журналы Azure Monitor собирают данные. Всегда имеет значение Azure для системы диагностики Azure. |
ResourceId | Идентификатор ресурса учетной записи службы автоматизации Azure. |
ResultDescription | Описание ресурса для этой операции. |
SubscriptionId | Идентификатор подписки Azure (GUID) для учетной записи службы автоматизации. |
ResourceGroup | имя группы ресурсов для учетной записи службы автоматизации; |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Идентификатор GUID для корреляции отчета о соответствии. |
DscResourceStatusData
Свойство | Description |
---|---|
TimeGenerated | Дата и время запуска проверки соответствия. |
OperationName | DscResourceStatusData . |
ResultType | Подтверждено ли соответствие ресурса. |
NodeName_s | Имя управляемого узла. |
Категория | DscNodeStatus. |
Ресурс | Имя учетной записи службы автоматизации Azure. |
Tenant_g | GUID, идентифицирующий клиента для вызывающего объекта. |
NodeId_g | Идентификатор GUID для определения управляемого узла. |
DscReportId_g | Идентификатор GUID для определения отчета. |
DscResourceId_s | Имя для экземпляра ресурса DSC. |
DscResourceName_s | Имя ресурса DSC. |
DscResourceStatus_s | Подтверждено ли соответствие ресурса DSC. |
DscModuleName_s | Имя модуля PowerShell, который содержит ресурс DSC. |
DscModuleVersion_s | Версия модуля PowerShell, который содержит ресурс DSC. |
DscConfigurationName_s | Имя примененной к узлу конфигурации. |
ErrorCode_s | Код ошибки при сбое ресурса. |
ErrorMessage_s | Сообщение об ошибке при сбое ресурса. |
DscResourceDuration_d | Период выполнения ресурса DSC в секундах. |
SourceSystem | Определяет, как журналы Azure Monitor собирали данные. Всегда имеет значение Azure для системы диагностики Azure. |
ResourceId | Идентификатор учетной записи службы автоматизации Azure. |
ResultDescription | Описание для этой операции. |
SubscriptionId | Идентификатор подписки Azure (GUID) для учетной записи службы автоматизации. |
ResourceGroup | имя группы ресурсов для учетной записи службы автоматизации; |
ResourceProvider | MICROSOFT.AUTOMATION. |
ResourceType | AUTOMATIONACCOUNTS. |
CorrelationId | Идентификатор GUID для корреляции отчета о соответствии. |
Следующие шаги
- Общие сведения см. в статье Обзор State Configuration службы автоматизации Azure.
- Чтобы приступить к работе со службой State Configuration службы автоматизации Azure, см. сведения в этой статье.
- Сведения о компилировании конфигураций DSC, которые затем можно назначить целевым узлам, см. в статье Компилирование конфигураций DSC в службе State Configuration службы автоматизации Azure.
- Справочник по командлетам PowerShell см. в документации по Az.Automation.
- Сведения о ценах см. на странице с расценками для службы настройки состояния службы автоматизации Azure.
- Пример использования службы State Configuration в службе автоматизации Azure в конвейере непрерывного развертывания см. в разделе Настройка непрерывного развертывания с помощью Chocolatey.
- Чтобы узнать больше о том, как создавать различные поисковые запросы и просматривать журналы заданий State Configuration службы автоматизации с помощью журналов Azure Monitor, ознакомьтесь со статьей Основные сведения о поисках по журналам Azure Monitor.
- Чтобы узнать больше о журналах Azure Monitor и источниках сбора данных, см. статью Общие сведения о сборе данных службы хранилища Azure на платформе журналов Azure Monitor.