我有一台由nagios监控的机器,它在nrpe.cfg 中有以下行
include_dir=/etc/nagios/cfgs/
"cfgs"目录由以下带有各种命令的文件组成。
- 服务器.cfg
- 数据库.cfg
- regular.cfg
但是,有些命令在这些cfg文件中重复,但它们的参数不同。例如:数据库上的check_disk命令具有不同的阈值,而服务器上的check-disk命令具有相同命令的不同阈值。
我的问题是:如果一个命令有多个定义,nrpe会选择哪个命令?有什么方法可以识别它吗?
通常情况下,nrpe.cfg文件中的命令名不能重复,但如果重复,则不会引发错误。我以前(意外地)在非常大的配置中遇到过这种情况,nrpd总是选择使用它找到的LAST匹配命令。在我的例子中,作为一个单独的配置文件,总是很容易在文件中找到LAST匹配命令。由于包含了许多文件,这可能是一个问题。我相信它会用您提供的include_dir命令按字母顺序加载这些文件。
无论如何,我会为这些重复项寻找更独特的名称。例如检查数据库磁盘的"check_disk_db"。这些名称可以是你想要的任何名称,但也要记住在Nagios端更改它们。使用唯一的命令名将使您作为Nagios管理员的生活更加轻松。
至于弄清楚实际使用的是哪一种。您可以打开调试。调试输出不包括命令来自的文件,但会向您显示传递了哪些选项,以及通过check命令执行了哪些实际命令。这些信息应该足以查看选择了哪个nrpe命令。