我已经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_collector和global默认的deployment.ini似乎暗示的目录结构不同于Nagios默认的目录结构,只有一个名为objects的文件夹。 我错过了什么?
或者更重要的是,你的deployment.ini看起来如何?
但我不知道如何configuration
deployment.ini来正确地将生成的configuration部署到/usr/local/nagios/etc
生成Nagiosconfiguration后,它只是简单地使用一些命令,例如: gunzip , tar , scp , rsync ,…来复制到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_collector和global默认的deployment.ini似乎暗示的目录结构不同于Nagios默认的目录结构,只有一个名为objects的文件夹。 我错过了什么?
不pipe。 你可以把configuration文件放在你想要的任何文件夹中,但是不要忘了在主configuration文件nagios.cfg中告诉Nagios。