Compartilhar via


Configurar o runtime de integração auto-hospedada (SHIR) para coleta do Log Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Pré-requisitos

É necessário um espaço de trabalho do Log Analytics disponível para essa abordagem. Recomendamos que você anote a ID do workspace e a chave de autenticação do seu espaço de trabalho do Log Analytics, pois talvez seja necessário para determinados cenários. Essa solução aumentará os dados que serão enviados para o workspace do Log Analytics e terão um pequeno impacto sobre o custo geral. Continue lendo para obter detalhes sobre como manter a quantidade de dados no mínimo.

Objetivos e cenários

Centralize os eventos e os dados do contador de desempenho para seu espaço de trabalho do Log Analytics. Primeiro, a máquina virtual que hospeda o SHIR deve ser instrumentada adequadamente. Escolha entre os dois cenários principais abaixo.

Instrumentar máquinas virtuais locais

O artigo Instalar o agente do Log Analytics em computadores Windows descreve como instalar o cliente em uma máquina virtual normalmente hospedada localmente. Pode ser um servidor físico ou uma máquina virtual hospedada em um hipervisor gerenciado pelo cliente. Conforme mencionado na seção de pré-requisitos, ao instalar o agente do Log Analytics, você terá que fornecer a ID do workspace do Log Analytics e a Chave do Workspace para finalizar a conexão.

Instrumentar máquinas virtuais do Azure

A abordagem recomendada para instrumentar um SHIR baseado em máquina virtual do Azure é usar insights de máquina virtual, conforme descrito no artigo Visão geral sobre como habilitar insights de VM. Há várias maneiras de configurar o agente do Log Analytics quando o SHIR está hospedado em uma máquina virtual do Azure. Todas as opções estão descritas no artigo Visão geral do agente do Log Analytics.

Configurar o log de eventos e a captura do contador de desempenho

Esta etapa irá destacar como configurar logs do Visualizador de eventos e dos contadores de desempenho a serem enviados ao Log Analytics. As etapas descritas abaixo são comuns, independentemente de como o agente foi implantado.

Selecionar diários do Visualizador de eventos

Primeiro, você deve coletar diários do visualizador de eventos relevantes para o SHIR, conforme descrito no artigo Coletar fontes de dados do log de eventos do Windows com o agente do Log Analytics no Azure Monitor.

É importante observar que, ao escolher os logs de eventos usando a interface, é normal que você não veja todos os diários que possam existir em um computador. Portanto, os dois diários necessários para o monitoramento do SHIR não aparecerão nesta lista. Se você digitar o nome do diário exatamente como ele aparece na máquina virtual local, ele será capturado e enviado para seu espaço de trabalho do Log Analytics.

O nome do diário de eventos que devemos configurar é:

  • Conectores – Integration Runtime
  • Integration Runtime

Captura de tela da seleção dos registros relevantes do SHIR com erros e avisos verificados.

Importante

Deixar o nível Informações marcado aumentará significativamente o volume de dados se você tiver muitos hosts de SHIR implantados e um número maior de verificações. Sugerimos fortemente que você mantenha apenas Erro e Aviso.

Selecionar contadores de desempenho

No mesmo painel de configuração, você pode clicar em Contadores de Desempenho do Windows para selecionar contadores de desempenho individuais para enviar para o Log Analytics.

Importante

Tenha em mente que os contadores de desempenho são, por natureza, um fluxo de dados contínuo. Portanto, é crucial que você considere o impacto da coleta de dados no custo total da implantação do Azure Monitor/Log Analytics. A menos que um orçamento de ingestão de dados permitido tenha sido concedido e uma ingestão constante de dados tenha sido permitida e orçada, a coleta de contadores de desempenho só deve ser configurada por um período definido para estabelecer uma linha de base de desempenho.

