L'user nrpe ne peut pas exécuter correctement le script à distance en utilisant lsof, netstat fonctionne

J'ai créé un script simple pour que nagios vérifie un port sur un server distant. À l'origine, j'ai essayé d'utiliser lsof .

 #!/bin/bash RESULT=$(lsof -i :8080 | grep LISTEN) if [ -n "$RESULT" ] then echo "$RESULT" exit 0 else echo "Check application port is down" exit 2 fi 

Sur la machine locale, l'user nagios pourrait exécuter et exécuter le script et get la sortie attendue. Mais à distance, à l'aide de check_nrpe , j'ai toujours eu l'autre echo de return

 Check application port is down 

Même si, comme je l'ai dit, le script localement fonctionnait correctement

L'user nrpe avait tous les droits nécessaires pour exécuter le script, SELinux était en mode permissif, mais je ne pourrais jamais le faire fonctionner. J'ai donc changé la ligne RESULT pour utiliser netstat .

 RESULT=$(netstat -anp | grep ":8080" | grep LISTEN) 

Et puis je pourrais récupérer la réponse attendue à l'aide de check_nrpe distance. Je suppose donc qu'il s'agit d'un problème avec check_nrpe et lsof . Mais je ne pourrais jamais find quoi que ce soit dans les journaux.

Quelqu'un a-t-il des idées ou des suggestions pour que cela fonctionne correctement avec lsof ?

One Solution collect form web for “L'user nrpe ne peut pas exécuter correctement le script à distance en utilisant lsof, netstat fonctionne”

Les users non root ne voient aucun résultat de lsof -i . (Confirmé sur Debian 8 et Cent 7, sans SELinux.)

Si vous vouliez utiliser cela dans une vérification nagios, vous devriez exécuter lsof via sudo.

Si sudo est configuré pour exiger un tty (peut-être le défaut sur CentOS), vous pouvez faire quelque chose comme ceci:

 Defaults:nagios !requiretty nagios ALL=NOPASSWD:/usr/bin/lsof 

Remplacez nagios par nrpe si nécessaire, et modifiez le path d'access pour lsof si nécessaire.

  • nagios NRPE: Impossible de lire la sortie
  • nagios nrpe plugin output not complete
  • UNKNOWN: Aucun gestionnaire pour cette command
  • NRPE incapable de lire la sortie - a essayé le dépannage recommandé dans les documents
  • Aucun résultat n'est returnné à partir du plug-in mais les services s'affichent bien
  • Passer l'argument à nrpe
  • Exécutez check_nrpe sur le server distant
  • sudo: PAM audit_log_acct_message () a échoué: Autorisation refusée
  • permission refusée en cours d'exécution check_vmfs.sh à travers NRPE
  • Avantages / inconvénients de NRPE et SNMP avec Nagios 3?
  • nagios-plugins - check_ntp_time ne détectant pas un décalage incorrect
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.