Coletar eventos e contadores de desempenho de máquinas virtuais com o Azure Monitor Agent

Este artigo descreve como coletar eventos e contadores de desempenho de máquinas virtuais usando o Azure Monitor Agent.

Pré-requisitos

Para concluir este procedimento, você precisa:

  • Espaço de trabalho do Log Analytics onde você tem pelo menos direitos de colaborador.
  • Permissões para criar objetos de Regra de Coleta de Dados no espaço de trabalho.
  • Associe a regra de coleta de dados a máquinas virtuais específicas.

Criar uma regra de coleta de dados

Você pode definir uma regra de coleta de dados para enviar dados de várias máquinas para vários espaços de trabalho do Log Analytics, incluindo espaços de trabalho em uma região ou locatário diferente. Crie a regra de coleta de dados na mesma região do espaço de trabalho do Log Analytics. Você pode enviar dados de eventos e Syslog do Windows somente para os Logs do Azure Monitor. Você pode enviar contadores de desempenho para as Métricas do Azure Monitor e para os Logs do Azure Monitor.

Nota

No momento, os recursos Microsoft.HybridCompute (servidores habilitados para Azure Arc) não podem ser exibidos no Metrics Explorer (a UX do portal do Azure), mas podem ser adquiridos por meio da API REST de Métricas (Namespaces de Métricas - Lista, Definições de Métricas - Lista e Métricas - Lista).

Nota

Para enviar dados entre locatários, você deve primeiro habilitar o Azure Lighthouse.

  1. No menu Monitor, selecione Regras de Coleta de Dados.

  2. Selecione Criar para criar uma nova regra de coleta de dados e associações.

    Captura de ecrã que mostra o botão Criar no ecrã Regras de Recolha de Dados.

  3. Insira um nome de Regra e especifique uma Assinatura, Grupo de Recursos, Região e Tipo de Plataforma:

    • Região especifica onde o DCR será criado. As máquinas virtuais e suas associações podem estar em qualquer assinatura ou grupo de recursos no locatário.
    • Tipo de plataforma especifica o tipo de recursos aos quais essa regra pode se aplicar. A opção Personalizada permite os tipos Windows e Linux.

    Captura de ecrã que mostra o separador Noções básicas do ecrã Regra de Recolha de Dados.

  4. Na guia Recursos:

    1. Selecione + Adicionar recursos e associe recursos à regra de coleta de dados. Os recursos podem ser máquinas virtuais, Conjuntos de Dimensionamento de Máquinas Virtuais e Azure Arc para servidores. O portal do Azure instala o Azure Monitor Agent em recursos que ainda não o têm instalado.

      Importante

      O portal permite a identidade gerenciada atribuída pelo sistema nos recursos de destino, juntamente com as identidades atribuídas pelo usuário existentes, se houver. Para aplicativos existentes, a menos que você especifique a identidade atribuída pelo usuário na solicitação, a máquina assume como padrão usar a identidade atribuída pelo sistema.

      Se você precisar de isolamento de rede usando links privados, selecione pontos de extremidade existentes da mesma região para os respetivos recursos ou crie um novo ponto de extremidade.

    2. Selecione Ativar pontos de extremidade de coleta de dados.

    3. Selecione um ponto de extremidade de coleta de dados para cada um dos recursos associados à regra de coleta de dados.

    Captura de ecrã que mostra o separador Recursos do ecrã Regra de Recolha de Dados.

  5. Na guia Coletar e entregar, selecione Adicionar fonte de dados para adicionar uma fonte de dados e definir um destino.

  6. Selecione um tipo de fonte de dados.

  7. Selecione quais dados você deseja coletar. Para contadores de desempenho, você pode selecionar entre um conjunto predefinido de objetos e sua taxa de amostragem. Para eventos, você pode selecionar entre um conjunto de logs e níveis de gravidade.

    Captura de tela que mostra o formulário do portal do Azure para selecionar contadores de desempenho básicos em uma regra de coleta de dados.

  8. Selecione Personalizado para coletar logs e contadores de desempenho que não são fontes de dados suportadas no momento ou para filtrar eventos usando consultas XPath. Em seguida, você pode especificar um XPath para coletar quaisquer valores específicos. Para obter um exemplo, consulte Exemplo de DCR.

    Captura de tela que mostra o formulário do portal do Azure para selecionar contadores de desempenho personalizados em uma regra de coleta de dados.

  9. Na guia Destino, adicione um ou mais destinos para a fonte de dados. Você pode selecionar vários destinos do mesmo tipo ou de tipos diferentes. Por exemplo, você pode selecionar vários espaços de trabalho do Log Analytics, o que também é conhecido como multihoming.

    Você pode enviar fontes de dados de eventos do Windows e Syslog somente para os Logs do Azure Monitor. Você pode enviar contadores de desempenho para as Métricas do Azure Monitor e para os Logs do Azure Monitor. No momento, os recursos de computação híbrida (Arc for Server) não oferecem suporte ao destino Azure Monitor Metrics (Preview).

    Captura de tela que mostra o formulário do portal do Azure para adicionar uma fonte de dados em uma regra de coleta de dados.

  10. Selecione Adicionar fonte de dados e, em seguida, selecione Revisar + criar para revisar os detalhes da regra de coleta de dados e da associação com o conjunto de máquinas virtuais.

  11. Selecione Criar para criar a regra de coleta de dados.

Arquivo de parâmetros
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "value": "my-azure-vm"
    },
    "associationName": {
      "value": "my-windows-vm-my-dcr"
    },
    "dataCollectionRuleId": {
      "value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
    }
   }
}

Nota

Pode levar até 5 minutos para que os dados sejam enviados para os destinos depois de criar a regra de coleta de dados.

Filtrar eventos usando consultas XPath

