我编写了一个自定义 nagios 插件,它返回了命令未定义错误。我还没有将命令放入 nrpe.cfg 中或定义服务等,因为这是由 puppet 控制的,并且任何故障都会每 5 分钟向所有技术人员发送一条短信。
我认为我应该能够在执行此操作之前从命令行对其进行测试。以下是 ubuntu 14.04 上的终端输出,说明了我的问题。
nagios@myserver:/usr/lib/nagios/plugins$ ./check_nrpe -H localhost -c check_users
USERS OK - 2 users currently logged in |users=2;5;5;0
nagios@myserver:/usr/lib/nagios/plugins$ ./check_nrpe -H localhost -c disk_usage.rb
NRPE: Command 'disk_usage.rb' not defined
nagios@myserver:/usr/lib/nagios/plugins$ ./disk_usage.rb
OK - '/backups' 84% of disk space used | '/'=37% '/tmp'=1% '/srv'=62% '/backups'=84%
答案1
为了使任何自定义 NRPE 命令正常工作,您需要在本地 NRPE 配置中为其添加额外的命令定义(通常/etc/nagios/nrpe_local.cfg
),例如:
command[disk_usage]=/usr/lib/nagios/plugins/disk_usage.rb
然后重新启动 NRPE 并重试:
check_nrpe -H localhost -c disk_usage