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.