我有一个没有互联网接入的系统,我想在那里安装一些nagios监控服务/插件。我安装了nrpe(nagios远程插件执行器),可以看到其中定义的命令,比如 check_users
, check_load
, check_zombie_procs
等等。
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
...
我可以这样运行命令:
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load
这会产生如下输出:
OK - load average: 0.01, 0.13, 0.12|load1=0.010;15.000;30.000;0; load5=0.130;10.000;25.000;0; load15=0.120;5.000;20.000;0;
或者
WARNING – load average per CPU: 0.06, 0.07, 0.07|load1=0.059;0.150;0.300;0; load5=0.069;0.100;0.250;0; load15=0.073;0.050;0.200;0;
现在,我想定义/配置/安装更多要监视的服务。我在这里发现了一批服务。我想使用这里定义的服务 check_hadoop_namenode.pl
. 如何让它与nrpe一起工作?
我试着复制文件 check_hadoop_namenode.pl
到存储其他nrpe服务的同一目录中,即。, /usr/lib/nagios/plugins
. 但它不起作用: $ /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hadoop_namenode.pl
我想这可能是显而易见的,因为该目录中的所有其他服务都是二进制文件,所以我需要一个二进制文件 check_hadoop_namenode.pl
还有文件。我如何为它生成二进制文件?
我试着按照链接中的描述安装插件。但它只是尝试安装一些包依赖项,并抛出错误,因为它无法访问互联网(我的系统没有互联网访问,如我之前所述)。即使在另一个系统中手动安装这些依赖项并将它们复制到目标系统中,此错误仍然存在。
$ <In another system with internet access>
mkdir ~/repos
git clone https://github.com/harisekhon/nagios-plugins
cd nagios-plugins
sudo nano Makefile
# replace 'yum install' with 'yumdownloader --resolv --destdir ~/repos/'
# replace 'pip install' with 'pip download -d ~/repos/'
这下载了安装插件所需的43个依赖项(以及依赖项的依赖项等等)。
我怎样才能让它工作?
1条答案
按热度按时间moiiocjp1#
check_users
,check_load
或者check_zombie_procs
在客户端的nrpe.cfg
文件。默认位置为/usr/local/nagios/etc/nrpe.cfg
或者/etc/nagios/nrpe.cfg
. 正如我所读到的,您已经找到了该文件,因此可以进入下一步。把这样的东西放到你的table上
nrpe.cfg
:然后需要在客户端上重新启动nrpe deamon服务。像这样的
service nrpe restart
. 仅供参考,这些自定义脚本不必是二进制文件,甚至可以使用简单的bash脚本。最后,你可以打电话给
check_hadoop_namenode
来自nagios服务器或通过本地nrpe deamon的命令: