Solución de problemas de State Configuration de Azure Automation

En este artículo se proporciona información sobre la solución de problemas que surgen al compilar o implementar configuraciones en State Configuration de Azure Automation. Para obtener información general sobre la característica State Configuration, consulte Introducción a State Configuration.

Diagnóstico de problemas

Si recibe un error de compilación o implementación de la configuración, los pasos siguientes le ayudarán a diagnosticar el problema.

1. Asegúrese de que la configuración se compila correctamente en la máquina local

State Configuration de Azure Automation está integrado en Desired State Configuration (DSC) de PowerShell. Puede encontrar la documentación del lenguaje y la sintaxis de DSC en los documentos de DSC de PowerShell.

Al compilar una configuración de DSC en la máquina local, puede detectar y resolver errores comunes, como los siguientes:

  • Módulos que faltan
  • Errores de sintaxis
  • Errores lógicos

2. Visualización de los registros de DSC en el nodo

Si la configuración se compila correctamente, pero se produce un error cuando se aplica a un nodo, puede encontrar información detallada en los registros de DSC. Para obtener información sobre dónde encontrar estos registros, consulte ¿Dónde se encuentran los registros de eventos de DSC?

El módulo xDscDiagnostics puede ayudarle a analizar la información detallada de los registros de DSC. Si se pone en contacto con el equipo de soporte técnico, necesitarán estos registros para diagnosticar el problema.

Puede instalar el módulo xDscDiagnostics en la máquina local con las instrucciones para la instalación de la versión estable del módulo.

Para instalar el módulo xDscDiagnostics en la máquina de Azure, use Invoke-AzVMRunCommand. También puede usar la opción Ejecutar comando de Azure Portal siguiendo los pasos de Ejecución de scripts de PowerShell en la máquina virtual Windows mediante Ejecutar comando.

Para obtener información sobre el uso de xDscDiagnostics, consulte Uso de xDscDiagnostics para analizar los registros de DSC. Consulte también Cmdlets de xDscDiagnostics.

3. Asegúrese de que los nodos y el área de trabajo de Automation tengan los módulos necesarios

DSC depende de módulos que hay instalados en el nodo. Al usar State Configuration de Azure Automation, importe los módulos necesarios en la cuenta de Automation mediante los pasos de Importación de módulos. Las configuraciones también pueden tener una dependencia en versiones específicas de los módulos. Para más información, consulte Solución de problemas de módulos.

Escenario: no se puede eliminar una configuración con caracteres especiales del portal

Problema

Al intentar eliminar una configuración de DSC del portal, verá el siguiente error:

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

Este error es un problema temporal que está previsto que se resuelva.

Solución

Use el cmdlet Remove-AzAutomationDscConfiguration para eliminar la configuración.

Escenario: no se pudo registrar el agente de DSC

Problema

Si usa Set-DscLocalConfigurationManager u otro cmdlet de DSC, recibirá el siguiente error:

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 htt
ps://<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.Re
   gisterDscAgentCommand
    + PSComputerName        : <computerName>

Causa

Este error se debe normalmente a un firewall, a la máquina que está detrás de un servidor proxy o a otros errores de red.

Solución

Compruebe que la máquina tenga acceso a los puntos de conexión adecuados para DSC y vuelva a intentarlo. Para ver una lista de puertos y direcciones necesarios, consulte el artículo sobre planeamiento de red.

Escenario: los informes de estado devuelven el código de respuesta No autorizado

Problema

Al registrar un nodo con State Configuration de Azure Automation, recibirá uno de los mensajes de error siguientes:

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

Las posibles causas son las siguientes:

Solución

Siga estos pasos para volver a registrar el nodo de DSC con errores.

Paso 1: anulación del registro del nodo

  1. En Azure Portal, vaya a Inicio>Cuentas de Automation> (su cuenta de Automation) >State Configuration (DSC).
  2. Seleccione Nodos y, luego, el nodo con problemas.
  3. Seleccione Cancelar registro para cancelar el registro del nodo.

