Coletar fontes de dados de desempenho do Windows e Linux com o agente do Log Analytics

Os contadores de desempenho no Windows e Linux fornecem informações sobre o desempenho de componentes de hardware, sistemas operacionais e aplicativos. O Azure Monitor pode coletar contadores de desempenho de agentes do Log Analytics em intervalos frequentes para análise quase em tempo real. O Azure Monitor também pode agregar dados de desempenho para análises e relatórios de longo prazo.

Importante

O agenteherdado do Log Analytics será preterido até agosto de 2024. Após essa data, a Microsoft não fornecerá mais suporte para o agente do Log Analytics. Migre para o agente do Azure Monitor antes de agosto de 2024 para continuar a ingestão de dados.

Screenshot that shows performance counters.

Configurar contadores de desempenho

Configure contadores de desempenho no menu Gerenciamento de agentes herdados para o espaço de trabalho do Log Analytics.

Ao configurar pela primeira vez contadores de desempenho do Windows ou Linux para um novo espaço de trabalho, você tem a opção de criar rapidamente vários contadores comuns. Eles são listados com uma caixa de seleção ao lado de cada um. Certifique-se de que todos os contadores que você deseja criar inicialmente estão selecionados e, em seguida, selecione Adicionar os contadores de desempenho selecionados.

Para contadores de desempenho do Windows, você pode escolher uma instância específica para cada contador de desempenho. Para contadores de desempenho Linux, a instância de cada contador que você escolher se aplica a todos os contadores filho do contador pai. A tabela a seguir mostra as instâncias comuns disponíveis para contadores de desempenho do Windows e do Linux.

Nome da instância Descrição
_Total Total de todas as instâncias
* Todas as instâncias
(/|/var) Corresponde a instâncias nomeadas / ou /var

Contadores de desempenho do Windows

Screenshot that shows configuring Windows performance counters.

Siga este procedimento para adicionar um novo contador de desempenho do Windows para coletar. Os contadores de desempenho do Windows V2 não são suportados.

  1. Selecione Adicionar contador de desempenho.

  2. Digite o nome do contador na caixa de texto no formato object(instance)\counter. Quando você começa a digitar, uma lista correspondente de contadores comuns é exibida. Você pode selecionar um contador da lista ou inserir um dos seus. Você também pode retornar todas as instâncias de um contador específico especificando object\counter.

    Quando os contadores de desempenho do SQL Server são coletados de instâncias nomeadas, todos os contadores de instância nomeada começam com MSSQL$ seguido pelo nome da instância. Por exemplo, para coletar o contador Taxa de Acertos do Cache de Log para todos os bancos de dados do objeto de desempenho Banco de Dados para instância SQL nomeada INST2, especifique MSSQL$INST2:Databases(*)\Log Cache Hit Ratio.

  3. Quando você adiciona um contador, ele usa o padrão de 10 segundos para seu intervalo de amostra. Altere esse valor padrão para um valor mais alto de até 1.800 segundos (30 minutos) se quiser reduzir os requisitos de armazenamento dos dados de desempenho coletados.

  4. Depois de terminar de adicionar contadores, selecione Aplicar na parte superior da tela para salvar a configuração.

Contadores de desempenho do Linux

Screenshot that shows configuring Linux performance counters.

Siga este procedimento para adicionar um novo contador de desempenho Linux para coletar.

  1. Selecione Adicionar contador de desempenho.
  2. Digite o nome do contador na caixa de texto no formato object(instance)\counter. Quando você começa a digitar, uma lista correspondente de contadores comuns é exibida. Você pode selecionar um contador da lista ou inserir um dos seus.
  3. Todos os contadores de um objeto usam o mesmo intervalo de amostra. A predefinição é 10 segundos. Altere esse valor padrão para um valor mais alto de até 1.800 segundos (30 minutos) se quiser reduzir os requisitos de armazenamento dos dados de desempenho coletados.
  4. Depois de terminar de adicionar contadores, selecione Aplicar na parte superior da tela para salvar a configuração.

