Habilitar o monitoramento de VM no Azure Monitor

Este artigo descreve como habilitar o monitoramento, em escala, para máquinas virtuais, conjuntos de dimensionamento de máquinas virtuais e servidores habilitados pelo Arc, usando ferramentas de linha de comando. Usando essas ferramentas, você pode usar ferramentas de iac (infraestrutura como código) e métodos de automação. Esses métodos permitem implantar consistentemente o monitoramento em sua frota de VM e integrar a configuração de monitoramento aos pipelines do DevOps.

Observação

Computadores com suporte

  • Máquinas virtuais do Azure
  • Conjuntos de escala de máquinas virtuais do Azure
  • Servidores habilitados para Arc

Para obter uma lista de sistemas operacionais com suporte, consulte os sistemas operacionais compatíveis com o agente do Azure Monitor.

Pré-requisitos

  • Espaço de trabalho do Azure Monitor se você habilitar as métricas do OpenTelemetry (experiência recomendada para novas implantações em VMs do Azure e servidores habilitados para Arc). Consulte a seção Criar um workspace do Azure Monitor.
  • Workspace do Log Analytics se você habilitar métricas baseadas em logs ou coletar logs. As métricas baseadas em logs são a experiência clássica e normalmente são usadas para compatibilidade com implementações existentes. Veja Criar uma área de trabalho do Log Analytics.
  • Permissões para criar DCRs (regras de coleta de dados) e associá-las a VMs. Consulte as permissões de regra de coleta de dados.
  • Identidade gerenciada para alertas de métrica com base em consulta se você criar regras de alerta para métricas do OpenTelemetry no workspace do Azure Monitor. Use uma identidade gerenciada atribuída pelo usuário e conceda permissões necessárias, conforme descrito na visão geral dos alertas de métrica baseados em consulta (versão prévia).
  • Agente do Azure Connected Machine se você estiver monitorando máquinas virtuais hospedadas fora do Azure. Primeiro, instale o agente do Connected Machine para que o computador possa ser gerenciado por meio de servidores habilitados para Azure Arc antes de instalar o agente do Azure Monitor e habilitar o monitoramento. Consulte Conectar um computador a servidores habilitados para Arc.

Visão geral

Para habilitar o monitoramento completo coletando dados do sistema operacional convidado e cargas de trabalho de uma máquina virtual Azure Monitor, conclua as três etapas mostradas na tabela a seguir. Quando você habilita o monitoramento aprimorado ou cria um DCR no portal Azure, o portal conclui automaticamente cada uma dessas etapas para você.

Etapa Descrição
Instalar o agente do Azure Monitor Instale o agente em cada máquina virtual a ser monitorada. Você só precisa instalar o agente uma vez porque ele pode usar qualquer número de DCRs que coletam dados diferentes.
Criar DCRs (regras de coleta de dados) Cada DCR especifica os dados a serem coletados e para onde enviá-los. Você pode criar seus próprios DCRs ou usar os existentes, dependendo de seus requisitos. Você precisa entender os diferentes tipos de DCRs e suas finalidades para determinar quais usar.
Associar DCRs a VMs Quando você cria uma associação entre uma VM e um DCR, o agente baixa esse DCR e inicia a coleta de dados. Crie associações com vários DCRs para o agente coletar diferentes tipos de dados. Remova associações para interromper a coleta de dados.

Observação

Use as seguintes opções para habilitar o monitoramento para suas máquinas virtuais em escala:

O monitoramento é incluído no gerenciamento de máquinas Essential, que habilita automaticamente vários recursos de gerenciamento para suas máquinas virtuais. Consulte Gerenciamento essencial de máquinas.

Para habilitar o monitoramento em escala usando o Azure Policy, consulte Habilitar insights de VM usando o Azure Policy.

Instalar o agente do Azure Monitor

A primeira etapa é instalar a extensão Azure Monitor Agent em suas máquinas virtuais e servidores habilitados para Arc. O exemplo a seguir instala o agente em uma VM Azure usando o CLI do Azure:

# Windows
az vm extension set \
  --name AzureMonitorWindowsAgent \
  --publisher Microsoft.Azure.Monitor \
  --vm-name <vm-name> \
  --resource-group <resource-group>

Para obter o conjunto completo de opções de instalação, incluindo Linux, Conjuntos de Dimensionamento de Máquinas Virtuais, servidores habilitados para Arc, PowerShell, portal Azure, modelos de Azure Resource Manager e atualização automática, consulte Instalar e gerenciar o agente de Azure Monitor.

Criar regras de coleta de dados

As DCRs (regras de coleta de dados) definem quais dados coletar do agente do Azure Monitor e para onde enviá-los. Você pode criar diferentes tipos de DCRs dependendo do que deseja monitorar. Alguns DCRs habilitam recursos no portal Azure, como a experiência de monitoramento aprimorada para VMs, enquanto outros coletam tipos específicos de logs ou métricas que você pode usar para análise ou alertas.

Os DCRs são estruturados em JSON. Ao criar DCRs usando o portal do Azure, você não precisa de nenhum conhecimento da estrutura do DCR. Talvez seja necessário entender a estrutura do DCR para criar DCRs do zero ou adicionar funcionalidade avançada a DCRs existentes, como adicionar uma transformação.

Ao realizar a integração pelo portal do Azure, o comportamento padrão é criar novos DCRs para a configuração de monitoramento selecionada. Ou você pode selecionar um DCR existente para simplificar a configuração de monitoramento. Se a sua configuração envia dados para um espaço de trabalho do Azure Monitor e um espaço de trabalho do Log Analytics na mesma região, o processo de integração tenta usar um único DCR para ambos os destinos.

