Como configurar o monitoramento para alertar sobre o alto uso do sistema do Windows

Uma das ferramentas mais esquecidas no Windows é o Perfmon, também conhecido como monitor de desempenho. Esse utilitário tem muitas habilidades esquecidas, uma delas é a capacidade de alertar sobre várias condições métricas. Neste artigo, exploramos como usar corretamente a capacidade de alerta do Perfmon com alto uso de CPU.
O que é Perfmon?
Disponível desde os primeiros dias do Windows em várias iterações, o Monitor de Desempenho está disponível como um snap-in do MMC para Windows com o objetivo de auxiliar no monitoramento do uso do sistema e várias métricas de desempenho. A visualização padrão no lançamento destaca algumas áreas diferentes e métricas em tempo real.
- Monitor de desempenho – Visualização de métricas em tempo real
- Conjuntos de coletores de dados – Coleta de dados definida em um determinado intervalo de tempo
- Relatórios – Como visualizar os dados coletados nos Conjuntos de Coletores de Dados

Se o Monitor de desempenho não for iniciado como um administrador, seu utilitário será limitado e você não verá os conjuntos de coletores de dados ou relatórios.
Visualizando métricas
Ao clicar pela primeira vez no Monitor de desempenho, será mostrado um gráfico de linha móvel cujo padrão é% tempo do processador. Isso, por si só, não é muito útil, pois os dados são um valor rotativo e realmente queremos saber se há condições adversas.

Você pode adicionar métricas adicionais a este gráfico, clicando no sinal de mais verde e adicionando mais métricas. Lembre-se de que a escala de valores pode não corresponder entre diferentes pontos de dados e, portanto, pode ser menos útil quando combinada em um único gráfico.
Conjuntos de coletores de dados
Os dados em tempo real são úteis, mas não são o que estamos procurando. Como então alertamos sobre certas condições, neste caso, alto uso da CPU sustentado ao longo do tempo?
É aqui que entram os Conjuntos de coletores de dados. Após expandir os Conjuntos de coletores de dados, clique com o botão direito em Definido pelo usuário → Novo → Conjunto de coletores de dados.
Você terá a opção de nomear o conjunto e se deseja criá-lo a partir de um modelo ou manualmente. Nesse caso, precisamos criar manualmente nossa configuração.
Nesse caso, estamos configurando um Alerta do contador de desempenho. Isso monitorará um determinado contador e então podemos dizer ao alerta para realizar certas ações.

Visto que estamos procurando monitorar a porcentagem total da CPU, é mais importante escolher a métrica correta a ser monitorada. Aqui, escolhemos Processador → _Total clicando em “ Adicionar > > ” ao lado da instância selecionada.

Um problema é que você obtém todas as métricas Processor _Total. Em última análise, queremos apenas a métrica \\ Processador (_Total) \\% Tempo do Processador. Para remover os outros, selecione cada um e clique no botão Remover.

Infelizmente, da maneira como a remoção funciona, você não pode simplesmente clicar no botão remover várias vezes, pois ele move o item selecionado de volta para o topo de cada Tempo. Selecione cada métrica individualmente e clique em Remover.
Precisamos agora informar ao contador de desempenho em que ponto o alerta deve iniciar e, neste caso, esperamos que ele apareça apenas quando estiver acima de 95.

Por fim, salve e feche o Conjunto de coletores de dados.
Configurando alertas
Com nossa configuração padrão fora do caminho, precisamos configurar agora qual ação de alerta irá ocorrer. Existem duas maneiras de definir os alertas, Ação de alerta e Tarefa de alerta. Selecione seu conjunto de coletores de dados Definido pelo usuário → Alto uso de CPU, clique com o botão direito na entrada DataCollector01 padrão e escolha Propriedades.
A maneira mais fácil de começar a monitorar as entradas é navegar até a guia Ação de alerta e clicar na caixa de seleção “ Registrar uma entrada no log de eventos do aplicativo ”. Você também tem a opção conveniente de iniciar um conjunto de coletores de dados diferente quando os critérios para um alerta forem atendidos. Dessa forma, você pode coletar registros adicionais conforme necessário. Aqui, porém, vamos apenas registrar uma entrada.

Configurando uma tarefa de alerta
Isso é muito bom, mas, no final das contas, não estamos recebendo um alerta real neste caso, apenas uma nova entrada no log de eventos. Na guia Tarefa de Alerta, podemos dizer a este Coletor de Dados para iniciar uma tarefa agendada e enviar alguns parâmetros, que podem então executar quaisquer ações de alerta que desejamos. Para fazer isso funcionar, precisamos fazer duas coisas. Crie o script a ser executado e a própria tarefa agendada.
Script de registro
Abaixo está um script de registro muito simples. Lemos as métricas de alerta geradas pela Tarefa de Alerta e enviamos esses resultados para um arquivo de registro.
HighCPUAlert. ps1
$ Date = $ args [0] $ Threshold = $ args [1] $ Counter = $ args [2] $ Value = "[] |" -F $ Date, 'CPU alta', $ Threshold, $ Counter Add-Content -Value $ Value -Path 'C: \\ HighCPUAlert. log'
Tarefa agendada
Aqui, precisamos criar a tarefa agendada que realmente executará o script ao ser invocado pelo Data Collector. Estamos usando o PowerShell para criar a tarefa agendada e usando o PowerShell 7 como o tempo de execução, conforme indicado pelo executável pwsh. exe.
$ Params = @ {"Action" = New-ScheduledTaskAction -Execute "pwsh. exe" -Argument "-NoProfile -File C: \\ HighCPUAlert. ps1 $ (Arg0) "" Principal "= New-ScheduledTaskPrincipal -UserId" LOCALSERVICE "-LogonType ServiceAccount" Settings "= New-ScheduledTaskSettingsSet} New-ScheduledTask @Params | Register-ScheduledTask 'HighCPUAlert' Até que o PowerShell 7 seja lançado formalmente, o executável pode ser pwsh-preview. exe.
Configurando Tarefa de Alerta
Finalmente, precisamos configurar a Tarefa de Alerta no Coletor de Dados. Para fazer isso, navegue até as propriedades de DataCollector01 novamente e insira os seguintes detalhes.
Citamos os argumentos da tarefa porque eles vêm como strings para o PowerShell. Portanto, ao citá-los, tornamos mais fácil separar os argumentos por índice, ou seja, $ arg [0] ou $ arg [1].
Depois de clicar em salvar, uma credencial pode ser solicitada, deve ser um usuário com acesso de administrador.
Executando o Coletor de Dados
Ao clicar com o botão direito do mouse em Conjunto de coletores de dados, alto uso da CPU e selecionar Iniciar, você iniciará o processo de coleta. Se você monitorar as tarefas agendadas, verá a tarefa agendada recém-criada executada periodicamente, dependendo do intervalo de monitoramento e limite definido.
Conclusão
Usando as ferramentas de monitoramento integradas do Windows, você pode estruturar algumas soluções de monitoramento úteis e poderosas em torno dos utilitários principais e do PowerShell. Com essa flexibilidade, você será capaz de chegar ao fundo de quase todos os problemas que podem ser diagnosticados por meio da coleta de dados métricos!
Nenhum comentário