Estou procurando uma maneira de diagnosticar problemas, como morte de swap, em que um processo de memória insuficiente preenche a troca e mata a máquina inteira (como o apache).
Eu já estou usando cactos e posso configurar nagios (embora prefira) ou munin, mas até onde eu sei, eles não podem registrar o uso de programas individuais - apenas o status geral.
Eu sei que posso rolar um script que >> para algum arquivo a cada 30s, mas eu gostaria de ver se já existe uma solução madura.
Novamente, o ideal seria:
- registrar o uso da memória dos processos a cada N segundos
- registrar o uso da CPU dos processos a cada N segundos
- gráficos e histórico de suporte
- médias de suporte - como o mysqld usou 43% da CPU no último dia e média de 400 MB de memória
- seja livre e de código aberto
Os nomes de processos não são e não devem ser conhecidos antecipadamente - a idéia é apenas deixá-lo monitorar e depois dar uma olhada nos principais infratores.
Meu sistema é Linux (OpenSUSE).
linux
performance
monitoring
memory-usage
Artem Russakovskii
fonte
fonte
Respostas:
Se você deseja apenas os principais ofensores, considere executar
top
com um intervalo relativamente longo (60 segundos ou mais) no modo em lote. Pode ser necessário mais de umatop
execução para capturar os principais infratores em vários recursos. Eu configurei os sistemas para serem executadostop
por alguns ciclos quando um recurso estava sendo usado em excesso.Considere executar
sar
no modo em lote para capturar a utilização de recursos. Sei que isso é baseado em servidor, mas é útil determinar os horários em que os problemas estão ocorrendo.Execute
munin
e ative as notificações. Isso pode lhe dar a chance de entrar e assistir o servidor caindo. Você pode corrigir o problema antes que ele desça.Para vazamentos de memória, um aumento constante no uso de swap indica um problema. Certa vez, vi um servidor morrer lentamente durante um período de dias. O serviço problemático era um programa que monitora outros processos quanto a vazamentos de memória. O administrador do sistema insistia que o crescente uso de swap não era um problema, até o servidor parar de responder.
Você pode achar que
cfengine
a detecção de anomalia pode ser usada para acionar um script para capturar o estado do sistema quando algo der errado. Você pode querer muitas informações, além dos processos que utilizam mais recursos. Para um influxo repentino de uso, convém uma lista de conexões de rede (por endereço, não por nome). O uso da memória também é útil.fonte
O sysstat é criado exatamente para o seu tipo de objetivo.
fonte
Eu já usei no topo antes:
http://freshmeat.net/projects/atop/
"O Atop é um monitor de desempenho em tela cheia ASCII capaz de relatar a atividade de todos os processos (mesmo que os processos tenham terminado durante o intervalo), o registro diário da atividade do sistema e do processo para análises de longo prazo, destacando os recursos sobrecarregados do sistema usando cores, etc. Em intervalos regulares, mostra a atividade no nível do sistema relacionada à CPU, memória, swap, discos e camadas de rede e, para cada processo ativo, mostra a utilização da CPU, o crescimento da memória, a prioridade, o nome de usuário, o estado, e código de saída ".
fonte
atop -r log_filename
, pressionem
para alternar para a exibição de uso da memória por processo e, em seguida, pressionet
para avançar em incrementos de 10 minutos até às 3:40. Você pode ler mais sobre os conceitos básicos do uso sobre a lwn.net/Articles/387202 e ver um exemplo de identificar um vazamento de memória no atoptool.nl/download/case_leakage.pdfJá experimentou collectd?
É muito poderoso e personalizável.
Possui muitos plugins e pode ser integrado ao nagios.
http://collectd.org/features.shtml
fonte
top
.Centreon em cima de Nagios, Nagios juntamente com NRPE. Em seguida, você pode escrever scripts personalizados para relatar dados em QUALQUER formato que desejar ao NRPE. O Nagios pesquisa os dados dos servidores remotos com o NRPE e o Centreon faz um gráfico bonito e adiciona uma tonelada de flexibilidade ao usuário. Nós o usamos em http://beyondhosting.net Eu tenho um modelo de contêiner VZ com a instalação do centreon + nagios, se você quiser.
Graphs centreon builds hostthenpost.org/tyler/2010-07-23_1719.png
fonte
O nmon é uma ótima ferramenta que faz o que você procura. Desenvolvido para AIX e Linux. Produz uma tonelada de resultados detalhados e fáceis de colocar em relatórios. Se você pesquisar no Google, há um wiki da IBM que possui um monte de documentação e utilitários adicionais para analisar os dados.
fonte
A densidade do servidor faz exatamente o que você descreve.
Eu o uso em um de nossos servidores de produção e estou muito feliz com isso. Sua principal característica é a capacidade de visualizar gráficos, clicar em um pico e ver o consumo de CPU / Memória do servidor no momento atual, incluindo todos os processos em execução. Eles chamam de instantâneos .
Está melhorando constantemente. Um dos recursos mais recentes é a detecção de anomalias , que permite detectar facilmente anomalias. Você também pode configurar vários limites
fonte
http://studyhat.blogspot.com/2010/08/user-activity-view-processes-display.html
olhe acima o link do código pequeno, que fornece a você a memória cpu etc.
fonte
As respostas sugeridas quando fiz uma pergunta semelhante :
Icapan disse :
David Spillet disse :
Você também pode verificar o Nagios ou o OpenNMS também.
fonte
Munin fará tudo o que você precisa imediatamente, sem precisar do Nagios ou de qualquer outra ferramenta. Existem RPMs disponíveis para o OpenSUSE.
fonte
Talvez o bom e velho OProfile faça o que você precisa? É um gerador de perfil no nível do sistema baseado em kernel com apenas uma pequena sobrecarga (algumas porcentagens).
Depois, há um excelente script Perl, o PSMon , que permite configurar todo tipo de limites de CPU / memória. Se esses valores forem excedidos, o psmon registrará um erro e / ou matará o processo ofensivo.
O último não produziria nenhum relatório de criação de perfil para você, mas se decidir interromper o mesmo processo repetidamente, provavelmente você encontrou o bastardo desagradável que estava procurando. :-)
fonte