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