Surveillance à distance Nagios: NRPE Vs. SSH

8

Nous utilisons Nagios pour surveiller pas mal de serveurs (~ 130). Nous surveillons le CPU, le disque, la RAM et quelques autres choses sur chaque serveur. J'ai toujours utilisé SSH pour exécuter les commandes à distance, uniquement parce qu'il nécessite peu ou pas de configuration supplémentaire sur le serveur distant, il suffit d'installer les plugins nagios, de créer l'utilisateur nagios et d'ajouter la clé SSH, que j'ai automatisée dans un script shell. Je n'ai jamais réellement considéré les implications de performances de l'utilisation de SSH sur NRPE.

Je ne suis pas trop gêné par la charge frappée sur le serveur Nagios (il est probablement sur-spécifié pour ce qu'il fait, il n'a jamais dépassé 10% du processeur), mais nous exécutons chaque vérification à distance toutes les 30 secondes et chaque serveur a 5 vérifications différentes effectué. Je suppose que SSH nécessite plus de ressources pour chaque vérification, mais y a-t-il une énorme différence? (IE suffisamment de différence pour justifier le passage au NRPE).

Si cela peut vous aider, nous surveillons un mélange de serveurs physiques (normalement avec 8, 12 ou 16 cœurs physiques) et des instances moyennes / grandes d'Amazon EC2.

Tache
la source

Réponses:

6

J'ai toujours cru que l'avantage administratif de SSH (j'utilise push_check ) l'emportait sur toute charge supplémentaire. Les processeurs modernes sont si rapides que le coût de chiffrement d'une poignée d'octets est assez minime, donc cela revient à exécuter deux processus (SSH et le script de vérification) contre un (le script de vérification déclenché par NRPE).

Pour les scripts de vérification écrits dans un langage interprété, je m'attendrais à ce que la surcharge de lancement de l'interpréteur (Perl, Python, Bash) dépasse le coût CPU du démarrage d'une session SSH. Étant donné les processeurs modernes, vos machines sont plus susceptibles d'être limitées en disque ou en mémoire plutôt qu'en CPU.

À condition que votre machine Nagios fasse face - elle doit configurer 20 connexions SSH chaque seconde - je me tromperais du côté de la commodité.

Pas vraiment une réponse à votre question, plutôt un argument selon lequel la vie est trop courte pour s'en inquiéter :)

Dan
la source
6

NRPE est un plugin nagios, il est facile à installer et il gérera la demande de vérification dans le fichier de configuration de la sonde. Il n'y a qu'une seule mauvaise chose à propos de nrpe, vous devez l'installer sur chaque serveur que vous souhaitez surveiller, sur linux os c'est vraiment simple, juste yum / apt-get install nrpe, mais sur Windows Server, vous devez l'installer via .exe , et vous devrez parfois redémarrer votre serveur.

Je pense que SSH n'est pas la façon la plus optimisée d'utiliser les nagios. Le NRPE pourrait être beaucoup plus efficace.

Ici sur la documentation nagios il y a cette phrase:

"L'utilisation de SSH est plus sécurisée que l'addon NRPE, mais elle impose également une surcharge (CPU) plus importante à la fois sur les machines de surveillance et distantes. Cela peut devenir un problème lorsque vous commencez à surveiller des centaines ou des milliers de machines. De nombreux administrateurs Nagios choisissent d'utiliser en utilisant l'addon NRPE en raison de la charge plus faible qu'il impose. "

il y a la documentation. C'est un .pdf

Quant à moi, j'utilise le protocole snmp, qui est simple à utiliser, et ne nécessite aucun tiers installé sur les serveurs.

Anarko_Bizounours
la source
J'ai examiné SNMP mais nous surveillons des choses comme les statistiques de base de données / applications qui, je pense, ne peuvent pas être configurées pour utiliser SNMP. Je ne suis pas trop préoccupé par la sécurité de la surveillance, SSH a été choisi uniquement pour éviter une configuration supplémentaire. Comme lorsque nous voulons ajouter / modifier une commande avec SSH, nous changeons simplement la configuration NAGIOS, mais avec NRPE, nous devons également l'ajouter au nrpe.conf sur le serveur distant.
Smudge
c'est vrai, nrpe est un peu gênant car vous devez ajouter .conf au serveur distant. Quant à SNMP, vous pouvez faire ce que vous voulez (si je ne me trompe pas), vous pouvez créer votre propre prob avec perl et via snmp utiliser votre sonde, c'est plus facile que nrpe car vous n'avez pas besoin de changer .conf sur serveur distant, et moins gourmand que SSH. Eh bien, après c'est juste un point de vue et ce que vous allez utiliser nagios. Nrpe est un bon compromis entre ssh et snmp, du moins pour moi. Bonne journée.
Anarko_Bizounours
3

Outre les suggestions données dans d'autres réponses, avez-vous envisagé d'activer le ControlMasterfichier .ssh / config de nagios pour tirer pleinement parti du multiplexage ssh ?

En d'autres termes, votre connexion SSH «resterait», donc la surcharge de l'établissement est minime car cela ne se produirait qu'une seule fois. Cela garantirait toujours la confidentialité avec le cryptage et vous protégerait de laisser des ports TCP ouverts sur les serveurs (bien que pare-feu). De plus, vous pouvez limiter ce qu'un utilisateur fait via ssh en limitant les commandes qu'il peut exécuter

lorenzog
la source
0

Je n'ai eu que des problèmes pour essayer de compiler NRPE sur divers OS. SSH a fonctionné de manière fluide et efficace et est beaucoup plus facile à écrire.

heybails
la source
4
Cela semble être plus un problème avec les systèmes avec lesquels vous travaillez que NRPE - je ne suis pas fan de Nagios, mais NRPE est un code assez simple et je n'ai jamais eu de problème pour le compiler ...
voretaq7