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

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

Pré-requisitos

Para concluir este procedimento, você precisa de:

Criar uma regra de coleta de dados

Você pode definir uma regra de coleta de dados para enviar dados de vários computadores para vários workspaces do Log Analytics, incluindo workspaces em uma região ou locatário diferente. Criar a regra de coleta de dados na mesma região do workspace do Log Analytics. Você pode enviar dados de eventos e o Syslog do Windows somente para os Logs do Azure Monitor. Você pode enviar contadores de desempenho para métricas de Azure monitor e registros do Azure Monitor.

Observação

No momento, os recursos do Microsoft.HybridCompute ( servidores habilitados para Azure Arc ) não podem ser visualizados 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).

Observação

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

  1. No menu Monitor no portal do Azure, selecione Regras de Coleta de Dados.

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

    Captura de tela que mostra o botão Criar na tela Regras de Coleta de Dados.

  3. Insira o Nome da regra e especifique uma Assinatura, um Grupo de recursos e uma Região e um Tipo de Plataforma:

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

    Captura de tela que mostra a guia Noções Básicas da tela Regras de Coleta 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 Agente do Azure Monitor em recursos que ainda não o instalaram.

      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 os aplicativos existentes, a menos que você especifique a identidade atribuída pelo usuário na solicitação, o computador assumirá como padrão o uso da identidade atribuída pelo sistema.

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

    2. Selecione Habilitar 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 tela que mostra a guia Recursos da tela Regras de Coleta 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, selecione em um conjunto predefinido de objetos e a taxa de amostragem deles. Para eventos, você pode selecionar um conjunto de registros 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 atualmente suportadas ou para filtrar eventos usando consultas XPath. Você pode especificar um XPath para coletar qualquer valor específico. Para obter um exemplo, confira DCR de Exemplo.

    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 workspaces do Log Analytics, que também são conhecidos como multihoming.

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

    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 selecione Examinar + criar para examinar os detalhes da regra de coleta de dados e a associação com o conjunto de máquinas virtuais.

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

Arquivo de parâmetro.
{
  "$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"
    }
   }
}

Observação

Pode levar até 5 minutos para que os dados sejam enviados aos destinos depois que você cria a regra de coleta de dados.

Filtrar eventos usando consultas XPath

Você é cobrado por todos os dados que coleta em um workspace do Log Analytics. Portanto, você só deve coletar os dados de evento necessários. A configuração básica no portal do Azure fornece uma capacidade limitada de filtrar eventos.

Dica

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

Para especificar mais filtros, use a configuração personalizada e especifique um XPath que filtra os eventos não necessários. As entradas XPath são escritas no formato LogName!XPathQuery. Por exemplo, talvez você queira retornar apenas eventos do log de eventos do aplicativo com a ID de evento 1035. A XPathQuery desses eventos seria *[System[EventID=1035]]. Como você deseja recuperar 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 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 registro seguida por um ponto de exclamação (!).

Captura de tela que mostra as etapas para criar uma consulta XPath no Visualizador de Eventos do Windows.

Dica

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

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

Exemplos de como usar um XPath personalizado para filtrar eventos:

Descrição XPath
Coletar somente eventos do sistema com a ID do evento = 4648 System!*[System[EventID=4648]]
Coletar eventos do log de segurança com a ID do evento = 4648 e o nome do processo consent.exe Security!*[System[(EventID=4648)]] and *[EventData[Data[@Name='ProcessName']='C:\Windows\System32\consent.exe']]
Coletar todos os eventos críticos, de erro, de aviso e de informações do log de eventos do sistema, exceto pela ID do evento = 6 (driver carregado) System!*[System[(Level=1 or Level=2 or Level=3) and (EventID != 6)]]
Coletar todos os eventos de segurança com êxito e com falha, exceto pela ID do evento 4624 (logon bem-sucedido) Security!*[System[(band(Keywords,13510798882111488)) and (EventID != 4624)]]

Observação

Para obter uma lista de limitações no XPath com suporte do log de eventos do Windows, confira Limitações do XPath 1.0.
Por exemplo, você pode usar as funções "position", "Band" e "timediff" na consulta, mas não há suporte para outras funções como "starts-with" e "contains".

Perguntas frequentes

Esta seção fornece respostas para perguntas comuns.

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

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

  • Use o Agente do Azure Monitor para coletar nativamente eventos de segurança, da mesma forma que outros eventos do Windows. Eles fluem para a tabela 'Evento' no workspace do Log Analytics.
  • Se você tiver o Microsoft Sentinel habilitado no workspace, os eventos de segurança fluem por meio do Agente do Azure Monitor para a tabela SecurityEvent (o mesmo que usar o agente do Log Analytics). Esse cenário sempre exigirá que a solução seja habilitada primeiro.

Eu duplicarei eventos se eu usar o Agente do Azure Monitor e o agente do Log Analytics na mesma máquina?

Se você estiver coletando os mesmos eventos com ambos os agentes, haverá duplicação. Essa duplicação pode ser o agente herdado coletando os dados redundantes dos dados de configuração do workspace, 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 os conectores do Agente do Azure Monitor no Microsoft Sentinel.

Limite os eventos de duplicação para apenas a transição de um agente para outro. Depois de testar totalmente a regra da coleta de dados e verificar sua coleta de dados, desabilite a coleta para o workspace e desconecte todos os conectores de dados do Microsoft Monitoring Agent.

O Agente do Azure Monitor oferece opções de filtragem de eventos mais granulares além das consultas XPath e da especificação de contadores de desempenho?

Para os eventos de Syslog no Linux, você pode escolher recursos e o nível de log para cada recurso.

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

Sim. Para evitar duplicação, verifique se os eventos que você selecionou nas regras de coleta de dados não contém eventos duplicados.

Próximas etapas