Устранение проблем с настройкой состояния службы автоматизации Azure
Примечание.
служба автоматизации Azure конфигурация состояния будет прекращена 30 сентября 2027 г.Конфигурация компьютера Azure по этой дате. Дополнительные сведения см. в публикации блога. Служба конфигурации компьютера Azure объединяет функции расширения DSC, служба автоматизации Azure конфигурации состояния и наиболее часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера Azure также включает поддержку гибридных компьютеров с помощью серверов с поддержкой Arc.
Внимание
служба автоматизации Azure DSC для Linux вышел на пенсию 30 сентября 2023 года. Дополнительные сведения см. в объявлении о выпуске.
В этой статье содержатся сведения об устранении неполадок и устранении проблем, возникающих при компиляции или развертывании конфигураций в служба автоматизации Azure конфигурации состояния. Общие сведения о функции «Настройка состояния» доступны в разделе Общие сведения о настройке состояния службы автоматизации Azure.
Диагностика проблемы
При возникновении ошибки компиляции или развертывания для настройки нужно выполнить следующие диагностические действия.
1. Убедитесь, что конфигурация успешно компилируется на локальном компьютере
Настройка состояния службы автоматизации Azure основана на настройке требуемого состояния (DSC) PowerShell. Документацию по языку DSC и синтаксису можно найти в разделе Документация DSC PowerShell.
Компилируя конфигурацию DSC на локальном компьютере, можно обнаруживать и устранять распространенные ошибки:
- отсутствующие модули;
- синтаксические ошибки;
- логические ошибки.
2. Просмотр журналов DSC на узле
Если конфигурация компилируется успешно, но при использовании на узле происходит сбой, найти подробную информацию можно в журналах DSC. Сведения о том, где найти эти журналы, приводятся в статье Где найти журналы событий DSC.
Модуль xDscDiagnostics поможет проанализировать подробные сведения из журналов DSC. При обращении в службу поддержки эти журналы необходимы для диагностики проблемы.
Можно установить модуль xDscDiagnostics
на локальном компьютере, выполнив инструкции из статьи Установка модуля стабильной версии.
Чтобы установить модуль xDscDiagnostics
на компьютере Azure, используйте команду Invoke-AzVMRunCommand. Кроме того, можно воспользоваться функцией Выполнить команду на портале Microsoft Azure. Для этого выполните инструкции в статье Запуск сценариев PowerShell на виртуальной машине с Windows с помощью функции «Выполнить команду».
Сведения об использовании командлета xDscDiagnostics см. в статье Использование xDscDiagnostics для анализа журналов DSC. См. также статью Командлеты xDscDiagnostics.
3. Убедитесь, что узлы и рабочая область автоматизации имеют необходимые модули
DSC зависит от модулей, установленных на узле. При настройке состояния службы автоматизации Azure импортируйте необходимые модули в учетную запись службы автоматизации, выполнив инструкции из раздела Импорт модулей. Конфигурации также могут иметь зависимости от определенных версий модулей. Дополнительные сведения см. в статье Устранение неполадок в модулях.
Сценарий. Конфигурация с специальными символами не может быть удалена на портале
Проблема
При попытке удалить конфигурацию DSC с портала отображается следующая ошибка.
An error occurred while deleting the DSC configuration '<name>'. Error-details: The argument
configurationName with the value <name> is not valid. Valid configuration names can contain only
letters, numbers, and underscores. The name must start with a letter. The length of the name must be
between 1 and 64 characters.
Причина
Эта ошибка является временной проблемой. Повторите попытку позже.
Разрешение
Используйте командлет Remove-AzAutomationDscConfiguration для удаления конфигурации.
Сценарий: не удалось зарегистрировать агент DSC
Проблема
При использовании Set-DscLocalConfigurationManager или другого командлета DSC возникает ошибка.
Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000
failed. The underlying error is: Failed to register Dsc Agent with AgentId
00000000-0000-0000-0000-000000000000 with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000').
+ CategoryInfo : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
+ PSComputerName : <computerName>
Причина
Проблема сети может вызвать эту ошибку. Проверьте параметры брандмауэра или если компьютер за прокси-сервером.
Разрешение
Убедитесь, что у компьютера есть доступ к соответствующим конечным точкам DSC, и повторите попытку. Список необходимых портов и адресов можно узнать в разделе Планирование сети.
Сценарий. Отчеты о состоянии возвращают код ответа Несанкционированным
Проблема
При регистрации узла во время настройки состояния службы автоматизации Azure отображается одно из следующих сообщений об ошибке.
The attempt to send status report to the server https://{your Automation account
URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned
unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the
Dsc Agent with the server failed.
Причина
Ниже приведены возможные причины.
Недопустимый или истекший срок действия сертификата. См. статью Повторная регистрация узла.
Конфигурация прокси-сервера, которая не разрешает доступ к
*.azure-automation.net
. Дополнительные сведения см. в разделе Настройка частных сетей.При отключении локальной проверки подлинности в служба автоматизации Azure. См. раздел "Отключить локальную проверку подлинности". Чтобы устранить эту проблему, см . статью "Повторно включить локальную проверку подлинности".
Время клиентского компьютера составляет много минут с фактического времени. Чтобы проверить время, используйте следующую команду:
w32tm /stripchart /computer:time.windows.com /samples:6
Разрешение
Чтобы повторно зарегистрировать неисправный узел DSC, выполните следующие действия.
Шаг 1. Отмена регистрации узла
- В портал Azure перейдите к >учетной записи домашней службы автоматизации (учетная запись> службы автоматизации) >конфигурации состояния (DSC).
- Выберите Узлы и узел с проблемами.
- Выберите Отменить регистрацию, чтобы отменить регистрацию узла.
Шаг 2. Удаление расширения DSC с узла
- В портал Azure перейдите к расширениям домашней>виртуальной машины> (сбой узла). >
- Выберите Microsoft.Powershell.DSC — расширение PowerShell DSC.
- Выберите Удалить, чтобы удалить расширение.
Шаг 3. Удаление всех плохих или просроченных сертификатов с узла
На неисправном узле выполните следующие команды в сеансе PowerShell с повышенными правами.
$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
ForEach ($Cert in $certs)
{
RD -LiteralPath ($Cert.Pspath)
}
}
Шаг 4. Повторная регистрация неработоспособных узлов
- В портал Azure перейдите к >учетной записи домашней службы автоматизации (учетная запись> службы автоматизации) >конфигурации состояния (DSC).
- Выберите Узлы.
- Выберите Добавить.
- Выберите неисправный узел.
- Нажмите Подключить и выберите нужные параметры.
Сценарий: узел находится в состоянии сбоя с ошибкой "Не найдено"
Проблема
Узел содержит отчет со статусом «Сбой» и ошибку:
The attempt to get the action from server
https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid
configuration <guid> cannot be found.
Причина
Эта ошибка обычно возникает из-за того, что узлу назначается имя конфигурации (например, ABC) вместо имени конфигурации узла (файл MOF), например ABC.WebServer.
Разрешение
- Убедитесь, что вы назначаете узел с именем конфигурации узла, а не имя конфигурации.
- Конфигурацию узла можно назначить узлу с помощью портала Azure или с помощью командлета PowerShell.
- В портал Azure перейдите к >учетной записи домашней службы автоматизации (учетная запись> службы автоматизации) >конфигурации состояния (DSC). Затем выберите узел и щелкните Назначить конфигурацию узла.
- Используйте командлет Set-AzAutomationDscNode.
Сценарий. При компиляции конфигурации узлов (MOF-файлы) не создавались
Проблема
Задание компиляции DSC приостановлено с ошибкой:
Compilation completed successfully, but no node configuration **.mof** files were generated.
Причина
Если выражение, указанное в конфигурации DSC рядом с ключевым словом Node
, возвращает результат $null
, конфигурация узла не создается.
Разрешение
Эту проблему можно устранить одним из следующих способов.
- Убедитесь, что выражение рядом с ключевым словом
Node
в определении конфигурации не равно Null. - Если при компиляции конфигурации вы передаете ConfigurationData, то убедитесь, что передаются значения, которые конфигурация ожидает получить из данных конфигурации.
Сценарий: отчет узла DSC зависает в состоянии "Ход выполнения"
Проблема
Агент DSC выводит такое сообщение:
No instance found with given property values
Причина
Эта проблема может возникнуть, если инструментарий управления Windows (WMI) поврежден на узле.
Разрешение
Выполните инструкции из статьи Известные проблемы и ограничения настройки требуемого состояния (DSC).
Сценарий: не удается использовать учетные данные в конфигурации DSC
Проблема
Задание компиляции DSC приостановлено со следующей ошибкой:
System.InvalidOperationException error processing property 'Credential' of type <some resource
name>: Converting and storing an encrypted password as plaintext is allowed only if
PSDscAllowPlainTextPassword is set to true.
Причина
Эта проблема может возникнуть, если вы используете учетные данные в конфигурации, но не предоставили правильное ConfigurationData
значение PSDscAllowPlainTextPassword
true для каждой конфигурации узла.
Разрешение
Обязательно передайте правильный ConfigurationData
параметр , чтобы PSDscAllowPlainTextPassword
задать значение true для каждой конфигурации узла. См. раздел Компилирование конфигураций DSC в службе «Настройка состояния службы автоматизации Azure».
Сценарий: ошибка "Расширение обработки сбоев" при включении компьютера из расширения DSC
Проблема
При включении компьютера с помощью расширения DSC происходит сбой, который содержит ошибку:
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC
COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few:
Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to
register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code
BadRequest. .\".
Причина
Эта ошибка обычно возникает, когда узлу назначено имя конфигурации узла, которое не существует в службе.
Разрешение
Убедитесь, что имя узла, точно соответствующее имени в службе, или не включайте имя конфигурации узла. Это позволяет узлу, но не назначает конфигурацию узла.
Сценарий: ошибка "Произошла одна или несколько ошибок" при регистрации узла с помощью PowerShell
Проблема
При регистрации узла с использованием командлета Register-AzAutomationDSCNode или Register-AzureRMAutomationDSCNode отображается следующая ошибка.
One or more errors occurred.
Причина
Эта ошибка возникает при попытке зарегистрировать узел в подписке, отличной от той, которая используется учетной записью службы автоматизации.
Разрешение
Обработайте узел между подписками как узел, определенный для отдельного облака или локальной среды. Зарегистрируйте узел, используя один из следующих параметров для включения компьютеров.
- Windows: физические или виртуальные компьютеры Windows в локальной среде или в облаке, отличном от Azure/AWS.
- Linux: физические или виртуальные машины Linux в локальной среде или в облаке, отличном от Azure.
Сценарий: сообщение об ошибке "Подготовка завершилась сбоем"
Проблема
При регистрации узла отображается сообщение об ошибке:
Provisioning has failed
Причина
Это сообщение появляется при наличии проблем с подключением между узлом и Azure.
Разрешение
Определите, находится ли узел в виртуальной частной сети (VPN) или имеет другие проблемы с подключением к Azure. См. раздел Устранение неполадок с развертыванием компонентов.
Сценарий. Сбой с общей ошибкой при применении конфигурации в Linux
Проблема
При применении конфигурации в Linux происходит сбой, который содержит ошибку:
This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1.
ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name
and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a
more specific error code..
Причина
Если для расположения /tmp задано значение noexec
, текущей версии DSC не удается применить конфигурации.
Разрешение
Удалите параметр noexec
из расположения /tmp.
Сценарий. Имена конфигурации узла, которые перекрываются, могут привести к плохому выпуску
Проблема
При использовании одного сценария конфигурации для создания нескольких конфигураций узлов, когда некоторые имена конфигураций узлов являются подмножествами других имен, служба компиляции может назначить неправильную конфигурацию. Эта проблема возникает только при использовании одного сценария для генерирования конфигураций с данными конфигурации для каждого узла и только когда происходит перекрытие имен в начале строки. В примере показано использование одного сценария конфигурации для генерирования конфигураций на основе данных узлов, переданных в качестве таблицы хэшей с использованием командлетов, когда данные узла включают серверы с именем server и 1server.
Причина
Это известная проблема со службой компиляции.
Разрешение
Наилучшим решением является локальная компиляция или компиляция в процессе непрерывной интеграции и развертывания с последующей отправкой MOS-файлов конфигурации узла непосредственно в службу. Если компиляция в службе является обязательным требованием, то следующим лучшим решением будет разделение заданий компиляции так, чтобы имена не перекрывались.
Сценарий: ошибка времени ожидания шлюза при отправке конфигурации DSC
Проблема
При отправке конфигурации DSC появляется сообщение об ошибке GatewayTimeout
.
Причина
Эта ошибка может быть вызвана настройками DSC, компиляция которых занимает много времени.
Разрешение
Можно ускорить синтаксический анализ настроек DSC, явно включив параметры ModuleName
для любых вызовов Import-DSCResource.
Сценарий. Ошибка при подключении компьютера
Проблема
При подключении agent has a problem
компьютера возникает ошибка.
Причина
Это известная проблема. Нельзя снова назначить ту же конфигурацию, что и узел остается в состоянии ожидания.
Разрешение
Чтобы обойти проблему, примените другую конфигурацию теста и повторите попытку исходной конфигурации.
Следующие шаги
Если вы не видите проблему или не можете устранить проблему, попробуйте один из следующих каналов поддержки:
- Получите ответы специалистов Azure на форумах Azure.
- Подпишитесь на @AzureSupport, официальный канал Microsoft Azure для улучшения качества взаимодействия с клиентами. Служба поддержки Azure взаимодействует с сообществом Azure, предоставляя ответы, поддержку и советы экспертов.
- Отправьте запрос в службу поддержки Azure Перейдите на сайт поддержки Azure и выберите Получить поддержку.