Ferramentas para monitorar o status e o desempenho de um ambiente Linux, Ruby on Rails (usando a gema de trabalho com atraso), ambiente Nginx, Passenger, Mysql e MongoDB

1

Estou implantando um aplicativo em um servidor Fedora Linux. Este aplicativo é um aplicativo da web Ruby on Rails, usando MySQL e MongoDB como bancos de dados. O aplicativo também usa a gem Delayed Job para processamento assíncrono. Estou usando o NGinx como servidor web. Eu também estou usando o Passenger.

Então, eu tenho pelo menos 5 processos com os quais tenho que me preocupar:

  • processo do MySQL
  • Processo do MongoDB
  • Processo Nginx
  • Processo do Ruby Enterprise Edition para o aplicativo da web
  • Processo do Ruby Enterprise Edition para a gema de trabalho atrasado

Infelizmente, todo esse processo será executado na mesma máquina virtual: (

É muito importante monitorar:

  • O status de cada processo
  • A memória e o uso da CPU de cada processo
  • O uso geral de E / S
  • O uso geral da CPU e da memória
  • O uso do pool de conexões com o banco de dados (para que eu possa ajustá-lo)

Eu quero uma ferramenta que possa me fornecer esses dados de monitoramento, criando gráficos baseados em tempo para os dados da CPU e da memória. Eu também quero ser capaz de acessar os arquivos de log de todo esse processo via web.

Minha empresa não tem orçamento para a compra de licenças para ferramentas caras, então eu realmente darei preferência por ferramentas de código aberto.

Qual ferramenta, ou quais conjuntos ou ferramentas você recomenda?

Atenciosamente,

Rubem

    
por Rubem Azenha 20.10.2010 / 05:39

4 respostas

4

Se o seu site for público, recomendo o excelente monitoramento do New Relic RPM for Rails:

link

    
por 22.10.2010 / 20:33
4
O

Nagios é a recomendação padrão para o monitoramento do sistema por um bom motivo. É de código aberto e gratuito. Nós também o usamos.

Este é um aplicativo da web público? Se assim for, sugiro adicionar algum monitoramento de terceiros . Nós usamos AlertFox Pro (pago) para isso, mas eles também têm um pacote grátis. O monitoramento livre plano é um pouco escondido, mas bastante poderoso;)

    
por 20.10.2010 / 06:23
2

O Nagios lhe dará um alerta sobre o status do seu processo.

O Cacti fará o gráfico do que você deseja monitorar sobre seus processos.

    
por 20.10.2010 / 12:30
0

Os plug-ins do Nagios são uma ótima solução para o seu pool de banco de dados. Existem plugins sólidos para a maioria dos bancos de dados. Plugins também são uma boa solução para monitorar seu sistema por URL com transações sintéticas.

Para obter detalhes do processo que você descreve, você acabará com vários sistemas diferentes. Você provavelmente fará bem em procurar uma solução que seja totalmente independente do idioma ou do tipo de componente do aplicativo. Isso é difícil de fazer certo, mas confira AppFirst. Eles fazem um bom trabalho de ver tudo. Você também pode colocar todos os dados do plugin Nagios no seu fluxo de dados.

Se você precisar de detalhes de nível de código para seus processos Ruby, verifique o New Relic. Esteja ciente de que isso é para desenvolvedores. É uma ótima solução. Mas isso depende do que você está procurando.

    
por 22.10.2010 / 04:34