Puxando Estatísticas do Servidor para Monitoramento Remoto

2

Eu gostaria de escrever meu próprio aplicativo de monitoramento de servidores. O ideal seria mostrar estatísticas como carga, tempo de atividade, atividade de CPU, processos mais ativos, uso de memória por processo, etc. Qual é a melhor maneira de obter essas informações do servidor? Eu estava pensando inicialmente em executar comandos ssh -e, mas queria ver se havia uma maneira mais eficiente do que pesquisar o servidor.

Alternativamente, seria melhor vincular os dados que estão sendo agregados por Munin ou uma ferramenta de monitoramento semelhante?

UPDATE

Para ser mais claro, estou interessado principalmente na melhor maneira de obter os tipos de dados mencionados acima em um servidor para que eu possa renderizá-los em um aplicativo Android que estou interessado em criar. Escrever os testes reais no próprio servidor não está realmente no domínio do trabalho que quero fazer, e é por isso que espero que o Nagios ou algo semelhante já forneça os dados que estou procurando. Eu só precisaria extrair esses dados e processá-los em minha própria ferramenta.

    
por Brian Wigginton 01.11.2011 / 05:36

3 respostas

4

Uma maneira de lidar com isso é executando um agente snmp em seus servidores e coletando os resultados com algo como munin ou cacti. Aqui está um tutorial de cactos decentes que explica como configurar o agente net-snmp em uma caixa linux. / p>

A vantagem de usar snmp é o menor mecanismo de relatório de denominador comum para dispositivos de rede. Quase todos os dispositivos em rede podem ser configurados para executar um cliente snmp (exceto para switches e roteadores de consumidor final muito baixo). Assim, se você usar o snmp para monitorar suas máquinas linux, é simples usar snmp para monitorar seus switches, roteadores, impressoras de rede, etc. Em geral, você consultará os dispositivos em intervalos regulares.

Observe que a versão mais antiga do protocolo snmp (2c) é bastante insegura. Para lidar com isso, muitas pessoas apenas configuram o agente snmp para executar somente leitura. Na prática, contanto que você esteja usando snmp somente leitura em sua rede interna, o risco de segurança é baixo. No entanto, você deve estar ciente das limitações do modelo de segurança snmp antes de usá-lo.

    
por 01.11.2011 / 07:28
1

Eu provavelmente sugeriria que você olhasse para o que já foi feito, em vez de tentar reinventar a roda. Eu acho que o Nagios é muito bom, e fornece uma base a partir da qual você pode facilmente estender os pontos de monitoramento. Os agentes se comunicam usando protocolo seguro, mas são configurados para a funcionalidade que você precisa.

    
por 01.11.2011 / 07:01
1

Você está começando no lugar errado. O que você monitora é menos importante do que como você monitora. O primeiro sempre mudará, você precisa começar com um sistema que:

  • agenda a execução das sondas
  • invoca os probes apropriados para os destinos
  • agrupa os resultados
  • fornece alertas em tempo real,
  • relatório de tendências
  • painéis

Existem muitas ferramentas disponíveis no mercado, que fornecem as informações acima e geralmente vêm com todos os tipos de sondas padrão. Eu gosto do Nagios devido a sua clara separação entre as sondas e o mecanismo de agendamento / relatório - o que torna trivial adicionar sondas adicionais e tem uma grande biblioteca / a> de probes pré-escritos e add-ons (o painel padrão não é tão grande IMHO, mas escrever o meu próprio foi fácil).

    
por 01.11.2011 / 11:00