Coletar fontes de dados de desempenho do Windows e do 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álise e relatórios de mais longo prazo.

Importante

O agente herdado do Log Analyticsserá preterido em 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 de gerenciamento de agentes herdados para o workspace do Log Analytics.

Ao configurar pela primeira vez os contadores de desempenho do Windows ou do Linux para um novo workspace, você terá 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. Verifique se todos os contadores que deseja criar inicialmente estão selecionados e clique em Adicionar os contadores de desempenho selecionados.

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

Nome da instância Descrição
_Total Total de todas as instâncias
* Todas as instâncias
(/|/var) Corresponde às 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. Não há suporte para contadores de desempenho do Windows V2.

  1. Selecione Adicionar contador de desempenho.

  2. Insira o nome do contador na caixa de texto no formato objeto(instância)\contador. Ao começar a digitar, uma lista de correspondência dos contadores comuns será exibida. Você pode selecionar um contador na lista ou inserir um dos seus. Você também pode retornar todas as instâncias de um determinado contador especificando objeto\contador.

    Quando os contadores de desempenho do SQL Server são coletados por instâncias nomeadas, todos os contadores de instância nomeada iniciam com MSSQL$ seguidos do nome da instância. Por exemplo, para coletar o contador de Proporção de Ocorrência no Cache de Log para todos os bancos de dados do objeto de desempenho de Banco de Dados para a instância nomeada do SQL INST2, especificar MSSQL$INST2:Databases(*)\Log Cache Hit Ratio.

  3. Quando você adicionar um contador, ele usa o padrão de 10 segundos para seu Intervalo de Amostragem. 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. Após 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 do Linux para coletar.

  1. Selecione Adicionar contador de desempenho.
  2. Insira o nome do contador na caixa de texto no formato objeto(instância)\contador. Ao começar a digitar, uma lista de correspondência dos contadores comuns será exibida. Você pode selecionar um contador na lista ou inserir um dos seus.
  3. Todos os contadores para um objeto usam o mesmo Intervalo de Amostragem. O padrã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. Após terminar de adicionar contadores, selecione Aplicar na parte superior da tela para salvar a configuração.

Configurar contadores de desempenho do Linux no arquivo de configuração

Em vez de configurar contadores de desempenho do Linux usando o portal do Azure, existe a opção de editar arquivos de configuração no agente do 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 ser coletado deve ser definido no arquivo de configuração como um único elemento <source> . 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 usados com este comando são descritos na tabela a seguir.

Parâmetros Descrição
object_name O nome do objeto da coleção.
instance_regex Uma expressão regular que define quais instâncias serão coletadas. O valor .* especifica todas as instâncias. Para coletar métricas do processador somente para a instância _Total, especifique _Total. Para coletar métricas de processo somente para a instâncias crond ou sshd, você poderia especificar (crond\|sshd).
counter_name_regex Uma expressão regular que define os contadores (para o objeto) a serem coletados. Para coletar todos os contadores para o objeto, especifique .*. Para coletar somente os contadores de espaço de troca para o objeto de memória, por exemplo, você poderia especificar .+Swap.+
intervalo A frequência na qual 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. Mais contadores estão disponíveis para determinados aplicativos. Para saber mais, confira Coletar contadores de desempenho para aplicativos do Linux no Azure Monitor.

