J'utilise des scripts basés sur Perl pour les vérifications de service dans Nagios et j'obtiens (Service check did not exit properly)
et (null)
par conséquent dans Nagios, mais le script fonctionne très bien sur la ligne de commande.
J'ai vu des solutions en ligne suggérant de désactiver l'interpréteur Perl interne en définissant enable_embedded_perl=0
dans la configuration Nagios ou en spécifiant explicitement le chemin vers un interpréteur. Cela n'a pas résolu le problème.
Quoi d'autre cela pourrait-il être?
nagios
debian-wheezy
Der Hochstapler
la source
la source
Réponses:
Nagios inclut son propre interpréteur perl intégré. Votre plugin n'est probablement pas compatible epn.
Vous voudrez peut-être le désactiver globalement, ou simplement le désactiver pour votre script. Le bas de cette page de documentation vous montre comment procéder.
Fondamentalement, ajoutez
# nagios: -epn
sa propre ligne quelque part dans les dix premières lignes de votre script. Cela devrait résoudre votre problème.Vous pouvez également le rendre conforme , mais cela ne vaut certainement pas la peine.
la source
# nagios: -epn
, selon la documentation et selon mes tests.check_disk_smb
etcheck_file_age
, ou si je metsuse_embedded_perl_implicitly=0
Certains scripts Perl de Nagios Exchange essaieront d'inclure le
utils.pm
module Perl. Vous trouverez une ligne comme celle-ci quelque part:Lors de l'installation de Nagios sur Debian, l'emplacement par défaut du
utils.pm
fichier est/usr/lib/nagios/plugins/utils.pm
. Lause lib
directive devrait donc être:L'exécution de la commande à partir de la ligne de commande a probablement fonctionné parce que vous étiez en
/usr/lib/nagios/plugins/
train de modifier votre plugin.la source
Préfixez la commande avec
/usr/bin/perl
.Cette solution est plus une solution de contournement, ce n'est probablement pas une bonne idée de le faire, mais au moins votre plugin devrait fonctionner de la même manière que lorsque vous le lancez à partir du terminal.
REMARQUE: D'après mon expérience,
# nagios -epn
fonctionne assez souvent, mais parfois cela ne semble pas être suffisant. J'ai remarqué que lorsque cela se produit, les plugins défectueux signalent de nombreux avertissements (lorsque le script est invoqué avecperl -w
).la source