Paso 2: desinstalación de la extensión DSC del nodo

  1. En Azure Portal, vaya a Inicio>Máquina virtual> (nodo con errores) > Extensiones.
  2. Seleccione Microsoft.PowerShell.DSC, la extensión DSC de PowerShell.
  3. Haga clic en Desinstalar para desinstalar la extensión.

Paso 3: eliminación de todos los certificados incorrectos o expirados del nodo

En un nodo con errores de un símbolo del sistema de PowerShell con privilegios elevados, ejecute estos 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)
    }
}

Paso 4: repetición del registro del nodo con errores

  1. En Azure Portal, vaya a Inicio>Cuentas de Automation> (su cuenta de Automation) >State Configuration (DSC).
  2. Seleccione Nodos.
  3. Seleccione Agregar.
  4. Seleccione el nodo con errores.
  5. Seleccione Conectar y, luego, las opciones deseadas.

Escenario: el nodo se encuentra en estado de error con el error "No encontrado"

Problema

El nodo tiene un informe con el estado Con errores y contiene el error:

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

Este error suele ocurrir cuando se asigna al nodo un nombre de configuración, como ABC, en lugar de un nombre de configuración de nodo (archivo MOF), como ABC.WebServer.

Solución

  • Asegúrese de estar asignando al nodo un nombre de configuración de nodo y no el nombre de configuración.

  • Puede asignar una configuración de nodo a un nodo mediante Azure Portal o con un cmdlet de PowerShell.

    • En Azure Portal, vaya a Inicio>Cuentas de Automation> (su cuenta de Automation) >State Configuration (DSC). Seleccione un nodo y, luego, Asignar configuración de nodo.
    • Use el cmdlet Set-AzAutomationDscNode.

Escenario: no se produjeron configuraciones de nodo (archivos MOF) al compilarse una configuración

Problema

Su trabajo de compilación de DSC suspende con el error:

Compilation completed successfully, but no node configuration **.mof** files were generated.

Causa

Cuando la expresión que aparece junto a la palabra clave Node en la configuración de DSC se evalúa en $null, no se produce ninguna configuración de nodo.

Solución

Use cualquiera de las siguientes soluciones para corregir el problema.

  • Asegúrese de que la expresión junto a la palabra clave Node en la definición de configuración no se está evaluando en Null.
  • Si pasa ConfigurationData al compilar la configuración, asegúrese de que pasa los valores esperados que la configuración necesita de los datos de configuración.

Escenario: el informe de nodo de DSC se queda bloqueado en el estado En curso

Problema

El agente DSC genera la salida:

No instance found with given property values

Causa

Ha actualizado la versión de Windows Management Framework (WMF) y ha dañado la de Instrumental de administración de Windows (WMI).

Solución

Siga las instrucciones de Problemas y limitaciones conocidos en DSC.

Escenario: no se puede usar una credencial en una configuración de DSC

Problema

El trabajo de compilación de DSC se ha suspendido con el error:

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

Ha usado una credencial en una configuración, pero no ha proporcionado el valor adecuado de ConfigurationData para establecer PSDscAllowPlainTextPassword en true para cada configuración de nodo.

Solución

Asegúrese de pasar el valor adecuado de ConfigurationData para establecer PSDscAllowPlainTextPassword en True para cada configuración de nodo mencionada en la configuración. Consulte Compilación de configuraciones de DSC en Azure Automation State Configuration.

Escenario: error de procesamiento de la extensión al habilitar una máquina desde una extensión DSC

Problema

Al habilitar una máquina mediante una extensión DSC, se produce un error que contiene lo siguiente:

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

Este error suele producirse cuando se asigna al nodo un nombre de configuración que no existe en el servicio.

