Extensão de máquina virtual de dependência do Azure Monitor para Linux

O recurso Mapa do Azure Monitor para VMs obtém seus dados do Microsoft Dependency Agent. A extensão de máquina virtual do agente de dependência de VM do Azure para Linux instala o agente de dependência em máquinas virtuais do Azure. Este documento especifica as opções de plataformas, de configurações e de implantação com suporte para a extensão da máquina virtual do agente de dependência da VM do Azure.

Pré-requisitos

Sistema operacional

Como o agente de dependência da VM do Azure funciona no nível do kernel, o suporte ao sistema operacional também depende da versão do kernel. A partir da versão 9.10.* do Dependency Agent, o agente dá suporte a * kernels. A tabela a seguir lista a versão principal e secundária do sistema operacional Linux e as versões de kernel compatíveis com o Dependency Agent.

Observação

Com o Dependency Agent 9.10.15 e superior, a instalação não é bloqueada para versões do kernel sem suporte, mas o agente será executado no modo degradado. Nesse modo, os dados de conexão e porta armazenados nas tabelas VMConnection e VMBoundport não são coletados. A tabela VMProcess pode ter alguns dados, mas serão mínimos.

Distribuição Versão do SO Versão do 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 (inclui o kernel ajustado pelo 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.* (inclui o kernel ajustado pelo 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

Observação

Não há suporte para o agente de dependência em Máquinas Virtuais do Azure com processadores baseados em ARM do Ampere Altra.

Esquema de extensão

O JSON a seguir mostra o esquema da extensão do agente de dependência de VM do Azure em uma VM para Linux do 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 propriedade

Nome Valor/exemplo
apiVersion 01-01-2015
publicador Microsoft.Azure.Monitoring.DependencyAgent
type DependencyAgentLinux
typeHandlerVersion 9,5
settings "enableAMA": "true"

Importante

Adicione enableAMA ao modelo se você estiver usando o Agente do Azure Monitor; caso contrário, o Dependency Agent tentará enviar dados para o agente herdado do Log Analytics.

Implantação de modelo

Você pode implantar extensões de VM do Azure com os modelos do Azure Resource Manager. Você pode usar o esquema JSON detalhado na seção anterior em um modelo do Azure Resource Manager para executar a extensão do agente de dependência de VM do Azure durante uma implantação de modelo do Azure Resource Manager.

O JSON de uma extensão de máquina virtual pode ser aninhado no recurso de máquina virtual. Como alternativa, você pode colocá-lo no nível raiz ou superior de um modelo JSON do Resource Manager. O posicionamento do JSON afeta o valor do tipo e nome do recurso. Para obter mais informações, consulte Definir o nome e o tipo de recursos filho.

O exemplo a seguir pressupõe que a extensão do agente de dependência está aninhada no recurso de máquina virtual. Quando você aninha o recurso de extensão, o JSON é colocado no objeto "resources": [] da 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"
        }
	}
}

Ao colocar a extensão JSON na raiz do modelo, o nome do recurso inclui uma referência à máquina virtual pai. O tipo reflete a configuração aninhada.

{
	"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"
        }
	}
}

Implantação da CLI do Azure

Você pode usar o CLI do Azure para implantar a extensão de VM do agente de dependência em uma máquina virtual existente.


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

Atualização da extensão automática

Agora, está disponível um novo recurso para atualizar automaticamente as versões secundárias da extensão de Dependência.

Para habilitar a atualização da extensão automática para uma extensão, você deve garantir que a propriedade enableAutomaticUpgrade esteja definida como true e adicionada ao modelo de extensão. Essa propriedade deve ser habilitada individualmente em cada VM ou conjunto de dimensionamento de VM. Use um dos métodos descritos na seção habilitação para habilitar o recurso para sua VM ou conjunto de dimensionamento de VM.

Quando a atualização automática de extensão está habilitada em uma VM ou conjunto de dimensionamento de VM, ela é atualizada automaticamente sempre que o editor libera uma nova versão para a extensão. A atualização é aplicada com segurança de acordo com os princípios de disponibilidade, conforme descrito aqui.

A funcionalidade do atributo enableAutomaticUpgrade é diferente da do autoUpgradeMinorVersion. O atributo autoUpgradeMinorVersion não dispara automaticamente uma atualização de versão secundária quando o editor de extensão lança uma nova versão. O atributo autoUpgradeMinorVersion indica se a extensão deve usar uma versão secundária mais nova se houver uma disponível no momento da implantação. Após implantada, no entanto, a extensão não atualizará as versões secundárias, a menos que seja reimplantada, mesmo com essa propriedade definida como verdadeira.

Para manter a versão de extensão atualizada, recomendamos usar enableAutomaticUpgrade com sua implantação de extensão.

Importante

Se você adicionar enableAutomaticUpgrade ao modelo, use a versão 2019-12-01 da API ou superior.

Solução de problemas e suporte

Solucionar problemas

Dados sobre o estado das implantações de extensão podem ser recuperados do Portal do Azure usando a CLI do Azure. Para ver o estado da implantação das extensões de uma determinada VM, execute o seguinte comando usando a CLI do Azure:

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

A saída de execução da extensão é registrada no seguinte arquivo:

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

Suporte

Se você precisar de mais ajuda em qualquer ponto deste artigo, contate os especialistas do Azure nas Microsoft Q&A e fóruns do Stack Overflow. Como alternativa, você pode registrar um incidente de suporte do Azure. Vá para o site de suporte do Azure e selecione Obter suporte. Para saber mais sobre como usar o suporte do Azure, leia as Perguntas frequentes sobre o suporte do Microsoft Azure.