A integração pelo portal do Azure também pode incluir métricas por processo do OpenTelemetry, alertas recomendados e painéis no Grafana. Para obter detalhes sobre esse fluxo de trabalho do portal, consulte Tutorial: Habilitar o monitoramento aprimorado para uma máquina virtual Azure.

A tabela a seguir descreve os tipos de DCR mais comuns usados para monitoramento de VM. Para obter uma lista completa de tipos dcr e suas estruturas, consulte a estrutura de regras de coleta de dados. Para obter detalhes sobre como criar DCRs, consulte as regras de coleta de dados: Criar e editar.

Tipo de DCR Descrição
Métricas do OpenTelemetry Coleta contadores de desempenho de nível de sistema usando padrões OpenTelemetry. Essa opção é o caminho de métricas recomendado para novas implantações de monitoramento de VM no portal do Azure. Use a definição de DCR na seção a seguir. Modifique a counterSpecifiers seção para adicionar métricas a serem coletadas. Consulte Personalizar as métricas do OpenTelemetry para máquinas virtuais do Azure.
Métricas baseadas em log Coleta contadores de desempenho predefinidos em um espaço de trabalho do Log Analytics. Habilita a experiência clássica baseada em logs no portal do Azure. Use a definição de DCR na seção a seguir. Não modifique este DCR.
Logs Colete diferentes tipos de logs da VM, incluindo eventos do Windows e Syslog. Esses DCRs não habilitam experiências adicionais em Azure Monitor, mas você pode analisá-las usando Log Analytics e usá-las para alertas. Consulte Coletar dados de log de convidados de máquinas virtuais com o Azure Monitor para obter uma descrição das diferentes fontes de dados disponíveis. Consulte exemplos de DCR (regra de coleta de dados) no Azure Monitor para obter definições de DCR de exemplo para coleta de logs.

Use as definições de DCR a seguir para habilitar o monitoramento aprimorado para uma máquina virtual. A única modificação necessária é atualizar a localização e o workspace de destino em cada definição para apontar para o workspace do Azure Monitor para métricas do OpenTelemetry ou para o workspace do Log Analytics para métricas baseadas em logs.

Experiência baseada em métricas
{
  "location": "<location>",
  "properties": {
    "dataSources": {
      "performanceCountersOTel": [
        {
          "streams": [
            "Microsoft-OtelPerfMetrics"
          ],
          "samplingFrequencyInSeconds": 60,
          "counterSpecifiers": [
              "system.filesystem.usage",
              "system.disk.io",
              "system.disk.operation_time",
              "system.disk.operations",
              "system.memory.usage",
              "system.network.io",
              "system.cpu.time",
              "system.network.dropped",
              "system.network.errors",
              "system.uptime"
          ],
          "name": "OtelPerfCounters"
        }
      ]
    },
    "destinations": {
      "monitoringAccounts": [
        {
          "accountResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Monitor/accounts/<workspace-name>",
          "name": "MonitoringAccount"
        }
      ]
    },
    "dataFlows": [
      {
        "streams": [
            "Microsoft-OtelPerfMetrics"
        ],
        "destinations": [
            "MonitoringAccount"
        ]
      }
    ]
  }
}
Experiência baseada em logs (clássica)
{
    "location": "<location>",
    "properties": {
        "description": "Data collection rule for VM Insights.",
        "dataSources": {
            "performanceCounters": [
                {
                    "name": "VMInsightsPerfCounters",
                    "streams": [
                        "Microsoft-InsightsMetrics"
                    ],
                    "scheduledTransferPeriod": "PT1M",
                    "samplingFrequencyInSeconds": 60,
                    "counterSpecifiers": [
                        "\\VmInsights\\DetailedMetrics"
                    ]
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>",
                    "name": "VMInsightsPerf-Logs-Dest"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-InsightsMetrics"
                ],
                "destinations": [
                    "VMInsightsPerf-Logs-Dest"
                ]
            }
        ]
    }
}

Salve a definição de DCR em um arquivo JSON. Para os comandos CLI, PowerShell, API e portal para criar um DCR a partir de um arquivo JSON, consulte Criar DCRs (regras de coleta de dados) usando JSON.

Associar DCRs a VMs

A etapa final é criar associações entre suas DCRs e suas VMs. Esta etapa ativa os DCRs e informa ao agente de Azure Monitor para começar a coletar dados com base nas regras definidas no DCR. Você pode criar várias associações para uma VM se quiser coletar diferentes tipos de dados. Você também pode remover associações para interromper a coleta de dados de DCRs específicas sem afetar outras associações ou o próprio agente.

Azure VM

az monitor data-collection rule association create \
  --name "dcr-association" \
  --rule-id /subscriptions/<subscription-id>/resourceGroups/<resource-group>/microsoft.insights/datacollectionrules/<dcr-name>
  --resource /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachines/<vm-name>

Conjunto de dimensionamento de VMs do Azure

az monitor data-collection rule association create \
  --name "dcr-association" \
  --rule-id /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/microsoft.insights/datacollectionrules/<dcr-name>
  --resource /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmss-name>

Servidor habilitado para Arc

az monitor data-collection rule association create \
  --name "dcr-association" \
  --rule-id /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/microsoft.insights/datacollectionrules/<dcr-name> \
  --resource /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.HybridCompute/machines/<arc-server-name>

Habilitar isolamento de rede

Os insights de VM dão suporte a dois métodos para isolamento de rede, conforme descrito na tabela a seguir.

Método Descrição
Link privado Consulte Habilitar isolamento de rede para o Agente do Azure Monitor usando o Link Privado. No momento, esse método não tem suporte para coleção baseada em métricas.
Perímetro de segurança da rede Consulte Configurar o Azure Monitor com o Perímetro de Segurança de Rede.