Implementación de una instancia de Hybrid Runbook Worker de Linux basada en agentes en Automation

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planeación en consecuencia. Para obtener más información, consulte la guía de fin de vida de CentOS.

Importante

Azure Automation Hybrid Runbook Worker (Windows y Linux) basado en agente se retirará el 31 de agosto de 2024 y no se admitirá después de esa fecha. Antes del 31 de agosto de 2024, debe completar la migración de usuarios de Hybrid Runbook Workers a Workers basados en extensión. Además, a partir del 1 de noviembre de 2023, no será posible crear nuevas instancias de Hybrid Worker basadas en agente. Más información.

Puede usar la característica Hybrid Runbook Worker de usuario de Azure Automation para ejecutar runbooks directamente en la máquina de Azure o que no es de Azure, incluidos los servidores registrados con servidores habilitados para Azure Arc. En la máquina o el servidor que hospeda el rol, puede ejecutar runbooks directamente y con los recursos del entorno para administrar esos recursos locales.

Hybrid Runbook Worker en Linux ejecuta runbooks como un usuario especial que puede tener permisos elevados para ejecutar comandos que necesitan permisos elevados. Azure Automation almacena y administra los runbooks y después los entrega a una o más máquinas seleccionadas. En este artículo se describe cómo instalar la instancia de Hybrid Runbook Worker en una máquina Linux, cómo eliminar el trabajo y cómo eliminar un grupo de Hybrid Runbook Worker. Para las instancias de Hybrid Runbook Worker de usuario, consulte también Implementación de una instancia de Hybrid Runbook Worker de usuario de Windows o Linux basada en una extensión en Automation.

Después de implementar correctamente un trabajo de runbook, revise la ejecución de runbooks en Hybrid Runbook Worker para más información sobre cómo configurar los runbooks para automatizar los procesos del centro de datos local o en otro entorno de nube.

Nota:

Una instancia de Hybrid Worker puede coexistir con ambas plataformas: basada en agente (V1) y basada en extensión (V2). Si opta por la opción Basada en extensión (V2) en una instancia de Hybrid Worker que ya se ejecuta Basada en agente (V1), podría ver dos entradas de la instancia de Hybrid Runbook Worker en el grupo: una con la plataforma Basada en extensión (V2) y otra Basada en agente (V1) . Más información.

Requisitos previos

Antes de empezar, asegúrese de que dispone de lo siguiente.

Un área de trabajo de Log Analytics

El rol Hybrid Runbook Worker depende de un área de trabajo de Log Analytics de Azure Monitor para instalar y configurar el rol. Puede usar Azure Resource Manager mediante PowerShell o Azure Portal.

Si no tiene ningún área de trabajo de Log Analytics de Azure Monitor, revise la guía de diseño de registros de Azure Monitor antes de crear el área de trabajo.

Agente de Log Analytics

El rol de Hybrid Runbook Worker requiere el agente de Log Analytics para el sistema operativo Linux compatible. En el caso de servidores o máquinas hospedados fuera de Azure, puede instalar el agente de Log Analytics con servidores habilitados para Azure Arc. El agente se instala con determinadas cuentas de servicio que ejecutan comandos que requieren permisos raíz. Para más información, consulte Cuentas de servicio.

Sistemas operativos Linux compatibles

La característica Hybrid Runbook Worker admite las siguientes distribuciones. Se supone que todos los sistemas operativos son x64. No se admite x86 para ningún sistema operativo.

  • Amazon Linux 2012.09 a 2015.09

  • CentOS Linux 5, 6, 7 y 8

  • Oracle Linux 6, 7 y 8

  • Red Hat Enterprise Linux Server 5, 6, 7 y 8

  • Debian GNU/Linux 6, 7 y 8

  • SUSE Linux Enterprise Server 12, 15 y 15.1 (no se publicaron las versiones 13 ni 14 de SUSE)

  • Ubuntu

    SO Linux Nombre
    20.04 LTS Focal Fossa
    18.04 LTS Bionic Beaver
    16.04 LTS Xenial Xerus
    14.04 LTS Trusty Tahr

Nota:

Hybrid Worker seguiría las escalas de tiempo de soporte técnico del proveedor del sistema operativo.

Importante

Antes de habilitar la característica Update Management, que depende del rol Hybrid Runbook Worker del sistema, confirme las distribuciones que admite aquí.

Requisitos mínimos

Los requisitos mínimos de un sistema Linux y una instancia de Hybrid Runbook Worker de usuario son los siguientes:

  • Dos núcleos
  • 4 GB de RAM
  • Puerto 443 (saliente)
