Monitoramento remoto do Nagios: NRPE vs. SSH

8

Usamos o Nagios para monitorar alguns servidores (~ 130). Monitoramos CPU, disco, RAM e algumas outras coisas em cada servidor. Eu sempre usei o SSH para executar os comandos remotos, simplesmente porque requer pouca ou nenhuma configuração adicional no servidor remoto, basta instalar o nagios-plugins, criar o usuário do nagios e adicionar a chave SSH, tudo que eu automatizei no um script de shell. Na verdade, nunca considerei as implicações de desempenho do uso do SSH sobre o NRPE.

Não estou muito preocupado com a carga atingida no servidor Nagios (provavelmente está superespecificado para o que faz, nunca ultrapassou 10% da CPU), mas executamos cada verificação remota a cada 30 segundos e cada servidor tem 5 verificações diferentes realizada. Presumo que o SSH exija mais recursos para cada verificação, mas há uma enorme diferença? (Ou seja, há diferença suficiente para justificar a mudança para NRPE).

Se for de alguma ajuda, monitoramos uma mistura de servidores físicos (normalmente com 8, 12 ou 16 núcleos físicos) e instâncias médias / grandes do Amazon EC2.

mancha
fonte

Respostas:

6

Sempre acreditei que a vantagem de administração do SSH (uso push_check ) supera qualquer carga adicional. As CPUs modernas são tão rápidas que o custo de criptografar um punhado de bytes é mínimo, portanto, se trata de executar dois processos (SSH e o script de verificação) versus um (script de verificação acionado pelo NRPE).

Para scripts de verificação escritos em uma linguagem interpretada, eu esperaria que a sobrecarga de acionar o intérprete (Perl, Python, Bash) excedesse o custo da CPU de iniciar uma sessão SSH. Dadas as CPUs modernas, é mais provável que suas máquinas sejam limitadas por disco ou memória, em vez de limitadas por CPU.

Desde que a sua máquina Nagios esteja lidando - ela precisa configurar 20 conexões SSH a cada segundo - eu iria errar por conveniência.

Não é realmente uma resposta para sua pergunta, é mais um argumento de que a vida é muito curta para se preocupar com isso :)

Dan
fonte
6

O NRPE é um plug-in do nagios, é fácil de instalar e gerencia a solicitação de verificação no arquivo de configuração do probe. Há apenas uma coisa ruim sobre o nrpe, você precisa instalá-lo em todos os servidores que deseja monitorar, no linux os é realmente simples, apenas numpe do yum / apt-get install, mas no servidor windows você precisa instalá-lo via .exe e, em algum momento, você precisará reiniciar o servidor.

Eu acho que o SSH não é a maneira mais otimizada de usar nagios. O NRPE pode ser muito mais eficiente.

Aqui na documentação dos nagios há esta frase:

"O uso do SSH é mais seguro que o complemento NRPE, mas também impõe uma sobrecarga maior (CPU) nas máquinas remotas e de monitoramento. Isso pode se tornar um problema quando você começa a monitorar centenas ou milhares de máquinas. Muitos administradores do Nagios optam por usar usando o addon NRPE devido à menor carga que ele impõe. "

existe a documentação. É um .pdf

Quanto a mim, uso o protocolo snmp, que é simples de usar, e não preciso de terceiros instalados nos servidores.

Anarko_Bizounours
fonte
Eu olhei para o SNMP, mas monitoramos coisas como estatísticas de banco de dados / aplicativo, que eu acho que não podem ser configuradas para usar o SNMP. Não estou muito preocupado com a segurança no monitoramento, o SSH foi escolhido exclusivamente para evitar configurações extras. Como quando queremos adicionar / alterar um comando com o SSH, apenas alteramos a configuração do NAGIOS, mas com o NRPE também precisamos adicioná-lo ao nrpe.conf no servidor remoto.
Mancha
isso é verdade, o nrpe é um pouco incômodo porque você precisa adicionar .conf ao servidor remoto. Quanto ao SNMP, você pode fazer o que quiser (se não estiver errado), criar seu próprio prob com perl e, através do snmp, usar seu probe, é mais fácil do que o nrpe, porque você não precisa alterar .conf no servidor remoto e menos ganancioso que o SSH. Bem, depois é apenas um ponto de vista e para o que você usará os nagios. Nrpe é um bom compromisso entre ssh e snmp, pelo menos para mim. Tenha um bom dia.
Anarko_Bizounours 14/06
3

Além das sugestões fornecidas em outras respostas, você está pensando ControlMasterem ativar no arquivo .ssh / config do nagios para aproveitar ao máximo a multiplexação ssh ?

Em outras palavras, sua conexão SSH "permaneceria", portanto a sobrecarga de estabelecê-la é mínima, pois isso aconteceria apenas uma vez. Isso ainda garantiria privacidade com criptografia e protegeria você de deixar portas TCP abertas nos servidores (embora com firewall). Além disso, você pode limitar o que um usuário faz via ssh, limitando os comandos que ele pode executar

Lorenzog
fonte
0

Eu tive apenas problemas tentando compilar NRPE em vários sistemas operacionais. O SSH funcionou sem problemas e com eficiência e é muito mais fácil criar um script.

heybails
fonte
4
Isso parece ser mais um problema com os sistemas com os quais você está trabalhando do que o NRPE - não sou fã do Nagios, mas o NRPE é um código bastante simples e nunca tive um problema ao compilá-lo ...
voretaq7