“check_nrpe_1arg”到底是什么?

“check_nrpe_1arg”到底是什么?

我在很多 Nagios 文档中看到对 的引用check_nrpe_1arg

有人能确切解释一下这是什么或起什么作用吗?我在 Nagios 文档或网络上的其他地方都没有看到任何直接说明“check_nrpe_1arg执行 __”的内容。充其量,它只是“您check_nrpe_1arg在这里需要”,但没有解释是什么或为什么。

谢谢!

答案1

根据快速粗略搜索,check_nrpe_1arg 与 check_nrpe 相比没有什么特别之处,它也有一些背景故事。

check_nrpe 默认不接受发送的命令行参数,只接受在远程 NRPE 服务器主机上运行的 command_name。为了让 NRPE 接受超出此范围的参数(如果我没记错的话),您必须启用编译时定义,并在 check_nrpe 以及 NRPE 服务器nrpe.cfg文件中对其进行配置。

check_nrpe_1arg 似乎是配置到核心 NAGIOScommands.cfg文件中的助记符;具体来说,告诉安装程序此命令只接受 1 个参数(在远程主机上执行的命令的名称)并且不会接受任何其他参数。

考虑到 NAGIOS 的默认行为,这是一种很奇怪的做法,但它仍然获得了关注。

对此最快的回答是:
check_nrpe_1arg完全按照commands.cfg核心 NAGIOS 服务器上的配置执行操作。在此上下文中,它提供要在远程 NRPE 服务器上执行的命令名称,并且不会接受任何其他内容。

[编辑]
此外,它似乎源自“Untangle”(基于 Linux 的防火墙/路由软件包)或 Debian 中的默认配置,如果不跟踪一些链接则很难判断。

答案2

我只能根据 Debian 发行版来回答这个问题(在 wheezy 的时候)... check_nrpe_1arg 是在 /etc/nagios-plugins/check_nrpe.cfg 中定义的命令名称。

check_nrpe 接受在远程主机上运行的 nrpe 命令的名称以及传递给远程执行命令的参数(以空格分隔)。相比之下,check_nrpe_1arg 仅接受在远程主机上运行的命令的名称(即,没有参数传递给远程执行命令)。

如果您在远程主机上硬编码了一个非常具体的命令,并希望在不传递任何参数的情况下调用它,则 check_nrpe_1arg 非常有用。您有时会看到这样的例子,即在 /etc/nagios/nrpe.cfg 中定义的 check_hda1 或 check_sda1。check_hda1 和 check_sda1 是使用特定参数调用 check_disk 的硬编码命令。

相关内容