Monitoramento Básico de seus Servidores com JMeter
Tabela de conteúdos
Novato - This article is part of a series.
Saber o estado das máquinas é extremamente importante, especialmente para garantir que as respostas dos usuários estejam adequadas. Um processo de teste de desempenho não completa sem incluir um estágio de monitorização de recursos da máquina. Existem ferramentas que permitem você monitorar as máquinas. Muitos delas têm uma excelente experiência do usuário e uma comunidade enorme de usuários que os apoiam; muitas delas são abertas, mas em geral elas têm um aprendizado rápido difícil de entender.
JMeter é um ferramenta de geração de carga, mas inclui uma plugin que fornece uma maneira excelente e rápida para coletar métricas de um servidor. Este plugin é chamado “Collector de Métricas PerfMon”, e pode ser encontrado em https://jmeter-plugins.org/wiki/PerfMon/
Usando este plugin é possível monitorar CPU, Memória, Disco e redes, sua configuração é muito simples, com apenas alguns passos você pode estar controlando o comportamento de seus servidores. É uma monitoria básica mas extremamente útil quando queremos obter resultados rápidos sobre a saúde dos nossos servidores. Neste post vamos oferecer um tutorial “Passo a Passo”.
Vamos apresentar nossa infraestrutura. #
Nós temos um servidor local, que possui uma aplicação web que pode ser acessada por meio de “localhost”, então nossa página principal será somente acessível configurando a URL: https://localhost. Lembre-se que este tutorial está baseado no sistema operacional Windows.
1.- Baixe o Agente #
JMeter não pode recuperar métricas de desempenho do servidor sozinho, então você precisa usar o “agente de servidor”, que captura as métricas de desempenho e envia-as para JMeter. Esses agente usam a biblioteca SIGAR aberta. Eles coletam as métricas e enviaram-as via protocolos TCP ou UDP para JMeter.
Baixe o Agente do seguinte link: https://github.com/undera/perfmon-agent/releases/download/2.2.3/ServerAgent-2.2.3.zip
2.- Copie o agente para o servidor que você está monitorando #
3.- Executar o arquivo #
Execute o arquivo “StarAgent.bat” localizado na pasta principal “ServerAgent-2.2.3”. Este processo abrirá automaticamente os portos UDP e TCP 4444 e exibirá esta consola, indicando que a agente foi iniciada. Se você estiver usando um servidor Linux, deve executar o arquivo “StarAgent.sh”.
4.- Preparar o Plano de Teste em JMeter #
Para este exemplo, estamos acessando a URL: http://localhost que está hospedada no nosso servidor. Realizaremos uma solicitação para chegar à Página Inicial. Como mostrado na seguinte imagem, teremos apenas uma requisição “request”.
5.- Adicionamos o Listener “Visualizar árvore de resultados” e “jp@gc - Collector de Métricas PerfMon” #
Ao clicar direitamente no plano de teste -> Adicionar -> Listeners -> Para que este último listener seja visível na JMeter, primeiro é necessário adicionar a plugin “Set Standard” da Plugins.
Adicione o Host, Port e Métrica para Verificar via “Adicionar Linha” #
Para o exemplo de tutorial, selecionaremos nosso servidor local “Host/Ip”, port 4444, e as métricas que vamos monitorar. localhost – 4444 – CPU localhost – 4444 – Memória Somente serão verificados os recursos do CPU e da Memória durante nossas testes. Este elemento deve ter a seguinte aparência:
7.- Execute nosso script #
No caso nosso, já que somos apenas com uma “request http” para o principal página (localhost), na Grupos de Thread especificaremos um número infinito de iterações com intervalo de 60 segundos, com objetivo de atrasar nossa script e clarificar melhor os resultados no “Collector Metrics PerfMon”.
Nós paramos em “Collector de Métricas PerfMon” e veremos como o processador e a memória comportam-se em nosso servidor em apenas alguns segundos.
Podemos observar o comportamento do nosso servidor durante os primeiros 60 segundos enquanto ele está executando nossa script. Em azul, mostramos o comportamento do nosso CPU e em vermelho, a utilização de memória. Se sua monitoria tiver um pico próximo a 100%, devemos estar preocupados e tomar cuidado com o que aconteceu. Como na nossa situação quando o CPU se aproximava de 100% ao final do último segundo.