我正在按照此页面上的教程进行操作。 编写自定义 Nagios 插件
一切正常,我唯一的问题是,你应该编辑的第一个配置文件是 command-plugins.cfg 文件,但我找不到该文件。我执行了以下命令
find / -name "*cfg"
结果显示了我所有的 nagios cfg 文件,但 command-plugins.cfg 不是其中之一。
于是我继续学习教程并做了其他所有事情。Nagios 尝试执行我的自定义服务检查,但返回了此错误
(Return code of 127 is out of bounds - plugin may be missing)
因此,我假设仍然需要进行命令定义,但是在哪里呢?有人知道如何解决这个问题吗?
答案1
您可以对 Nagios 知道的任何文件进行更改*.cfg
— 您不必实际拥有一个名为的文件command-plugins.cfg
。命令定义的重要性在于它具有正确的格式,例如:
define command {
command_name an_alias_to_the_command
command_line /pathto/your_command_script --arg1 --arg2
}
Nagios 将使用一个主配置文件来确定要加载的所有其他文件。对我来说,它是/etc/nagios/nagios.cfg
。此文件包含指令,例如cfg_file
和,cfg_dir
用于加载单个文件或*.cfg
目录中的所有文件。
我更喜欢根据自己的类别来拆分命令文件,因此我的命令文件中有一个条目:
cfg_dir=/etc/nagios/commands
这意味着我将加载*.cfg
我的目录中的所有文件/etc/nagios/commands
。
您应该查看您的等效nagios.cfg
文件以确定它将从中加载文件的所有位置*.cfg
- 您应该能够确定要编辑哪个文件或从哪里创建新文件。