Configurar contadores de desempenho do Linux em um arquivo de configuração

Em vez de configurar contadores de desempenho do Linux usando o portal do Azure, você tem a opção de editar arquivos de configuração no agente Linux. As métricas de desempenho a serem coletadas são controladas pela configuração em /etc/opt/microsoft/omsagent/workspace id>/conf/<omsagent.conf.

Cada objeto, ou categoria, de métricas de desempenho a serem coletadas deve ser definido no arquivo de configuração como um único <source> elemento. A sintaxe segue o padrão aqui:

<source>
    type oms_omi  
    object_name "Processor"
    instance_regex ".*"
    counter_name_regex ".*"
    interval 30s
</source>

Os parâmetros neste elemento são descritos na tabela a seguir.

Parâmetros Descrição
object_name Nome do objeto para a coleção.
instance_regex Uma expressão regular que define quais instâncias coletar. O valor .* especifica todas as instâncias. Para coletar métricas do processador apenas para a instância _Total, você pode especificar _Total. Para coletar métricas de processo apenas para as instâncias crond ou sshd, você pode especificar (crond\|sshd).
counter_name_regex Uma expressão regular que define quais contadores (para o objeto) devem ser coletados. Para coletar todos os contadores para o objeto, especifique .*. Para coletar apenas contadores de espaço de permuta para o objeto de memória, por exemplo, você pode especificar .+Swap.+
interval Frequência com que os contadores do objeto são coletados.

A tabela a seguir lista os objetos e contadores que você pode especificar no arquivo de configuração. Estão disponíveis mais contadores para determinadas aplicações. Para obter mais informações, consulte Coletar contadores de desempenho para aplicativos Linux no Azure Monitor.

Object name Nome do contador
Disco lógico % de inodes livres
Disco lógico % Espaço Livre
Disco lógico % Inodes usados
Disco lógico % Espaço Usado
Disco lógico Bytes de leitura de disco/s
Disco lógico Leituras de Disco/seg
Disco lógico Transferências de disco/seg
Disco lógico Bytes de gravação de disco/s
Disco lógico Gravações de disco/s
Disco lógico Megabytes grátis
Disco lógico Bytes de disco lógico/s
Memória % de memória disponível
Memória % de espaço de troca disponível
Memória % de memória usada
Memória % de espaço de troca usado
Memória Memória MBytes disponível
Memória Troca de MBytes disponível
Memória Leituras de Página/seg
Memória Gravações de página/seg
Memória Páginas/seg
Memória Espaço de permuta de MBytes usado
Memória MBytes de memória usados
Rede Total de bytes transmitidos
Rede Total de bytes recebidos
Rede Total Bytes
Rede Total de pacotes transmitidos
Rede Total de pacotes recebidos
Rede Total de erros Rx
Rede Total de erros Tx
Rede Total de colisões
Disco físico Média de disco seg/leitura
Disco físico Média de disco seg/Transferência
Disco físico Média de disco seg/gravação
Disco físico Bytes de disco físico/s
Processo Pct Tempo Privilegiado
Processo Tempo do usuário Pct
Processo Memória usada kBytes
Processo Memória Virtual Partilhada
Processador % Tempo DPC
Processador % de Tempo Inativo
Processador % de tempo de interrupção
Processador % Tempo de espera de E/S
Processador % Tempo agradável
Processador % de Tempo Privilegiado
Processador % de Tempo do Processador
Processador % Tempo do Utilizador
Sistema Memória física livre
Sistema Espaço livre em arquivos de paginação
Sistema Memória Virtual Livre
Sistema Processos
Sistema Tamanho armazenado em arquivos de paginação
Sistema Tempo de Atividade
Sistema Utilizadores

A configuração a seguir é o padrão para métricas de desempenho:

<source>
    type oms_omi
	object_name "Physical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
	type oms_omi
	object_name "Logical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
    type oms_omi
	object_name "Processor"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

