Extensión de máquina virtual de Azure Monitor Dependency para Linux

La característica Service Map de Azure Monitor para VM obtiene sus datos de Microsoft Dependency Agent. La extensión de máquina virtual de Dependency Agent de Azure VM para Linux instala Dependency Agent en máquinas virtuales de Azure. En este documento se especifican las plataformas compatibles, las configuraciones y las opciones de implementación de la extensión de máquina virtual de Dependency Agent de Azure VM para Linux.

Prerrequisitos

Sistema operativo

Como el programa Dependency Agent de máquina virtual de Azure funciona en el nivel de kernel, la compatibilidad con el sistema operativo también depende de la versión del kernel. A partir de la versión 9.10.* de Dependency Agent el agente admite * kernels. En la tabla siguiente se enumeran la versión principal y secundaria de los sistemas operativos Linux y las versiones de kernel admitidas para Dependency Agent.

Nota

Con Dependency Agent 9.10.15 y versiones posteriores, la instalación no se bloquea para versiones de kernel no admitidas, pero el agente se ejecuta en modo degradado. En este modo, no se recopilan los datos de conexión y puerto almacenados en las tablas VMConnection y VMBoundport. La tabla VMProcess puede tener algunos datos, pero serán mínimos.

Distribución Versión del SO Versión del kernel
Red Hat Linux 8 8,6 4.18.0-372.*el8.x86_64, 4.18.0-372.*el8_6.x86_64
8.5 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64
8,4 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64
8.3 4.18.0-240.*el8_3.x86_64
8,2 4.18.0-193.*el8_2.x86_64
8.1 4.18.0-147.*el8_1.x86_64
8.0 4.18.0-80.*el8.x86_64
4.18.0-80.*el8_0.x86_64
Red Hat Linux 7 7.9 3.10.0-1160
7.8 3.10.0-1136
7,7 3.10.0-1062
7.6 3.10.0-957
7.5 3.10.0-862
7.4 3.10.0-693
Red Hat Linux 6 6.10 2.6.32-754
6.9 2.6.32-696
CentOS Linux 8 8,6 4.18.0-372.*el8.x86_64, 4.18.0-372.*el8_6.x86_64
8.5 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64
8,4 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64
8.3 4.18.0-240.*el8_3.x86_64
8,2 4.18.0-193.*el8_2.x86_64
8.1 4.18.0-147.*el8_1.x86_64
8.0 4.18.0-80.*el8.x86_64
4.18.0-80.*el8_0.x86_64
CentOS Linux 7 7.9 3.10.0-1160
7.8 3.10.0-1136
7,7 3.10.0-1062
CentOS Linux 6 6.10 2.6.32-754.3.5
2.6.32-696.30.1
6.9 2.6.32-696.30.1
2.6.32-696.18.7
Ubuntu Server 20.04 5.8
5.4*
18,04 5.3.0-1020
5.0 (incluye kernel optimizado para Azure)
4.18*
4.15*
16.04.3 4.15.*
16.04 4.13.*
4.11.*
4.10.*
4.8.*
4.4.*
14.04 3.13.*-generic
4.4.*-generic
SUSE Linux 12 Enterprise Server 12 SP5 4.12.14-122.*-default, 4.12.14-16.*-azure
12 SP4 4.12.* (incluye kernel optimizado para Azure)
12 SP3 4.4.*
12 SP2 4.4.*
SUSE Linux 15 Enterprise Server 15 SP1 4.12.14-197.*-default, 4.12.14-8.*-azure
15 4.12.14-150.*-default
Debian 9 4,9

Nota

Dependency Agent no se admite para Azure Virtual Machines con procesadores basados en ARM de Ampere Altra.

Esquema de extensión

El siguiente JSON muestra el esquema de la extensión de Dependency Agent de Azure VM en una máquina virtual Linux de Azure.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "vmName": {
        "type": "string",
        "metadata": {
            "description": "The name of existing Linux Azure VM."
      }
    }
  },
  "variables": {
      "vmExtensionsApiVersion": "2017-03-30"
  },
  "resources": [
    {
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "name": "[concat(parameters('vmName'),'/DAExtension')]",
      "apiVersion": "[variables('vmExtensionsApiVersion')]",
      "location": "[resourceGroup().location]",
      "dependsOn": [],
      "properties": {
          "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
          "type": "DependencyAgentLinux",
          "typeHandlerVersion": "9.5",
          "autoUpgradeMinorVersion": true,
          "settings": {
              "enableAMA": "true"
        }
      }
    }
  ],
    "outputs": {
    }
}

Valores de propiedad

Nombre Valor/ejemplo
apiVersion 2015-01-01
publisher Microsoft.Azure.Monitoring.DependencyAgent
type DependencyAgentLinux
typeHandlerVersion 9.5
configuración "enableAMA": "true"

Importante