Você será cobrado por todos os dados coletados em um espaço de trabalho do Log Analytics. Portanto, você deve coletar apenas os dados de evento necessários. A configuração básica no portal do Azure fornece uma capacidade limitada de filtrar eventos.

Gorjeta

Para obter estratégias para reduzir os custos do Azure Monitor, consulte Otimização de custos e Azure Monitor.

Para especificar mais filtros, use a configuração personalizada e especifique um XPath que filtre os eventos de que você não precisa. As entradas XPath são escritas no formulário LogName!XPathQuery. Por exemplo, talvez você queira retornar somente eventos do log de eventos do aplicativo com uma ID de evento de 1035. O XPathQuery para estes eventos seria *[System[EventID=1035]]. Como você deseja recuperar os eventos do log de eventos do aplicativo, o XPath é Application!*[System[EventID=1035]]

Extrair consultas XPath do Visualizador de Eventos do Windows

No Windows, você pode usar o Visualizador de Eventos para extrair consultas XPath, conforme mostrado nas capturas de tela.

Ao colar a consulta XPath no campo na tela Adicionar fonte de dados, conforme mostrado na etapa 5, você deve acrescentar a categoria de tipo de log seguida de um ponto de exclamação (!).

Captura de ecrã que mostra os passos para criar uma consulta XPath no Visualizador de Eventos do Windows.

Gorjeta

Você pode usar o cmdlet Get-WinEvent do PowerShell com o FilterXPath parâmetro para testar a validade de uma consulta XPath localmente em sua máquina primeiro. Para obter mais informações, consulte a dica fornecida nas instruções de conexões baseadas em agente do Windows. O Get-WinEvent cmdlet do PowerShell oferece suporte a até 23 expressões. As regras de recolha de dados do Azure Monitor suportam até 20. O script a seguir mostra um exemplo:

$XPath = '*[System[EventID=1035]]'
Get-WinEvent -LogName 'Application' -FilterXPath $XPath
  • No cmdlet anterior, o valor do parâmetro é a -LogName parte inicial da consulta XPath até o ponto de exclamação (!). O restante da consulta XPath vai para o $XPath parâmetro.
  • Se o script retornar eventos, a consulta será válida.
  • Se você receber a mensagem "Nenhum evento foi encontrado que corresponda aos critérios de seleção especificados", a consulta pode ser válida, mas não há eventos correspondentes na máquina local.
  • Se você receber a mensagem "A consulta especificada é inválida", a sintaxe da consulta é inválida.

Exemplos de como usar um XPath personalizado para filtrar eventos:

Description XPath
Coletar somente eventos do sistema com ID de evento = 4648 System!*[System[EventID=4648]]
Colete eventos do Log de Segurança com ID de Evento = 4648 e um nome de processo de consent.exe Security!*[System[(EventID=4648)]] and *[EventData[Data[@Name='ProcessName']='C:\Windows\System32\consent.exe']]
Colete todos os eventos Críticos, Erros, Avisos e Informações do log de eventos do Sistema, exceto a ID do Evento = 6 (Driver carregado) System!*[System[(Level=1 or Level=2 or Level=3) and (EventID != 6)]]
Colete todos os eventos de segurança bem-sucedidos e falhas, exceto a ID do Evento 4624 (logon bem-sucedido) Security!*[System[(band(Keywords,13510798882111488)) and (EventID != 4624)]]

Nota

Para obter uma lista de limitações no XPath suportado pelo log de eventos do Windows, consulte Limitações do XPath 1.0.
Por exemplo, você pode usar as funções "position", "Band" e "timediff" dentro da consulta, mas outras funções como "starts-with" e "contém" não são suportadas no momento.

Perguntas mais frequentes

Esta secção fornece respostas a perguntas comuns.

Como posso coletar eventos de segurança do Windows usando o Azure Monitor Agent?

Há duas maneiras de coletar eventos de segurança usando o novo agente, ao enviar para um espaço de trabalho do Log Analytics:

  • Você pode usar o Azure Monitor Agent para coletar nativamente Eventos de Segurança, o mesmo que outros Eventos do Windows. Eles fluem para a tabela 'Evento' no espaço de trabalho do Log Analytics.
  • Se você tiver o Microsoft Sentinel habilitado no espaço de trabalho, os eventos de segurança fluirão por meio do Azure Monitor Agent para a SecurityEvent tabela (o mesmo que usar o agente do Log Analytics). Esse cenário sempre requer que a solução seja habilitada primeiro.

Duplicarei eventos se usar o Azure Monitor Agent e o agente do Log Analytics na mesma máquina?

Se você estiver coletando os mesmos eventos com ambos os agentes, ocorrerá duplicação. Essa duplicação pode ser o agente herdado coletando dados redundantes dos dados de configuração do espaço de trabalho, que são coletados pela regra de coleta de dados. Ou você pode estar coletando eventos de segurança com o agente herdado e habilitar eventos de segurança do Windows com conectores do Azure Monitor Agent no Microsoft Sentinel.

Limite os eventos de duplicação apenas ao momento em que você faz a transição de um agente para o outro. Depois de testar totalmente a regra de coleta de dados e verificar sua coleta de dados, desative a coleta para o espaço de trabalho e desconecte todos os conectores de dados do Microsoft Monitoring Agent.

O Azure Monitor Agent oferece opções de filtragem de eventos mais granulares além de consultas Xpath e especificação de contadores de desempenho?

Para eventos Syslog no Linux, você pode selecionar instalações e o nível de log para cada instalação.

Se eu criar regras de coleta de dados que contenham a mesma ID de evento e associá-las à mesma VM, os eventos serão duplicados?

Sim. Para evitar duplicação, certifique-se de que a seleção de eventos feita nas regras de coleta de dados não contenha eventos duplicados.

Próximos passos