Solución

  • Asegúrese de que asigna al nodo un nombre que coincida exactamente con el nombre del servicio.
  • Puede elegir no incluir el nombre de configuración del nodo, lo que da lugar a la habilitación del nodo, pero no a la asignación de una configuración del nodo.

Escenario: error "Se produjeron uno o más errores" al registrar un nodo con PowerShell

Problema

Al registrar un nodo mediante Register-AzAutomationDSCNode o Register-AzureRMAutomationDSCNode, se recibirá el siguiente error:

One or more errors occurred.

Causa

Este error se produce cuando se intenta registrar un nodo en una suscripción independiente de la que usa la cuenta de Automation.

Solución

Trate el nodo entre suscripciones como si se hubiera definido para una nube independiente o local. Registre el nodo mediante una de estas opciones para habilitar las máquinas:

Escenario: mensaje de error: "Error en el aprovisionamiento"

Problema

Al registrar un nodo, se muestra el error:

Provisioning has failed

Causa

Este mensaje se produce cuando hay un problema de conectividad entre el nodo y Azure.

Solución

Determine si el nodo está en una red virtual privada (VPN) o si tiene otros problemas para conectarse a Azure. Vea Solución de incidencias en la implementación de características.

Escenario: error general al aplicar una configuración en Linux

Problema

Al aplicar una configuración en Linux, se produce un error que contiene lo siguiente:

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

Si la ubicación /tmp se establece en noexec, la versión actual de DSC no puede aplicar las configuraciones.

Solución

Quite la opción noexec de la ubicación /tmp.

Escenario: los nombres de configuración de nodos que se superponen pueden provocar una versión incorrecta

Problema

Si usa un único script de configuración para generar varias configuraciones de nodo y algunos nombres de configuración de nodos son subconjuntos de otros nombres, el servicio de compilación puede acabar asignando la configuración incorrecta. Este problema solo se produce al utilizar un único script para generar configuraciones con datos de configuración por nodo y solo cuando la superposición de los nombres tiene lugar al principio de la cadena. Un ejemplo es un script de configuración único para generar configuraciones basadas en los datos de nodo pasados como una tabla hash mediante cmdlets, y los datos del nodo incluyen servidores denominados server y 1server.

Causa

Este es un problema conocido con el servicio de compilación.

Solución

La mejor solución sería realizar la compilación localmente o en una canalización de CI/CD y cargar los archivos MOF de configuración de nodos directamente en el servicio. Si es necesario que la compilación tenga lugar en el servicio, la siguiente mejor solución alternativa es dividir los trabajos de compilación para que no haya nombres superpuestos.

Escenario: error de tiempo de espera de puerta de enlace en la carga de la configuración de DSC

Problema

Recibe un error GatewayTimeout al cargar una configuración de DSC.

Causa

Las configuraciones de DSC que tardan mucho tiempo en compilarse pueden producir este error.

Solución

Las configuraciones de DSC se pueden analizar más rápidamente si se incluye expresamente el parámetro ModuleName en cualquier llamada Import-DSCResource.

Escenario: Error al incorporar una máquina

Problema

Se produce un error agent has a problem al incorporar una máquina.

Causa

Este es un problema conocido. No puede volver a asignar la misma configuración porque el nodo permanece en estado pendiente.

Solución

La solución alternativa consiste en aplicar otra configuración de prueba y volver a aplicar la configuración original.

Pasos siguientes

Si su problema no aparece aquí o no puede resolverlo, intente obtener ayuda adicional mediante uno de los siguientes canales:

  • Obtenga respuestas de expertos de Azure en los foros de Azure.
  • Póngase en contacto con @AzureSupport, la cuenta oficial de Microsoft Azure para mejorar la experiencia del cliente. El Soporte técnico de Azure pone en contacto a la comunidad de Azure con respuestas, soporte técnico y expertos.
  • Registrar un incidente de soporte técnico de Azure. Vaya al sitio de Soporte técnico de Azure y seleccione Obtener soporte técnico.