Назад | Перейти на главную страницу

Конфигурация nconf deployment.ini для базового сервера Nagios на CentOS 6.2

Я установил nconf и Nagios, но не могу понять, как настроить deployment.ini для правильного развертывания сгенерированной конфигурации на /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"

Мне интересно, почему структура каталогов по умолчанию deployment.ini кажется, предлагает с Default_collector и global, отличается от того, который есть в Nagios по умолчанию, только папка с именем objects. Что мне не хватает?

Или, что более важно, как deployment.ini смотрю?

но я не могу понять, как настроить deployment.ini для правильного развертывания сгенерированной конфигурации на /usr/local/nagios/etc.

После создания конфигурации Nagios он просто использует некоторые команды, такие как: gunzip, tar, scp, rsync, ... для копирования в каталог конфигурации Nagios.

С приведенной выше конфигурацией перейдите в веб-интерфейс, нажмите Создать конфигурацию Nagios ссылку, а затем нажмите на Развернуть кнопка, он сообщит вам, какой шаг не удался. Щелкните значок плюса (+), чтобы просмотреть подробную информацию:

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 без запроса пароля.

Отредактируйте [скопировать глобальную конфигурацию], как показано ниже:

[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"

Мне интересно, почему структура каталогов по умолчанию deployment.ini кажется, предлагает с Default_collector и global, отличается от того, который есть в Nagios по умолчанию, только папка с именем objects. Что мне не хватает?

Не важно. Вы можете поместить файлы конфигурации в любую папку, которую хотите, но не забудьте указать Nagios в основном файле конфигурации. nagios.cfg.