Asegúrese de agregar enableAMA a la plantilla si usa el agente de Azure Monitor; de lo contrario, Dependency Agent intenta enviar datos al agente de Log Analytics heredado.

Implementación de plantilla

Puede implementar las extensiones de VM de Azure con plantillas de Azure Resource Manager. Puede usar el esquema JSON detallado en la sección anterior en una plantilla de Azure Resource Manager para ejecutar la extensión de Dependency Agent de Azure VM durante la implementación de dicha plantilla.

El JSON de una extensión de máquina virtual se puede anidar dentro del recurso de máquina virtual. O bien, puede colocarlo en la raíz o en el nivel superior de una plantilla JSON de Resource Manager. La colocación de la plantilla JSON afecta al valor del nombre y tipo del recurso. Para obtener más información, consulte el artículo sobre cómo establecer el nombre y el tipo de recursos secundarios.

En el siguiente ejemplo se da por supuesto que la extensión de Dependency Agent está anidada dentro del recurso de máquina virtual. Cuando se anidan los recursos de extensión, el JSON se coloca en el objeto "resources": [] de la máquina virtual.

{
	"type": "extensions",
	"name": "DAExtension",
	"apiVersion": "[variables('apiVersion')]",
	"location": "[resourceGroup().location]",
	"dependsOn": [
      "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
	],
	"properties": {
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentLinux",
        "typeHandlerVersion": "9.5",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "enableAMA": "true"
        }
	}
}

Al colocar el JSON de la extensión en la raíz de la plantilla, el nombre de recurso incluye una referencia a la máquina virtual principal. El tipo refleja la configuración anidada.

{
	"type": "Microsoft.Compute/virtualMachines/extensions",
	"name": "<parentVmResource>/DAExtension",
	"apiVersion": "[variables('apiVersion')]",
	"location": "[resourceGroup().location]",
	"dependsOn": [
      "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
	],
	"properties": {
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentLinux",
        "typeHandlerVersion": "9.5",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "enableAMA": "true"
        }
	}
}

Implementación de la CLI de Azure

Puede usar la CLI de Azure para implementar la extensión de máquina virtual de Dependency Agent en una máquina virtual que ya tenga.


az vm extension set \
    --resource-group myResourceGroup \
    --vm-name myVM \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5

Actualización automática de extensiones

Ahora hay disponible una nueva característica para actualizar automáticamente las versiones secundarias de la extensión Dependency.

Para habilitar la actualización automática de extensiones para una extensión, debe asegurarse de que la propiedad enableAutomaticUpgrade esté establecida en true y de que se haya agregado a la plantilla de extensiones. Esta propiedad debe habilitarse individualmente en cada VM o conjunto de escalado de VM. Use uno de los métodos descritos en la sección habilitación para habilitar la característica para la VM o el conjunto de escalado de VM.

Cuando la actualización automática de extensiones está habilitada en una VM o en un conjunto de escalado de VM, la extensión se actualiza automáticamente cada vez que el editor de la extensión publica una nueva versión de esta. La actualización se aplica de forma segura siguiendo los principios de orden de disponibilidad, como se describe aquí.

La funcionalidad del atributo enableAutomaticUpgrade es diferente de la de autoUpgradeMinorVersion. El atributo autoUpgradeMinorVersion no desencadenan automáticamente una actualización de una versión secundaria cuando el editor de la extensión publica una nueva versión. El atributo autoUpgradeMinorVersion indica si la extensión debe usar una versión secundaria más reciente si hay una disponible en el momento de la implementación. Sin embargo, una vez implementada, la extensión no actualizará las versiones secundarias a menos que se vuelva a implementar, incluso con esta propiedad establecida en true.

Para mantener actualizada la versión de la extensión, se recomienda usar enableAutomaticUpgrade con la implementación de la extensión.

Importante

Si agrega enableAutomaticUpgrade a la plantilla, asegúrese de usar la versión de API 2019-12-01 o superior.

Solución de problemas y asistencia

Solución de problemas

Los datos sobre el estado de las implementaciones de extensiones pueden recuperarse desde Azure Portal y mediante la CLI de Azure. Para ver el estado de implementación de las extensiones de una máquina virtual determinada, ejecute el comando siguiente con la CLI de Azure:

az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

El resultado de la ejecución de las extensiones se registra en el archivo siguiente:

/var/opt/microsoft/dependency-agent/log/install.log

Soporte técnico

Si necesita más ayuda con cualquier aspecto de este artículo, póngase en contacto con los expertos de Azure en los foros de preguntas y respuestas de Microsoft y en Stack Overflow. O bien, puede registrar un incidente de soporte técnico de Azure. Vaya al sitio de soporte técnico de Azure y seleccione Obtener soporte. Para obtener más información sobre cómo usar el soporte técnico de Azure, lea las preguntas más frecuentes del soporte técnico de Microsoft Azure.