Paquetes necesarios Descripción Versión mínima
Glibc Biblioteca GNU C 2.5-12
Openssl Bibliotecas OpenSSL 1.0 (se admiten TLS 1.1 y TLS 1.2)
Curl Cliente web de cURL 7.15.5
Python ctypes Biblioteca de funciones externas para Python Se requieren Python 2.x o Python 3.x
PAM Módulos de autenticación conectables
Paquete opcional Descripción Versión mínima
PowerShell Core Para ejecutar runbooks de PowerShell, es necesario instalar PowerShell Core. Consulte Instalación de PowerShell Core en Linux para obtener información sobre cómo instalarlo. 6.0.0

Adición de una máquina a un grupo de Hybrid Runbook Worker.

Puede agregar la máquina de trabajo a un grupo de Hybrid Runbook Worker de una de sus cuentas de Automation. Las máquinas que hospedan la instancia de Hybrid Runbook Worker del sistema administrada por Update Management se pueden agregar a un grupo de Hybrid Runbook Worker. Sin embargo, debe usar la misma cuenta de Automation para Update Management y para la pertenencia al grupo de Hybrid Runbook Worker.

Nota:

Update Management de Azure Automation instala automáticamente la instancia de Hybrid Runbook Worker del sistema en una máquina de Azure o que no es de Azure habilitada para Update Management. Sin embargo, este Worker no se registra con ninguno de los grupos de Hybrid Runbook Worker de la cuenta de Automationgrupo de la barra de herramientas. Para ejecutar los runbooks en esas máquinas, debe agregarlas a un grupo de Hybrid Runbook Worker. Siga el paso 4 de la sección Instalación de un Hybrid Runbook Worker de Linux para agregarlo a un grupo.

Protección de Linux admitida

Todavía no se admite lo siguiente:

  • CIS

Tipos de runbook admitidos

Las instancias de Hybrid Runbook Worker admiten un conjunto limitado de tipos de runbook en Azure Automation y se describen en la tabla siguiente.

Tipo de runbook Compatible
Python 3 (versión preliminar) Sí, necesario solo para estas distribuciones: SUSE LES 15, RHEL 8 y CentOS 8
Python 2 Sí, para cualquier distribución que no requiera Python 31
PowerShell 2
Flujo de trabajo de PowerShell No
Gráfico No
Flujo de trabajo gráfico de PowerShell No

1Consulte Sistemas operativos Linux compatibles.

2Los runbooks de PowerShell requieren que PowerShell Core esté instalado en la máquina Linux. Consulte Instalación de PowerShell Core en Linux para obtener información sobre cómo instalarlo.

Configuración de red

Para conocer los requisitos de red de Hybrid Runbook Worker, consulte Configuración de la red.

Instalación de Hybrid Runbook Worker en Linux

Hay dos métodos para implementar Hybrid Runbook Worker. Puede importar y ejecutar un runbook desde la galería de runbooks de Azure Portal, o puede ejecutar manualmente una serie de comandos de PowerShell.

El procedimiento de importación se describe en detalle en Importación de runbooks desde GitHub con Azure Portal. El nombre del runbook que se va a importar es Create Automation Linux HybridWorker.

El runbook usa los parámetros siguientes.

Parámetro Estado Descripción
Location Mandatory La ubicación del área de trabajo de Log Analytics.
ResourceGroupName Mandatory El grupo de recursos de la cuenta de Automation.
AccountName Mandatory El nombre de la cuenta de Automation en la que se registrará Hybrid Run Worker.
CreateLA Mandatory Si es true, usa el valor de WorkspaceName para crear un área de trabajo de Log Analytics. Si es false, el valor de WorkspaceName debe hacer referencia a un área de trabajo existente.
LAlocation Opcionales Ubicación en la que se creará el área de trabajo de Log Analytics o donde ya existe.
WorkspaceName Opcionales Nombre del área de trabajo de Log Analytics que se va a crear o a usar.
CreateVM Mandatory Si es true, use el valor de VMName como nombre de una nueva VM. Si es false, use VMName para buscar y registrar la VM existente.
VMName Opcionales Nombre de la máquina virtual que se crea o se registra, dependiendo del valor de CreateVM.
VMImage Opcionales Nombre de la imagen de VM que se va a crear.
VMlocation Opcionales Ubicación de la VM que se ha creado o registrado. Si no se especifica esta ubicación, se usa el valor de LAlocation.
RegisterHW Mandatory Si es true, registre la VM como Hybrid Worker.
WorkerGroupName Mandatory Nombre del Grupo de Hybrid Worker.

