Solucionar problemas de State Configuration da Automação do Azure
Observação
O State Configuration da Automação do Azure será desativado em 30 de setembro de 2027, faça a transição para a Configuração de Máquina do Azure até essa data. Para saber mais, confira a postagem no blog sobre o anúncio. O serviço de Configuração de Máquina do Azure combina recursos da Extensão DSC, da Configuração de Estado da Automação do Azure e dos recursos mais solicitados por meio de comentários dos clientes. A Configuração de Máquinas do Azure também inclui suporte a máquina híbrida por meio servidores habilitados para Arc.
Cuidado
O Automação do Azure DSC para Linux foi descontinuado em 30 de setembro de 2023. Para obter mais informações, confira o comunicado.
Este artigo fornece informações sobre como solucionar problemas que ocorrem enquanto você compila ou implanta configurações na State Configuration da Automação do Azure. Para obter informações gerais sobre o recurso de State Configuration, confira Visão geral da State Configuration da Automação do Azure.
Diagnosticar um problema
Quando você recebe um erro de compilação ou implantação na configuração, aqui estão algumas etapas para ajudá-lo a diagnosticar o problema.
1. Assegure a compilação bem-sucedida da configuração no computador local
A State Configuration da Automação do Azure é baseada na DSC (Desired State Configuration) do PowerShell. Você pode encontrar a documentação para a linguagem e a sintaxe da DSC nos Documentos da DSC do PowerShell.
Ao compilar uma configuração de DSC em sua máquina local, você pode descobrir e resolver erros comuns, como:
- Módulos ausentes.
- Erros de sintaxe.
- Erros de lógica.
2. Exibir logs da DSC em seu nó
Se a sua configuração for compilada com êxito, mas falhar quando aplicada a um nó, você poderá encontrar informações detalhadas nos logs da DSC. Para obter informações sobre onde encontrar esses logs, confira Onde estão os logs de eventos da DSC.
O módulo xDscDiagnostics pode ajudá-lo a analisar informações detalhadas dos logs da DSC. Se você entrar em contato com o suporte, eles precisarão desses logs para diagnosticar seu problema.
Você pode instalar o módulo xDscDiagnostics
em sua máquina local seguindo as instruções em Instalar o módulo da versão estável.
Para instalar o módulo xDscDiagnostics
na sua máquina do Azure, use Invoke-AzVMRunCommand. Você também pode usar a opção Executar comando no portal do Azure, seguindo as etapas em Executar scripts do PowerShell na VM do Windows com Executar Comando.
Para obter informações sobre o uso de xDscDiagnostics, confira Usar xDscDiagnostics para analisar logs da DSC . Confira também Cmdlets xDscDiagnostics.
3. Verifique se os nós e o workspace da Automação têm os módulos necessários
A DSC depende dos módulos instalados no nó. Ao usar a State Configuration da Automação do Azure, importe todos os módulos necessários para sua conta de automação seguindo as etapas em Importar módulos. As configurações também podem depender de versões específicas de módulos. Para obter mais informações, confira Solucionar problemas de módulos.
Cenário: uma configuração com caracteres especiais não pode ser excluída do portal
Problema
Ao tentar excluir uma configuração da DSC do portal, você vê o seguinte erro:
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.
Causa
Esse erro é um problema temporário. Tente novamente depois.
Resolução
Use o cmdlet Remove-AzAutomationDscConfiguration para excluir a configuração.
Cenário: falha ao registrar o agente DSC
Problema
Você recebe um erro ao usar Set-DscLocalConfigurationManager ou outro cmdlet 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>
Causa
O problema de rede pode causar esse erro. Verifique as configurações de firewall ou se o computador está atrás de um servidor proxy.
Resolução
Verifique se o seu computador tem acesso aos pontos de extremidade apropriados para a DSC e tente novamente. Para obter uma lista de portas e endereços, confira Planejamento de rede.
Cenário: relatórios de status retornam o código de resposta Não autorizado
Problema
Ao registrar um nó com a State Configuration da Automação do Azure, você recebe uma das seguintes mensagens de erro:
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.
Causa
Estas são as possíveis causas:
Um certificado inválido ou expirado. Confira Registrar um nó novamente.
Uma configuração de proxy que não permite o acesso a
*.azure-automation.net
. Para obter mais informações, confira Configuração de redes privadas.Ao desabilitar a autenticação local na Automação do Azure. Confira Desabilitar a autenticação local. Para corrigir isso, confira Habilitar novamente a autenticação local.
O time do computador cliente é impreciso em muitos minutos em relação ao tempo real. Use o seguinte comando para verificar a hora:
w32tm /stripchart /computer:time.windows.com /samples:6
.
Resolução
Use as etapas a seguir para registrar novamente o nó da DSC com falha.
Etapa 1: cancelar o registro do servidor
- No portal do Azure, acesse Página Inicial>Contas de Automação> (sua conta de Automação) >DSC (State Configuration).
- Selecione Nós e o nó com problemas.
- Selecione Cancelar registro para cancelar o registro do nó.
Etapa 2: desinstalar a extensão de DSC do nó
- No portal do Azure, acesse Página Inicial>Máquina Virtual> (nó com falha) >Extensões.
- Selecione Microsoft.PowerShell.DSC, a extensão de DSC do PowerShell.
- Selecione Desinstalar para desinstalar a extensão.
Etapa 3: remover todos os certificados inválidos ou expirados do nó
No nó com falha, em um prompt do PowerShell com privilégios elevados, execute estes comandos:
$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)
}
}
Etapa 4: registrar novamente o nó com falha
- No portal do Azure, acesse Página Inicial>Contas de Automação> (sua conta de Automação) >DSC (State Configuration).
- Selecione Nós.
- Selecione Adicionar.
- Selecione o nó com falha.
- Selecione Conectar e as opções desejadas.
Cenário: o nó está com status de falha com um erro "Não encontrado"
Problema
O nó tem um relatório com o status Falha que contém o seguinte erro:
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.
Causa
Esse erro normalmente ocorre quando o nó é atribuído a um nome de configuração (por exemplo, ABC) em vez de um nome de configuração de nó (arquio MOF), como ABC.WebServer.
Resolução
- Verifique se você está atribuindo o nó com o nome da configuração do nó, e não o nome da configuração.
- Você pode atribuir uma configuração para um nó usando o Portal do Azure ou com um cmdlet do PowerShell.
- No portal do Azure, acesse Página Inicial>Contas de Automação> (sua conta de Automação) >DSC (State Configuration). Em seguida, selecione um nó e Atribuir configuração de nó.
- Use o cmdlet Set-AzAutomationDscNode.
Cenário: nenhuma configuração de nó (arquivos MOF) foi produzida quando uma configuração foi compilada
Problema
Seu trabalho de compilação do DSC é suspenso com o erro:
Compilation completed successfully, but no node configuration **.mof** files were generated.
Causa
Quando a expressão após a palavra-chave Node
na configuração da DSC for avaliada como $null
, nenhuma configuração de nó será produzida.
Resolução
Use uma das seguintes soluções para corrigir o problema:
- Verifique se a expressão ao lado da palavra-chave
Node
na definição de configuração não está sendo avaliada como Nula. - Se você estiver passando ConfigurationData ao compilar a configuração, verifique se estão passando os valores esperados pela configuração dos dados de configuração.
Cenário: o relatório do nó DSC fica preso no estado "em progresso"
Problema
O agente DSC produz:
No instance found with given property values
Causa
Esse problema poderá ocorrer se a WMI (Instrumentação de Gerenciamento do Windows) estiver corrompida no nó.
Resolução
Siga as instruções no artigo Problemas e limitações conhecidos da DSC.
Cenário: não é possível usar uma credencial em uma configuração DSC
Problema
Seu trabalho de compilação da DSC foi suspenso com o erro:
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.
Causa
Esse problema poderá ocorrer se você usar uma credencial em uma configuração, mas não fornecer o ConfigurationData
adequado para definir PSDscAllowPlainTextPassword
como true em cada configuração de nó.
Resolução
Certifique-se de passar o ConfigurationData
apropriado, configurando PSDscAllowPlainTextPassword
como true para cada configuração de nó. Confira Compilação das configurações DSC na State Configuration da Automação do Azure.
Cenário: erro de "Falha ao processar extensão" ao habilitar um computador em uma extensão de DSC
Problema
Quando você habilita um computador usando uma extensão de DSC, ocorre uma falha que contém o erro:
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. .\".
Causa
Esse erro normalmente ocorre quando o nó recebe um nome de configuração de nó que não existe no serviço.
Resolução
Verifique se o nome do nó que corresponde exatamente ao nome no serviço ou não inclui o nome de configuração do nó. Isso habilita o nó, mas não atribui uma configuração de nó.
Cenário: erro "Ocorreu um ou mais erros" ao registrar um nó usando o PowerShell
Problema
Ao registrar um nó usando Register-AzAutomationDSCNode ou Register-AzureRMAutomationDSCNode, você receberá o seguinte erro:
One or more errors occurred.
Causa
Esse erro ocorre quando você tenta registrar um nó em uma assinatura diferente daquela usada pela conta de Automação.
Resolução
Trate o nó de assinatura cruzada como um nó definido para uma nuvem separada ou localmente. Registre o nó usando uma destas opções para habilitar computadores:
- Windows: Máquinas físicas/virtuais locais do Windows ou em uma nuvem diferente do Azure/AWS.
- Linux: Máquinas físicas/virtuais locais do Linux ou em uma nuvem diferente do Azure.
Cenário: mensagem de erro "Falha no provisionamento"
Problema
Ao registrar um nó, você vê o erro:
Provisioning has failed
Causa
Essa mensagem ocorre quando há um problema com a conectividade entre o nó e o Azure.
Resolução
Determine se o nó está em uma VPN (rede virtual privada) ou se há outros problemas para se conectar ao Azure. Confira Solucionar problemas de implantação de recurso.
Cenário: falha com um erro geral ao aplicar uma configuração no Linux
Problema
Quando você aplica uma configuração no Linux, ocorre uma falha que contém o erro:
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..
Causa
Se o local /tmp for definido como noexec
, a versão atual da DSC falhará ao aplicar as configurações.
Resolução
Remova a opção noexec
do local /tmp.
Cenário: nomes de configuração de nó que se sobrepõem podem resultar em uma versão incorreta
Problema
Quando você usa um único script de configuração para gerar várias configurações de nó, e alguns nomes de configuração de nó são subconjuntos de outros nomes, o serviço de compilação pode acabar atribuindo a configuração errada. Esse problema ocorre apenas quando você usa um único script para gerar configurações com dados de configuração por nó e somente quando a sobreposição de nome ocorre no início da cadeia de caracteres. Um exemplo é um script de configuração único usado para gerar configurações com base nos dados de nó passados como uma tabela de hash usando cmdlets, e os dados de nó incluem servidores chamados server e 1server.
Causa
Esse é um problema conhecido do serviço de compilação.
Resolução
A melhor solução é compilar localmente ou em um pipeline de CI/CD e carregar os arquivos MOF de configuração de nó diretamente no serviço. Se a compilação no serviço for obrigatória, a próxima solução alternativa será dividir os trabalhos de compilação para que não haja sobreposição de nomes.
Cenário: erro de tempo limite do gateway no carregamento da configuração DSC
Problema
Você recebe um erro GatewayTimeout
ao carregar uma configuração DSC.
Causa
Configurações DSC que levam muito tempo para serem compiladas podem causar esse erro.
Resolução
Você pode fazer com que suas configurações DSC sejam analisadas mais rapidamente, incluindo de forma explícita o parâmetro ModuleName
para quaisquer chamadas de Import-DSCResource.
Cenário: erro durante a integração de um computador
Problema
Você recebe um erro agent has a problem
ao fazer a integração de um computador.
Causa
Esse é um problema conhecido. Você não pode atribuir a mesma configuração novamente, pois o nó permanece no estado pendente.
Resolução
A estratégia é aplicar uma configuração de teste diferente e testar a configuração original novamente.
Próximas etapas
Se você não encontrar seu problema aqui ou não conseguir resolvê-lo, experimente um dos seguintes canais para obter suporte:
- Obtenha respostas de especialistas do Azure nos Fóruns do Azure.
- Conecte-se ao @AzureSupport, a conta oficial do Microsoft Azure para melhorar a experiência do cliente. O Suporte do Azure conecta a Comunidade do Azure a respostas, suporte e especialistas.
- Registrar um incidente de suporte do Azure. Acesse o site de suporte do Azure e selecione Obter suporte.