Monitorar o uso dos recursos de um servidor é, se não a mais, uma das tarefas mais importantes que um administrador de sistemas deve executar diariamente. Com os dados desta análise é possível fazer estudos para a expansão dos recursos do servidor (com uma análise consistente e bem feita fica muito mais fácil convencer o seu gerente a investir mais na infraestrutura :) ).
Existem várias ferramentas com essa finalidade disponíveis gratuitamente para Linux, porém a maioria não é integrada e/ou não oferece muitos detalhes ou flexibilidade sobre o quê e como analisar. Nesse aspecto o NMon supera muitas destas ferramentas pois:
Neste texto vou explicar a utilização do NMon e do NMon2RRD.
O NMon não está disponível nos repositórios oficiais do CentOS porém, instalando o RPMForge como explicado neste artigo, você pode instalá-lo assim:
# yum -y install nmon
O nmon será instalado no /usr/bin/nmon.
O NMon é bem simples de se utilizar. O único problema é guardar as teclas de atalho para que ele passe a exibir os dados dos recursos.
Basicamente, se você simplesmente executar o comando você vai estar na tela de monitoração:
# nmon

Nesta tela você irá adicionar os painéis com as informações que você deseja analisar. Para isso, você deve pressionar a tecla correspondente ao recurso. Segue uma tabela abaixo para consulta:
c -> Mostra dados de todos os processadores do sistema
m -> Mostra a utilização da memória
d -> Mostra a utilização dos discos rígidos da máquina
r -> Mostra dados como versão do kernel, modelo do processador, arquitetura, etc.
k -> Mostra o status do kernel
l -> Mostra um gráfico de utilização do CPU utilizando caracteres ASCII
j -> Mostra informações sobre os sistemas de arquivos montados no sistema. A saída dessa opção é bem parecida com a do comando df -h
n -> Dados sobre a rede (pacotes que entraram, pacotes que saíram, colisões, etc)
N -> Informações sobre o serviço NFS
t -> Semelhante ao comando “top”, mostra os processos que mais estão utilizando o CPU
- -> Aumenta a frequência de atualização da tela
+ -> Diminui a frequência de atualização da tela (não troquei este item com o anterior! :) )
V -> Coleta informações sobre a memória virtual do sistema
v -> Informações resumidas sobre CPU e discos
. -> Mostra apenas discos e processos que estão ativos (utilizando recursos do sistema)
h -> Mostra uma tela de ajuda
q -> Sai do NMon
O legal do NMon é que você não precisa exibir cada informação separadamente, você consegue exibir vários recursos do sistema na mesma tela. Por exemplo, digite:
# nmon
Você irá para a tela inicial do programa. Digite “c” para mostrar dados do processador e as informações do processador serão exibidas no topo da tela. Agora, digite “t” para mostrar os processos que mais estão utilizando o processador. Assim você irá poder analisar a carga do processador e quais os processos que mais estão utilizando o CPU (junto com várias outras informações sobre cada processo). Depois, se você quiser informações sobre a memória RAM, digite “m” e o painel da memória RAM será aberto e você poderá analisar estes três recursos ao mesmo tempo.
Você pode fazer qualquer combinação que você queira, não há limites de quantos recursos você pode utilizar. Para remover o painel de um recurso, pressione novamente a tecla que você pressionou para ele aparecer. Por exemplo, para remover o painel da memória pressione “m” novamente.
Além das opções dentro do programa, o NMon também possui várias opções de linha de comando que alteram a forma como o programa funciona. Como são muitas opções, vou citar apenas as que eu considerar mais importantes. Se você quiser ver uma lista completa destas opções basta digitar:
# nmon -h
Como já citei anteriormente, com o NMon você pode salvar os dados da análise em um arquivo para que ele seja analisado por algum software posteriormente gerando um relatório mais fácil para se analisar. Nesse modo, o NMon não irá ocupar a sua tela, ele será executado em background e quando terminar, todos os dados estarão salvos em um arquivo. As opções para esse modo são:
Por exemplo, o comando:
# nmon -F /tmp/servidor1.nmon -s3 -c10 -t
Irá salvar os dados no arquivo /tmp/servidor1.nmon. Os dados serão capturados a cada 3 segundos por 10 vezes e ele irá incluir na captura os processos que mais ocupam o sistema em cada análise (além deste, todos os outros recursos que o NMon é capaz de analisar também serão capturados).
Utilizando o arquivo gerado pelo NMon, a ferramenta nmon2rrd pode converter os dados em gráficos para facilitar ainda mais a análise. Ela não é instalada junto com o NMon, deve ser instalada separadamente. Porém, o processo de instalação é bem simples. Vou considerar aqui que você já tenha o pacote RRDTool corretamente instalado na sua máquina. Faça o seguinte:
-> Acesse o site http://www.ibm.com/developerworks/wikis/display/WikiPtype/nmon e procure pelo texto “nmon2rrd”;
-> Clique no link nmon2rrdv12g.tar e salve o arquivo;
-> Extraia o arquivo com o comando:
# tar xvf nmon2rrdv12g.tar
-> Isso irá criar dois arquivos: nmon2rrd e nmon2rrd.c. O primeiro é um binário que aparentemente só funciona no AIX (plataforma para a qual o NMon foi originalmente desenvolvido).
-> Compile o arquivo nmon2rrd.c com o comando:
# gcc -o nmon2rrd nmon2rrd.c
Assim você já terá o executável do nmon2rrd no diretório onde você salvou o nmon2rrd.c. As opções desse programa são:
Por exemplo, o seguinte comando:
# ./nmon2rrd -f servidor1.nmon -d /var/www/html/nmon/ -x
Irá gerar todos os gráficos e páginas HTML no diretório /var/www/html/nmon e os dados serão lidos do arquivo servidor1.nmon.
Obviamente, para conseguir acessar os arquivos você deverá ter o Apache configurado na máquina e o firewall deve permitir conexões TCP na porta 80.
O NMon é uma ferramenta bem simples e que facilita muito o trabalho de capacity planning (planejamento de capacidade) dos seus servidores. Com ele você poderá analisar em detalhes o uso do seu servidor, sendo capaz de planejar a expansão do seu servidor de maneira mais efetiva, ou seja, você pode decidir apenas comprar mais memória RAM, aumentar a capacidade dos discos, etc. Assim, você não gasta com componentes que atualmente já atendem à sua demanda.
Claro que existem outras ferramentas que também fazem este tipo de serviço, como o Cacti. Porém, por algum motivo pode ser que você prefira utilizar o NMon para fazer o seu serviço (pois ele é bem mais fácil de instalar e utilizar que o Cacti :) ). Enfim, é sempre bom ter várias opções!
Se você tiver dúvidas ou sugestões, deixe um comentário!
Não há posts relacionados a este!
5 Comentários
Twitter Trackbacks for Capacity Planning utilizando o NMon | Pedro Pereira [pedropereira.net] on Topsy.com
24|Aug|2009 1[...] Capacity Planning utilizando o NMon | Pedro Pereira http://www.pedropereira.net/nmon-monitorando-o-sistema-eficientemente – view page – cached Aprenda a utilizar o NMon, uma ferramenta que analisa o uso dos recursos do seu servidor e pode até gerar relatórios HTML para facilitar a sua vida! — From the page [...]
Marcelo
04|Feb|2010 2Boa tarde,
Agradeço pela dica, foi muito útil, pois tive que usar esse programa na minha empresa.
Obrigado.
Pedro Pereira
04|Feb|2010 3Olá Marcelo,
Fico feliz que tenha sido útil para você! Muito obrigado pelo comentário!
[]‘s
Pedro Pereira
Rafael
23|Nov|2011 4Boa tarde Pedro,
Primeiro gostaria de te parabenizar pelo seu post, mas preciso de uma ajuda sua.
Tenho que coletar de hora em hora do dia inteiro de um WPAR os consumos de cpu, mémoria e disco, e que tenha uma saida csv ou txt. Como posso fazer isso?
Agradeço desde já.
Pedro Pereira
02|Dec|2011 5Rafael,
Com o nmon mesmo você consegue fazer isso, basta executá-lo com as opções certas (estão todas descritas no post acima) e salvar em um arquivo .txt. Usando o próprio crontab você consegue fazer isso.
[]‘s
Pedro Pereira.
Deixe seu comentário!
Acompanhe!
Creative Commons
Esta obra escrita por Pedro Augusto de Oliveira Pereira está licensiada sob a Creative Commons Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 3.0 Brasil License.
Mais lidos
Busca
Últimas mensagens no Twitter
Posts recentes
A design creation of Design Disease
Pedro Pereira: Administrador de redes: Linux, Cisco, FreeBSD, OpenBSD. Consultoria e serviços em software livre utilizando Samba, Subversion, Postfix, OpenLDAP, Cacti, Nagios e vários outros!
Copyright © 2007 - Pedro Pereira - is proudly powered by WordPress
InSense 1.0 Theme by Design Disease brought to you by HostGator Web Hosting.
Switch to our mobile site