Der*_*ler 10 nagios debian-wheezy
我使用一些基于Perl脚本的Nagios的维修检查,我得到(Service check did not exit properly)和(null)作为结果在Nagios的,但脚本作品在命令行上很大。
我在网上看到的解决方案建议通过enable_embedded_perl=0在 Nagios 配置中设置或明确指定解释器的路径来禁用内部 Perl 解释器。这对问题没有帮助。
还能是什么?
Kei*_*ith 11
Nagios 包括它自己的嵌入式 perl 解释器。您的插件可能不符合 epn 标准。
您可能希望全局禁用它,或者只是为您的脚本禁用它。该文档页面的底部向您展示了如何执行此操作。
基本上,# nagios: -epn在脚本的前十行内的某处添加自己的行。这应该可以解决您的问题。
您也可以使其符合,但几乎可以肯定不值得麻烦。
Nagios Exchange 中的一些 Perl 脚本将尝试包含utils.pmPerl 模块。你会在其中的某个地方找到这样的一行:
use lib "/usr/local/nagios/libexec";
Run Code Online (Sandbox Code Playgroud)
在 Debian 上安装 Nagios 时,该文件的默认位置utils.pm是/usr/lib/nagios/plugins/utils.pm. 所以use lib指令应该是:
use lib "/usr/lib/nagios/plugins";
Run Code Online (Sandbox Code Playgroud)
从命令行执行命令很可能有效,因为您正在/usr/lib/nagios/plugins/编辑插件。