<source>
	type oms_omi
	object_name "Memory"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

Recolha de dados

O Azure Monitor coleta todos os contadores de desempenho especificados em seu intervalo de amostra especificado em todos os agentes que têm esse contador instalado. Os dados não são agregados. Os dados brutos estão disponíveis em todas as exibições de consulta de log pela duração especificada pelo espaço de trabalho do Log Analytics.

Propriedades do registro de desempenho

Os registros de desempenho têm um tipo de Perf e têm as propriedades listadas na tabela a seguir.

Propriedade Descrição
Computador Computador do qual o evento foi coletado.
CounterName Nome do contador de desempenho.
CounterPath Caminho completo do contador no formato \\Computer>\object(instance)\<counter.
CounterValue Valor numérico do contador.
InstanceName Nome da instância do evento. Vazio se nenhuma instância.
ObjectName Nome do objeto de desempenho.
SourceSystem Tipo de agente a partir do qual os dados foram recolhidos:

OpsManager – Agente Windows, conexão direta ou SCOM
Linux – Todos os agentes Linux
AzureStorage – Diagnóstico do Azure
TimeGenerated Data e hora em que os dados foram amostrados.

Estimativas de dimensionamento

Uma estimativa aproximada para a coleta de um contador específico em intervalos de 10 segundos é de cerca de 1 MB por dia por instância. Você pode estimar os requisitos de armazenamento de um contador específico com a seguinte fórmula:

1 MB x (número de contadores) x (número de agentes) x (número de instâncias)

Registrar consultas com registros de desempenho

A tabela a seguir fornece diferentes exemplos de consultas de log que recuperam registros de desempenho.

Consulta Descrição
Perf Todos os dados de desempenho
Perf | onde Computador == "MyComputer" Todos os dados de desempenho de um determinado computador
Perf | onde CounterName == "Comprimento da fila de disco atual" Todos os dados de desempenho para um contador específico
Perf | onde ObjectName == "Processor" e CounterName == "% Processor Time" e InstanceName == "_Total" | resumir AVGCPU = avg(CounterValue) por computador Utilização média da CPU em todos os computadores
Perf | onde CounterName == "% Tempo do processador" | resumir AggregatedValue = max(CounterValue) por computador Utilização máxima da CPU em todos os computadores
Perf | onde ObjectName == "LogicalDisk" e CounterName == "Current Disk Queue Length" e Computer == "MyComputerName" | summarize AggregatedValue = avg(CounterValue) por InstanceName Comprimento médio da fila de disco atual em todas as instâncias de um determinado computador
Perf | onde CounterName == "Transferências de disco/seg" | resumir AggregatedValue = percentil (CounterValue, 95) por computador Percentil 95 de transferências de disco/s em todos os computadores
Perf | onde CounterName == "% Processor Time" e InstanceName == "_Total" | resumir AggregatedValue = avg(CounterValue) por bin(TimeGenerated, 1h), Computador Média horária de utilização da CPU em todos os computadores
Perf | onde Computer == "MyComputer" e CounterName startswith_cs "%" e InstanceName == "_Total" | resumir AggregatedValue = percentil(CounterValue, 70) por bin(TimeGenerated, 1h), CounterName Percentil 70 por hora de cada contador de percentagem para um determinado computador
Perf | onde CounterName == "% Processor Time" e InstanceName == "_Total" e Computer == "MyComputer" | summarize ["min(CounterValue)"] = min(CounterValue), ["avg(CounterValue)"] = avg(CounterValue), ["percentile75(CounterValue)"] = percentil(CounterValue, 75), ["max(CounterValue)"] = max(CounterValue) por bin(TimeGenerated, 1h), Computer Uso da CPU média horária, mínimo, máximo e percentil 75 para um computador específico
Perf | onde ObjectName == "MSSQL$INST2:Databases" e InstanceName == "master" Todos os dados de desempenho do objeto de desempenho do banco de dados para o banco de dados mestre da instância nomeada do SQL Server INST2

Próximos passos