Monitorando o uso da memória
Estou mais de acordo com um dos posts anteriores que mencionou o Cacti como uma ótima maneira de monitorar o uso da memória. No entanto, uma vez que parece cactos não é mais popular no mainstream, existe uma aplicação gráfica alternativa chamada Graphite.
Grafite é relativamente fácil de instalar em um servidor ubuntu e para instalá-lo, você pode confira este link para o fácil de seguir os procedimentos de instalação.
Após a instalação do grafite, agora você pode enviar métricas de memória para ele, em qualquer intervalo que desejar; a cada 5 segundos, a cada minuto, a cada hora ... etc.
Para representar graficamente as métricas de memória, como já sugerido nas postagens anteriores, você pode escrever seu próprio script usando ferramentas do sistema para reunir as informações necessárias sobre a memória. Ou você pode usar um plug-in snmp pré-escrito que fará todo o trabalho para você.
Se você deseja escrever seu próprio script de memória, será prudente garantir que você considere a memória armazenada em cache e armazenada em cache ao calcular a memória usada; caso contrário, você acabará reunindo dados falsos.
Se você preferir utilizar um plug-in snmp que já faz todos os cálculos necessários para você, aqui está um link para um que funciona muito bem: checkMemoryviaSNMP .
Prós de SNMP:
Eu tenho o snmp instalado em todos os nós remotos que monitora. Isso me permite monitorar todos os meus sistemas de um servidor (es) central (is) , sem ter que copiar ou colocar um plugin nos nós remotos.
Contras do SNMP:
Você precisa garantir que o snmp agent esteja instalado em cada um dos nós remotos nos quais deseja monitorar a memória. No entanto, esta instalação será uma negociação única. Se você estiver usando ferramentas de automação como chef ou fantoche ou ferramentas semelhantes em seu ambiente, isso não é problema algum.
Configuração do agente SNMP no (s) nó (s) remoto (s):
Após o agente snmp ter sido instalado, simplesmente vi o arquivo /etc/snmpd/snmpd.conf e adicione esta linha a ele:
rocommunity (specify-a-community-string-aka-password-here)
Em seguida, reinicie o agente snmpd com:
/etc/init.d/snmpd restart
Em seguida, no seu servidor central, a partir do qual você monitora todos os outros servidores, você pode executar o seguinte comando:
$ time ./checkMemoryviaSNMP -v2 public gearman001.phs.blah.com 30 90 graphite,10.10.10.10,2003,typical
WARNING: Used = [ 3.26154 GB ], Installed = [ 5.71509 GB ], PCT.Used = [ 57.069% ], Available.Memory = [ 2.00291 GB ]. Buffer = [ 137.594 MB ], Cached = [ 1.3849 GB ]. Thresholds: [ W=(30%) / C=(90%) ]. System Information = [ Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 ].
real 0m0.23s
user 0m0.03s
sys 0m0.02s