Answers:
有时我很难弄清楚插件在做什么。为了弄清楚这一点,我使用以下配置将nagios设置为调试模式。 debug_level=2048
在nagios处于调试模式的情况下,我只需尾部debug_log
文件即可debug_file=/var/log/nagios3/nagios.debug
。强制检查,您将确切看到命令的运行方式。我通常不会保留此设置,因为它非常冗长,并且会迅速填充您的日志文件。
tail -f
继续实时查看文件的更新,control+c
并将其取消。
很简单 只需cd(或不可以)进入plugins目录(此目录位置根据您的安装方式而有所不同,但请检查/ usr / local / nagios或/ usr / lib / nagios)。
查找要运行的插件(如果不确定,请将Linux盒上的插件目录中显示的内容与位于此处的插件进行比较:http : //exchange.nagios.org/directory/Plugins,或尝试运行“ ./plugin-name -h”以获取有关插件的帮助信息。
从命令行使用这些“插件”中任何一个的方法与任何其他Linux脚本相同:只需运行带有您要检查的适当标志的“ ./plugin-name”,瞧!
nagios
用户来完成su - nagios -s /bin/bash
。
-
为该用户加载环境变量?
与@Zoredache相比,我采取的暴力手段略强一些,我登录到nagios服务器并执行“ while true; ps awwlx | grep NAGIOS_CHECK_NAME; done”,同时我强制重新检查服务,其中NAGIOS_CHECK_NAME是我要查找的支票名称或服务器IP的一部分。通常在几秒钟内会弹出完整的check命令,然后我杀死while循环并运行check命令。
是的,它完全是蛮力的,但是<shrug>它对我有用。
您可能还想尝试一下“捕获”插件。它基本上与2048的调试级别具有相同的作用,但是可以在每个插件的基础上使用。这样产生的输出量较少。
转到您的插件目录-在我的示例中是
/usr/lib64/nagios/plugins/
输入您的插件名称-在我的示例中是
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
但是,在此示例中,端口号是可选的
另一个例子 -
在您的配置文件中,如下图所示(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绿色或红色)
试试这个-(插件完整路径)-H(服务器名)-c(检查名)
/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;
而已