Nome do objeto Nome do contador
Disco Lógico % de Inodes livres
Disco Lógico % de Espaço Livre
Disco Lógico % de Inodes Usados
Disco Lógico % de Espaço Usado
Disco Lógico Bytes Lidos no Disco/s
Disco Lógico Leituras de Disco/s
Disco Lógico Transferências de Disco/s
Disco Lógico Bytes Gravados no Disco/s
Disco Lógico Gravações de Disco/s
Disco Lógico Megabytes Livres
Disco Lógico Bytes de Disco Lógico/s
Memória % de Memória Disponível
Memória % de Espaço de Permuta Disponível
Memória % de Memória Usada
Memória % de Espaço de Permuta Usado
Memória MBytes de Memória Disponíveis
Memória MBytes de Espaço de Permuta Disponíveis
Memória Leituras de Página/s
Memória Gravações de Página/s
Memória Páginas/s
Memória MBytes de Espaço de Permuta Usado
Memória MBytes de Memória Usada
Rede Total de Bytes Transmitidos
Rede Total de Bytes Recebidos
Rede Total de Bytes
Rede Total de Pacotes Transmitidos
Rede Total de Pacotes Recebidos
Rede Total de Erros de Rx
Rede Total de Erros de Tx
Rede Total de Colisões
Disco Físico Média de segundos/Leitura do Disco
Disco Físico Média de segundos/Transferência do Disco
Disco Físico Média de segundos/Gravação do Disco
Disco Físico Bytes/s do Disco Físico
Processo % de Tempo Privilegiado
Processo % de Tempo do Usuário
Processo KBytes de Memória Usada
Processo Memória Virtual Compartilhada
Processador % de Tempo de DPC
Processador % de Tempo Ocioso
Processador % de Tempo de Interrupção
Processador % de Tempo de Espera de E/S
Processador % de Tempo Adequado
Processador % de Tempo Privilegiado
Processador % Tempo do Processador
Processador % de Tempo do Usuário
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 Usuários

A configuração a seguir é a padrão para as 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>

Coleta de dados

O Azure Monitor coleta todos os contadores de desempenho especificados em seu intervalo de amostragem especificado em todos os agentes que têm o contador instalado. Os dados não são agregados. Os dados brutos ficam disponíveis em todas as exibições de consulta de log pela duração especificada pelo workspace 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 \\<Computador>\objeto(instância)\contador.
CounterValue Valor numérico do contador.
InstanceName Nome da instância do evento. Vazio se não houver nenhuma instância.
ObjectName Nome do objeto de desempenho.
SourceSystem Tipo de agente do qual os dados foram coletados:

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

Estimativas de dimensionamento

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

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

Consultas de log 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 | em que Computer == "MyComputer" Todos os dados de desempenho de um computador específico
Perf | em que CounterName == "Comprimento da Fila de Disco Atual" Todos os dados de desempenho de um contador específico
Perf | em que ObjectName == "Processador" e CounterName == "% de Tempo de Processador" e InstanceName == "_Total" | resumir AVGCPU = avg(CounterValue) por Computer Utilização média da CPU em todos os computadores
Perf | em que CounterName == "% de Tempo de Processador" | resumir AggregatedValue = max(CounterValue) por Computer Utilização máxima da CPU em todos os computadores
Perf | em que ObjectName == "LogicalDisk" e CounterName == "Comprimento da Fila de Disco Atual" e Computer == "MyComputerName" | resumir AggregatedValue = avg(CounterValue) por InstanceName Comprimento médio da fila de disco atual em todas as instâncias de um determinado computador
Perf | em que CounterName == "Transferências de Disco/s" | resumir AggregatedValue = percentile(CounterValue, 95) por Computer 95º percentil de transferências de disco/s em todos os computadores
Perf | em que CounterName == "% de Tempo de Processador" e InstanceName == "_Total" | resumir AggregatedValue = avg(CounterValue) por bin(TimeGenerated, 1h), Computer Por hora média de utilização da CPU em todos os computadores
Perf | em que Computer == "MyComputer" e CounterName startswith_cs "%" e InstanceName == "_Total" | resumir AggregatedValue = percentile(CounterValue, 70) por bin(TimeGenerated, 1h), CounterName 70º percentil por hora de cada contador de porcentagem para um computador específico
Perf | em que CounterName == "% de Tempo de Processador" e InstanceName == "_Total" e Computer == "MyComputer" | resumir ["min(CounterValue)"] = min(CounterValue), ["avg(CounterValue)"] = avg(CounterValue), ["percentile75(CounterValue)"] = percentile(CounterValue, 75), ["max(CounterValue)"] = max(CounterValue) por bin(TimeGenerated, 1h), Computer Por hora média, mínima, máximo e percentil de 75 da CPU para um computador específico
Perf | em que ObjectName == "MSSQL$INST2:Databases" e InstanceName == "mestre" Todos os dados de desempenho do objeto de desempenho de banco de dados para o banco de dados mestre da instância nomeada do SQL Server INST2

Próximas etapas