我怎样才能从命令行手动运行一个nagios检查?

在nagios中定义和testing新服务时,我已经重新启动了nagios,然后单击服务,并尽快重新安排检查,然后等待检查发生。

有没有更有效的方法来做到这一点? 我想使用命令行来运行特定的检查并得到输出。

有时我发现搞清楚一个插件的function是非常棘手的。 为了解决这个问题,我把nagios设置成debugging模式,像这样的configuration。 debug_level=2048在debugging模式下使用nagios,我只需简单地debuggingdebug_log文件debug_file=/var/log/nagios3/nagios.debug 。 强制检查,你会看到如何命令正在运行。 我不会正常地保留这个设置,但它非常冗长,并且以很快的速度填满你的日志文件。

这很简单。 只要cd(或不)插入到plugins目录(这个目录的位置有所不同,取决于你如何安装它,但检查/ usr / local / nagios或/ usr / lib / nagios)。

find你想运行的插件(如果你不确定,比较你的Linux机器上的插件目录和插件位置: http : //exchange.nagios.org/directory/Plugins ,或者尝试运行“./plugin-name -h”来获得关于插件的帮助信息)。

从命令行使用任何这些“插件”的方法与任何其他Linux脚本相同:只要运行“./plugin-name”,并select合适的标志,就可以了。

我比@Zoredache采取了一个稍微暴力的方向,我login到nagios服务器,并“做到了;做ps awwlx | grep NAGIOS_CHECK_NAME;完成”,而我强制重新检查服务,NAGIOS_CHECK_NAME要么检查名称的一部分或我正在查找的服务器的IP。 通常在几秒钟之内popup完整的检查命令,然后杀死while循环并运行检查命令。

是的,这完全是蛮力的,但对我来说却是耸耸肩。

您可能还想尝试一下“捕获”插件。 它本质上和2048的debugging级别一样,但是可以在每个插件的基础上使用。 这会产生更less的输出。

http://www.waggy.at/nagios/capture_plugin.htm

去你的插件目录 – 在我的例子是

 /usr/lib64/nagios/plugins/ 

input你的插件名称 – 在我的例子中是

 check_tcp 

现在运行完整的命令 – (插件名称)-H(主机名)-p(端口号)

 /usr/lib64/nagios/plugins/check_tcp -H myservername -p 8080 

产量

 TCP OK - 0.004 second response time on port 8080|time=0.004146s;;;0.000000;10.000000 

但是在这个例子中,端口号是可选的

另一个例子 –

在你的configuration文件里面,如下所示(myserver.cfg),你想从命令行运行check_cpu

 define service{ use generic-service host_name myserver servicegroups windows service_description CPU contact_groups sysadmin_email_only notification_options w,c,r check_command check_nrpe!check_cpu } 

即时检查(无GUI绿色或红色)

试试这个 – (插件完整path)-H(servername)-c(checkname)

 /usr/lib64/nagios/plugins/check_nrpe -H spc7atc01 -c check_cpu 

输出 –

 OK CPU Load ok.|'5'=4;80;90; '10'=3;80;90; '15'=3;80;90; 

而已