nrpe能不能执行远程主机上的shell脚本?

发布于 2021-11-23 11:55:30 字数 129 浏览 858 评论 6

安装好nagios和nrpe插件后,我想在监控服务器上通过nrpe来传递一个参数给被监控的远程主机,并在远程主机上的一个shell脚本中能引用这个参数,并把执行后的结果返回到监控服务器上。不知道在监控服务器上nrpe怎么配置,希望能有监控大神来帮助解决一下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

爱的那么颓废 2021-11-25 06:46:09

UPDATE:

1.编译NRPE时候加上--enable-command-args参数

2.打开nrpe.cfg的传参功能,将dont_blame_nrpe设为1

3.定义自己的command, 如command[my_check_disk]=/usr/local/nagios/libexec/my_check_disk -p $ARG1$

注意:

必须写全路径/usr/local/nagios/libexec

my_check_disk既是命令(command)也是自己定义的脚本,它能解析-p后面的参数,对比nrpe.cfg默认的定义的check_disk命令就会发现有所不同。

4.在命令中测试

/usr/local/nagios/libexec/check_nrpe -H 192.168.1.101 -c my_check_disk -a /usr

比如监控端中check_nrpe向被监控端(192.168.1.101)发出my_check_disk检测命令,并传递参数/usr。(可能my_check_disk接受一个参数检测不同路径下的磁盘的使用情况)。

5.在监控端cfg文件中的写法

define host{

   host_name  101host

   address       192.168.1.101

  ...

}

define service{

         host_name       101host

         service_description    检测/usr磁盘使用情况

         check_command    check_nrpe!my_check_disk!/usr

       ...         

}

any help contact at honwhy19@163.com

顾忌 2021-11-25 06:44:30

“把执行后的结果返回到监控服务器上”——这个是如何实现的呢?求指教。

把回忆走一遍 2021-11-25 06:41:32

UPDATE:

1.编译NRPE时候加上--enable-command-args参数

2.打开nrpe.cfg的传参功能,将dont_blame_nrpe设为1

3.定义自己的command, 如command[my_check_disk]=/usr/local/nagios/libexec/my_check_disk -p $ARG1$

注意:

必须写全路径/usr/local/nagios/libexec

my_check_disk既是命令(command)也是自己定义的脚本,它能解析-p后面的参数,对比nrpe.cfg默认的定义的check_disk命令就会发现有所不同。

4.在命令中测试

/usr/local/nagios/libexec/check_nrpe -H 192.168.1.101 -c my_check_disk -a /usr

比如监控端中check_nrpe向被监控端(192.168.1.101)发出my_check_disk检测命令,并传递参数/usr。(可能my_check_disk接受一个参数检测不同路径下的磁盘的使用情况)。

5.在监控端cfg文件中的写法

define host{

   host_name  101host

   address       192.168.1.101

  ...

}

define service{

         host_name       101host

         service_description    检测/usr磁盘使用情况

         check_command    check_nrpe!my_check_disk!/usr

       ...         

}

any help contact at honwhy19@163.com

断爱 2021-11-25 02:46:07

1 我假设你已经知道了check_nrpe和NRPE的通信机制(socket,守护进程...)

2 请注意远程客户机的NRPE配置文件,nrpe.cfg,要能够传递参数,并让特定脚本获取这个参数

   打开传参功能开关, dont_blame_nrpe(类似,可能不对,手头上目前没有这个代码,抱歉~~),写好相应的command[]=<binary path> -w<arg1> -c<arg2>,类似

   在监控端,定义好相关服务....

爱的故事 2021-11-24 19:52:18

声明我不是大婶,你的目的是传参和通信,是吗?

nagios是通过command pipe来执行外部指令的,传参有实现的可能,通信可能要自己扩展,会不会涉及到内核层面我就不知道了。

野心澎湃 2021-11-24 11:07:36

声明我不是大婶,你的目的是传参和通信,是吗?

nagios是通过command pipe来执行外部指令的,传参有实现的可能,通信可能要自己扩展,会不会涉及到内核层面我就不知道了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文