Ejecución manual de comandos de PowerShell

Para instalar y configurar una instancia de Hybrid Runbook Worker para Linux, siga los pasos que se indican a continuación.

  1. Habilite la solución Azure Automation en el área de trabajo de Log Analytics mediante la ejecución del siguiente comando en un símbolo del sistema de PowerShell con privilegios elevados o en Cloud Shell en Azure Portal:

    Set-AzOperationalInsightsIntelligencePack -ResourceGroupName <resourceGroupName> -WorkspaceName <workspaceName> -IntelligencePackName "AzureAutomation" -Enabled $true
    
  2. Implemente el agente de Log Analytics en la máquina de destino.

    • En el caso de las VM de Azure, instale el agente de Log Analytics para Linux mediante la extensión de máquina virtual para Linux. La extensión instala el agente de Log Analytics en Azure Virtual Machines e inscribe las máquinas virtuales en un área de trabajo de Log Analytics. Puede usar una plantilla de Azure Resource Manager, la CLI de Azure o Azure Policy para asignar la definición de directiva integrada Implementar el agente de Log Analytics para las VM Linux o Windows. Una vez instalado el agente, la máquina se puede agregar a un grupo de Hybrid Runbook Worker de su cuenta de Automation.

    • En el caso de máquinas que no sean de Azure, puede instalar el agente de Log Analytics mediante servidores habilitados para Azure Arc. Los servidores habilitados para Azure Arc admiten la implementación del agente de Log Analytics con los métodos siguientes:

      • Uso del marco de extensiones de VM.

        Esta característica de los servidores habilitados para Azure Arc le permite implementar la extensión de máquina virtual del agente de Log Analytics en un servidor Windows o Linux que no sea de Azure. Las extensiones de máquina virtual se pueden administrar con los siguientes métodos en las máquinas híbridas o en servidores administrados por otros habilitados para Azure Arc:

      • Uso de Azure Policy.

        Con este enfoque, puede usar la definición de directiva integrada Implementación del agente de Log Analytics en máquinas de Azure Arc Linux o Microsoft de Azure Policy para auditar si el servidor habilitado para Arc tiene instalado el agente de Log Analytics. Si el agente no está instalado, lo implementa automáticamente mediante una tarea de corrección. Si planea supervisar las máquinas con Azure Monitor para VM, puede usar en su lugar la iniciativa Habilitar Azure Monitor para VM para instalar y configurar el agente de Log Analytics.

      Se recomienda instalar el agente de Log Analytics para Windows o Linux con Azure Policy.

    Nota:

    Para administrar la configuración de las máquinas que admiten el rol de Hybrid Runbook Worker con Desired State Configuration (DSC), debe agregar dichas máquinas como nodos de DSC.

    Nota:

    La cuenta nxautomation con los permisos sudo correspondientes debe estar presente durante la instalación de la instancia de Hybrid Worker en Linux. Si intenta instalar el trabajo, y la cuenta no está presente o no tiene los permisos adecuados, se producirá un error de la instalación.

  3. Compruebe que el agente informa al área de trabajo.

    El agente de Log Analytics para Linux conecta las máquinas a un área de trabajo de Log Analytics de Azure Monitor. Cuando instala el agente en la máquina y lo conecta al área de trabajo, se descargan automáticamente los componentes necesarios para la instancia de Hybrid Runbook Worker.

    Una vez que el agente se ha conectado correctamente al área de trabajo de Log Analytics, transcurridos unos minutos, puede ejecutar la consulta siguiente para comprobar que envía datos de latido al área de trabajo.

    Heartbeat
    | where Category == "Direct Agent"
    | where TimeGenerated > ago(30m)
    

    En los resultados de la búsqueda, verá los registros de latido de la máquina que indican que está conectada y que está creando informes para el servicio. De forma predeterminada, cada agente reenvía un registro de latido a su área de trabajo asignada.

  4. Ejecute el siguiente comando para agregar la máquina a un grupo de Hybrid Runbook Worker y especifique los valores para los parámetros -w, -k, -g y -e.

    Puede obtener la información necesaria para los parámetros -k y -e de la página Claves de la cuenta de Automation. Seleccione Claves en la sección Configuración de la cuenta en el lado izquierdo de la página.

    Página Administrar claves

    • Para el parámetro -e, copie el valor para URL.

    • Para el parámetro -k, copie el valor para CLAVE DE ACCESO PRIMARIA.

    • Para el parámetro -g, especifique el nombre del grupo de Hybrid Runbook Worker al que se debe unir la nueva instancia de Hybrid Runbook Worker para Linux. Si este grupo ya existe en la cuenta de Automation, se le agregará la máquina actual. Si no existe, se crea con ese nombre.

    • Para el parámetro -w, especifique el identificador del área de trabajo de Log Analytics.

    sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/onboarding.py --register -w <logAnalyticsworkspaceId> -k <automationSharedKey> -g <hybridGroupName> -e <automationEndpoint>
    
  5. Después de que se complete el script, compruebe la implementación. En la página Hybrid Runbook Worker Groups (Grupos de Hybrid Runbook Worker) de la cuenta de Automation, en la pestaña User hybrid runbook workers group (Grupo de instancias de Hybrid Runbook Worker de usuario), se muestra el grupo nuevo o existente y el número de miembros. Si se trata de un grupo existente, se incrementa el número de miembros. Puede seleccionar el grupo en la lista de la página y, en el menú de la izquierda, elegir Hybrid Workers. En la página Hybrid Workers, puede ver cada uno de los miembros del grupo mostrado.

    Nota:

    Si usa la extensión de máquina virtual de Log Analytics para una VM de Azure para Linux, se recomienda establecer autoUpgradeMinorVersion en false, ya que las versiones de actualización automática pueden provocar problemas con Hybrid Runbook Worker. Para obtener información sobre cómo actualizar manualmente la extensión, vea Implementación de la CLI de Azure.

