CentOS 6.2上的基本Nagios服务器的nconf deployment.iniconfiguration

我已经build立了nconf和Nagios,但我无法弄清楚如何configurationdeployment.ini以正确地将生成的configuration部署/usr/local/nagios/etc

以下是感兴趣的目录列表:

 [jshin@nag0 tmp]$ ls Default_collector global [jshin@nag0 tmp]$ cd Default_collector/ [jshin@nag0 Default_collector]$ ls advanced_services.cfg hostgroups.cfg service_dependencies.cfg services.cfg host_dependencies.cfg hosts.cfg servicegroups.cfg [jshin@nag0 Default_collector]$ cd .. [jshin@nag0 tmp]$ cd global/ [jshin@nag0 global]$ ls checkcommands.cfg contacts.cfg misccommands.cfg timeperiods.cfg contactgroups.cfg host_templates.cfg service_templates.cfg [jshin@nag0 global]$ cd .. [jshin@nag0 tmp]$ cd /usr/local/nagios/etc/ [jshin@nag0 etc]$ ls cgi.cfg htpasswd.users nagios.cfg objects resource.cfg [jshin@nag0 etc]$ cd objects/ [jshin@nag0 objects]$ ls commands.cfg localhost.cfg switch.cfg timeperiods.cfg contacts.cfg printer.cfg templates.cfg windows.cfg 

这是我的deployment.ini (几乎是默认设置)

 ;; LOCAL deployment ;; [extract config] type = local source_file = "/var/www/html/nconf/output/NagiosConfig.tgz" target_file = "/tmp/" action = extract [copy collector config] type = local source_file = "/tmp/Default_collector/" target_file = "/usr/local/nagios/etc/Default_collector/" action = copy [copy global config] type = local source_file = "/tmp/global/" target_file = "/usr/local/nagios/etc/global" action = copy reload_command = "service nagios restart" 

我想知道的是为什么Default_collectorglobal默认的deployment.ini似乎暗示的目录结构不同于Nagios默认的目录结构,只有一个名为objects的文件夹。 我错过了什么?

或者更重要的是,你的deployment.ini看起来如何?

但我不知道如何configurationdeployment.ini来正确地将生成的configuration部署到/usr/local/nagios/etc

生成Nagiosconfiguration后,它只是简单地使用一些命令,例如: gunziptarscprsync ,…来复制到Nagios config目录。

使用上面的configuration,进入Web UI,点击Generate Nagiosconfiguration链接,然后点击Deploybutton,它会告诉你哪一步失败。 点击加号(+)查看详细信息:

 copy global config FAILED PHP mkdir: OK Create target directory (/usr/local/nagios/etc/global) PHP copy: OK recursive copy(/tmp/global/, /usr/local/nagios/etc/global) system call FAILED service nagios restart sh: service: command not found 

正如你从上面的错误中可以看到的,你错过了target_file的尾部斜线。 而且,你需要确保apache可以在不提示密码的情况下重新加载Nagios 。

编辑[复制全局configuration]如下:

 [copy global config] type = local source_file = "/tmp/global/" target_file = "/usr/local/nagios/etc/global/" action = copy reload_command = "sudo /etc/init.d/nagios reload" 

(如果你愿意,你可以使用/sbin/service

它会按照你的预期工作。

但是,等等…为什么不把文件直接提取到/usr/local/nagios/etc/

 [extract config] type = local source_file = "/var/www/html/nconf/output/NagiosConfig.tgz" target_file = "/usr/local/nagios/etc/" action = extract reload_command = "sudo /etc/init.d/nagios reload" 

我想知道的是为什么Default_collectorglobal默认的deployment.ini似乎暗示的目录结构不同于Nagios默认的目录结构,只有一个名为objects的文件夹。 我错过了什么?

不pipe。 你可以把configuration文件放在你想要的任何文件夹中,但是不要忘了在主configuration文件nagios.cfg中告诉Nagios。