今天NRPE一个插件取数取不到了,感觉以前测试的时候取得到数啊,然后找了一台机器使用后报错如下:
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.
到网上查,是说没有开户参数命令,然后找到nsc.ini,然后把
allow_arguments=1,这样就可以允许带参数了。
然后继续运行,出现接收头错误,倒。。。
一问才知道,同事把nsclient和NRPE的参数都改了,因为我们要返回进程列表,字节比较长,而它们默认是只传输1024字节,所以我用常规的NRPE去与nsclient通信就出现接收错误了,
然后修改NRPE源文件中include下面的common.h文件中宏定义
#define MAX_PACKETBUFFER_LENGTH 16386 默认是1024,
然后在编译./configure;make;make all;make install-plugin,编译完成,
最后在用插件通信,又出现
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.错误,倒,只能看错误日志,一看才知道我电脑没有权限访问这台nsclient主机,
然后修改配置文件中SET下面的allowed_hosts=,
但还是一样,后来问别人,看到NRPE下面还有个allowed_hosts,他说在这上面也加上访问主机的地址试试,一重启就可以访问了,汗。。。。
搞半天原来不是插件的问题,是同事自己配置没做好,怪不得我的插件没输出结果,算了,记录记录,免得忘记。。。。。
ps -ef|grep nrpe