Implementación de Hybrid Runbook Worker en Linux

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 designadas. 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.

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.

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, para crearla.

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.

Nota

Después de instalar el agente de Log Analytics para Linux, no debe cambiar los permisos de la carpeta sudoers.d ni su propiedad. Se requiere el permiso sudo para la cuenta nxautomation, que es el contexto de usuario en el que se ejecuta Hybrid Runbook Worker. No se deberían quitar los permisos. Su restricción a determinadas carpetas o comandos puede dar lugar a un cambio importante.

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 5, 6 y 7
  • Red Hat Enterprise Linux Server 5, 6, 7 y 8
  • Debian GNU/Linux 6, 7 y 8
  • Ubuntu 12.04 LTS, 14.04 LTS, 16.04 LTS y 18.04 LTS
  • SUSE Linux Enterprise Server 12 y 15 (no se publicaron las versiones 13 y 14 de SUSE)

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 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 trabajo no se registra con ninguno de los grupos de Hybrid Runbook Worker de la cuenta de Automation. 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 para realizar la misma tarea.

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 Opcional Ubicación en la que se creará el área de trabajo de Log Analytics o donde ya existe.
WorkspaceName Opcional 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 Opcional Nombre de la máquina virtual que se crea o se registra, dependiendo del valor de CreateVM.
VMImage Opcional Nombre de la imagen de VM que se va a crear.
VMlocation Opcional 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 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 son de Azure, puede instalar el agente de Log Analytics mediante servidores habilitados para Azure Arc. Los servidores habilitados para Arc admiten la implementación del agente de Log Analytics mediante 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 VM del agente de Log Analytics en un servidor de Windows o Linux que no sea de Azure. Las extensiones de VM se pueden administrar con los siguientes métodos en las máquinas híbridas o servidores administrados por servidores habilitados para Arc:

      • Uso de Azure Policy.

        Con este enfoque, puede usar la directiva integrada Implementación del agente de Log Analytics en máquinas de Azure Arc de Linux o de Windows 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. Como alternativa, 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, se mostrarán todos los miembros del grupo.

    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 la firma, ejecute el siguiente comando. 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

Puede usar el comando ls /var/opt/microsoft/omsagent en Hybrid Runbook Worker para obtener el identificador del área de trabajo. Se creará una carpeta cuyo nombre será el identificador del área de trabajo.

sudo python onboarding.py --deregister --endpoint="<URL>" --key="<PrimaryAccessKey>" --groupname="Example" --workspaceid="<workspaceId>"

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.

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.

Pasos siguientes