我们公司正在将我们的监控解决方案(WUG、Cacti、Zabbix)整合到 Nagios。我使用 Zabbix 多年,正在尝试了解如何让 Nagios 报告我为其编写了 Nagios 脚本的应用程序。
脚本已在客户端上编写并放在“/usr/local/nagios/etc/libexec”目录中。该脚本很简单,只是检查应用程序进程是否存在,将根据需要返回“0”、“1”、“2”或“3”退出代码。
文件“/usr/local/nagios/etc/nrpe.cfg”已在 Nagios 客户端上使用“command[command_name]=/path/to/command”节进行编辑。
我能找到的所有文档都说要编辑服务器主机上的“commands.cfg”文件以指向“command_name”,但是打开该文件时,顶部的几行表明不能编辑它,因为它将被覆盖,并且文件应放入“静态”目录或“输入”目录中。我试图弄清楚如何将命令“导入”到 Nagios CCM,但进展不大。
有人可以解释一下正确的步骤吗?是否有更简单的方法来处理这个问题,因为对于一个简单的任务来说,这似乎需要付出很多努力。
短暂性失眠!
答案1
正确的方法是编辑位于 nagios 文件夹内的 /etc 文件夹中名为 的文件checkcommands.cfg
(如果不可用,则创建文件)。
- 使用变量创建命令并指向实际脚本。
例子:
define command {
command_name check_http
command_line /usr/local/nagios/libexec/check_http $ARG1$
}
另请确保引用检查命令文件nagios.cfg
cfg_file=/usr/local/etc/nagios/checkcommands.cfg
如果你打算无限期地使用 Nagios,我建议你安装http://www.nagiosql.org。这将创建一个 Web 界面并将所有配置保存在数据库中,这样您就可以轻松地从界面添加新的服务检查、创建主机等,而无需直接编辑 nagios 配置文件。这将为您节省大量时间。