Monitorando servidores (Windows e Linux)
Antes do artigo em si, queria dizer que estou apresentando um texto onde trato não só de máquinas com plataforma Linux, mas de máquinas com plataforma Windows também, pois acredito que vivemos e dependemos do mundo corporativo de uma forma globalizada, se assim posso dizer, e não existe a necessidade de deixarmos de lado qualquer plataforma pensando que encontraremos pela frente um único cenário.
Principal
Sabemos que em Windows, por exemplo, podemos verificar a performance da máquina no que diz respeito a CPU e memória RAM usada durante um certo período de tempo, através do Gerenciador de Tarefas (Task Manager).
Em máquinas com plataforma Linux, podemos ver as mesmas, além de outras informações, usando o comando top.
Mas muitas vezes temos que documentar esses resultados em um arquivo de texto, por exemplo, para análise posterior visando ações corretivas em caso de problemas ou simplesmente para documentarmos e compartilharmos tais informações por qualquer motivo que seja.
Bom, nesses casos, podemos trabalhar somente com "strings", através do prompt de comando, por exemplo, em máquinas com plataforma Windows ou ainda criar arquivos com scripts que se encarreguem de nos trazer os resultado como precisamos.
Vejamos:
typeperf "\Memory\Available Mbytes" "\processor(_total)\% processor time" -si 60 -o monitoracao.txt
No caso do exemplo acima, será gerado um arquivo chamado monitoracao.txt e a cada 60 segundos será direcionado ao mesmo, o resultado do teste mostrando o consumo de memória RAM e processamento (CPU) em porcento.
Obs: Você poderá deixar o arquivo sendo "alimentado" por quanto tempo for necessário.
Para encerrar o processo, basta digitar CTRL + C.
Para ver o arquivo e seu conteúdo, basta acessar o diretório onde o mesmo foi criado, provavelmente estará em "C:" e digitar:
start monitoracao.txt
Ainda sobre o exemplo acima, há a variável "Memory" disponibilizando dados referentes ao objeto solicitado, que é o "Available Mbytes". No link abaixo, há uma listagem completa dos objetos disponíveis para utilizar com o Typeperf:
Existem vários comandos interessantes, como por exemplo:
typeperf "\Memory\Available Mbytes" "\processor(_total)\% processor time" "\memory\Committed Bytes" "\memory\Commit Limit" -si 3 -o teste.txt
Onde "Committed Bytes" são os bytes do arquivo de paginação consumidos e "Commit Limit" é o TOTAL de memória virtual configurado.
Para fazer remotamente este comando de uma outra máquina basta colocar -s NOME DA MÁQUINA, ficando assim:
typeperf "\Memory\Available Mbytes" "\processor(_total)\% processor time" -s NOMEDAMÁQUINA -si TEMPO -o monitoracao.txt
Lembrando que:
Mais detalhes sobre a sintaxe do comando TYPEPERF estão no link à seguir:
Em máquinas com plataforma Linux, podemos ver as mesmas, além de outras informações, usando o comando top.
Mas muitas vezes temos que documentar esses resultados em um arquivo de texto, por exemplo, para análise posterior visando ações corretivas em caso de problemas ou simplesmente para documentarmos e compartilharmos tais informações por qualquer motivo que seja.
Bom, nesses casos, podemos trabalhar somente com "strings", através do prompt de comando, por exemplo, em máquinas com plataforma Windows ou ainda criar arquivos com scripts que se encarreguem de nos trazer os resultado como precisamos.
Vejamos:
Máquinas com plataforma Windows
Abra o Prompt do MS-DOS da máquina local e execute a string abaixo:typeperf "\Memory\Available Mbytes" "\processor(_total)\% processor time" -si 60 -o monitoracao.txt
No caso do exemplo acima, será gerado um arquivo chamado monitoracao.txt e a cada 60 segundos será direcionado ao mesmo, o resultado do teste mostrando o consumo de memória RAM e processamento (CPU) em porcento.
Obs: Você poderá deixar o arquivo sendo "alimentado" por quanto tempo for necessário.
Para encerrar o processo, basta digitar CTRL + C.
Para ver o arquivo e seu conteúdo, basta acessar o diretório onde o mesmo foi criado, provavelmente estará em "C:" e digitar:
start monitoracao.txt
Ainda sobre o exemplo acima, há a variável "Memory" disponibilizando dados referentes ao objeto solicitado, que é o "Available Mbytes". No link abaixo, há uma listagem completa dos objetos disponíveis para utilizar com o Typeperf:
- http://www.microsoft.com/technet/.../counters2_tkfn.mspx (basta navegar no link à esquerda)
Existem vários comandos interessantes, como por exemplo:
typeperf "\Memory\Available Mbytes" "\processor(_total)\% processor time" "\memory\Committed Bytes" "\memory\Commit Limit" -si 3 -o teste.txt
Onde "Committed Bytes" são os bytes do arquivo de paginação consumidos e "Commit Limit" é o TOTAL de memória virtual configurado.
Para fazer remotamente este comando de uma outra máquina basta colocar -s NOME DA MÁQUINA, ficando assim:
typeperf "\Memory\Available Mbytes" "\processor(_total)\% processor time" -s NOMEDAMÁQUINA -si TEMPO -o monitoracao.txt
Lembrando que:
- NOMEDAMÁQUINA = É o nome da máquina exatamente que você deseja obter tais informações, por exemplo w03dnn0110;
- TEMPO = é o tempo de intervalo entre cada comando. Pode-se colocar formato: Apenas o número. Será visto nesse caso, como segundos e no formato 00:00;
- monitoracao.txt = É o arquivo onde serão gravadas estas informações.
Mais detalhes sobre a sintaxe do comando TYPEPERF estão no link à seguir:
Ficou legalzinhu, mas poderia explorar ferramentas mais legais.
Um abraço.