Desactivación de la validación de firma

De forma predeterminada, las instancias de Hybrid Runbook Worker de Linux requieren la validación de la firma. Si ejecuta un runbook sin firmar en un trabajo, verá un error Signature validation failed. Para desactivar la validación de firmas, ejecute el siguiente comando como raíz. Reemplace el segundo parámetro por el identificador de área de trabajo de Log Analytics.

sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/require_runbook_signature.py --false <logAnalyticsworkspaceId>

Eliminación de la instancia de Hybrid Runbook Worker

Ejecute los comandos siguientes como raíz en Hybrid Worker de Linux basado en agentes:

  1.    sudo bash
    
  2.    rm -r /home/nxautomation
    
  3. En Automatización de procesos, seleccione Grupos de Hybrid Worker y, a continuación, el grupo de Hybrid Worker para ir a la página Grupo de Hybrid Worker.

  4. En Grupo de Hybrid Worker, seleccione Hybrid Workers.

  5. Active la casilla situada junto a las máquinas que desea eliminar del grupo de Hybrid Worker.

  6. Seleccione Eliminar para quitar Hybrid Worker de Linux basado en agente.

    Nota:

    • Este script no quita el agente de Log Analytics para Linux de la máquina. Solo quita la funcionalidad y la configuración del rol de Hybrid Runbook Worker.
    • Después de deshabilitar Private Link en la cuenta de Automation, podría tardar hasta 60 minutos en quitar el trabajo de runbook híbrido.
    • Después de quitar el rol Hybrid Worker, el certificado de autenticación de Hybrid Worker en la máquina es válido durante 45 minutos.

Eliminación de un grupo de Hybrid Worker

Para eliminar un grupo de Hybrid Runbook Worker de máquinas con Linux, use los mismos pasos que para un grupo de Hybrid Worker de Windows. Consulte Eliminación de un grupo de Hybrid Worker.

Administración de permisos de rol para grupos e instancias de Hybrid Worker

Puede crear roles de Azure Automation personalizados y conceder los siguientes permisos a grupos e instancias de Hybrid Worker. Para obtener más información sobre cómo crear roles personalizados de Azure Automation, consulte Roles personalizados de Azure.

Acciones Descripción
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read Lee un grupo de Hybrid Runbook Worker.
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/write Crea un grupo de Hybrid Runbook Worker.
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/delete Elimina un grupo de Hybrid Runbook Worker.
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers/read Lee una instancia de Hybrid Runbook Worker.
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers/delete Elimina una instancia de Hybrid Runbook Worker.

Comprobación de la versión de Hybrid Worker

Para comprobar la versión de Hybrid Runbook Worker basado en agente de Linux, vaya a la ruta de acceso siguiente:

   sudo cat /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/VERSION

El archivo VERSION contiene el número de versión de Hybrid Runbook Worker.

Pasos siguientes