Na interface, ao configurá-la pela primeira vez, um conjunto de contadores sugerido será recomendado. Selecione aqueles que se aplicam ao tipo de análise de desempenho que você deseja executar. % de CPU e Memória disponível geralmente são contadores monitorados, mas outros como Consumo de largura de banda de rede podem ser úteis em cenários em que o volume de dados é grande e largura de banda ou tempo de execução são restritos.

Captura de tela da interface de seleção do contador no portal do Azure.

Visualizar eventos e dados do Contador de desempenho no Log Analytics

Para saber como analisar dados de monitorização na loja Azure Monitor Logs/Log Analytics utilizando a linguagem de consulta Kusto (KQL), veja consultas Kusto.

As duas tabelas em que a telemetria é salva são chamadas de Perf e Event, respectivamente. A consulta a seguir verifica a contagem de linhas para ver se há dados fluindo. Isso confirma se a instrumentação descrita acima está funcionando.

Amostra de consultas KQL

Verificar contagens de linhas

(
        Event 
        | extend TableName = "Event"
        | summarize count() by TableName
)     
| union
(     
        Perf
        | extend TableName = "Perf"
        | summarize count() by TableName
)

Consulta de eventos

Recuperar as primeiras 10 linhas de evento
Event
| take 10
Recuperar a contagem de eventos por gravidade da mensagem
Event
| summarize count() by EventLevelName
Renderizar um gráfico de pizza de contagem por severidade da mensagem
Event
| summarize count() by EventLevelName
| render piechart 
Recuperar todos os erros com uma cadeia de caracteres de texto específica

Aqui, estamos pesquisando todas as mensagens que têm a palavra desconectado.

Event
| where RenderedDescription has "disconnected"
Pesquisa em várias tabelas para uma palavra-chave sem saber o esquema

O comando de pesquisa é útil quando não se sabe em qual coluna a informação está contida. Essa consulta retorna todas as linhas das tabelas especificadas que têm pelo menos uma coluna que contém o termo de pesquisa. Neste exemplo, a palavra é desconectado.

search in (Perf, Event) "disconnected"
Recuperar todos os eventos de um diário de log específico

Neste exemplo, estamos restringindo a consulta ao diário de registro chamado Connectors - Integration Runtime.

Event 
| where EventLog == "Connectors - Integration Runtime"
Usar períodos de tempo para restringir os resultados da consulta

Essa consulta usa a mesma consulta acima, mas restringe os resultados aos que ocorreram há dois dias ou mais recentemente.

Event 
| where EventLog      == "Connectors - Integration Runtime"
  and   TimeGenerated >= ago(2d)

Consultar dados do contador de desempenho

Recuperar as primeiras 10 leituras do contador de desempenho
Perf
| take 10
Recuperar um contador específico com restrições de tempo
Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
        and CounterName   == "Bytes Received/sec"

Os contadores de desempenho são hierárquicos por natureza, portanto, tenha cuidado para ter predicados where suficientes em sua consulta para selecionar apenas o contador específico de que você precisa.

Recuperar o 95º percentil de um determinado contador agrupado por fatias de 30 minutos das últimas 24 horas

Este exemplo é todos os contadores para um adaptador de rede específico.

Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
| project TimeGenerated, Computer, ObjectName, InstanceName, CounterName, CounterValue
| summarize percentile(CounterValue, 95) by bin(TimeGenerated, 30m), Computer, ObjectName, InstanceName, CounterName
Usar variáveis para reutilização de código

Aqui, estamos tornando o nome do objeto e o nome do contador uma variável para que não seja preciso alterar o corpo da consulta KQL para fazer alterações nessas seleções posteriormente.

let pObjectName  = "Memory"; // Required to select the right counter
let pCounterName = "Available MBytes"; // Required to select the right counter
Perf
| where Type == "Perf" and ObjectName == pObjectName and CounterName == pCounterName
| project TimeGenerated, Computer, CounterName, CounterValue
| order by TimeGenerated asc 
| summarize Value=max(CounterValue) by CounterName, TimeStamps=TimeGenerated