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

Создание базовой конфигурации Nagios с неправильной стороной Puppet

У меня возникает небольшая проблема, когда я пытаюсь интегрировать Puppet с Nagios.

Это моя конфигурация (я знаю, это так просто, но это моя первая попытка)

/etc/puppet/modules/nagios/manifests/init.pp

class nagios::server {
  package { ["nagios"]:
    ensure => installed,
  }
  service { nagios:
    ensure  => running,
    enable  => true,
  }
  file { 'resource-d':
    path   => '/etc/nagios/objects',
    ensure => directory,
    owner  => 'nagios',
  }
  # Collect the nagios_host resources
  Nagios_host <<||>> {
    require => File[resource-d],
    notify  => [Service[nagios]],
  }
}

/etc/puppet/modules/nagios/manifests/export.pp

class nagios::export {
  @@nagios_host { $::fqdn:
    address       => $::ipaddress,
    check_command => 'check-host-alive!3000.0,80%!5000.0,100%!10',
    hostgroups    => 'all-servers',
    target        => "/etc/nagios/objects/host_${::fqdn}.cfg"
  }
}

/etc/puppet/manifests/site.pp

node 'server-1'
{
        include nagios::server
        include nagios::export
}

Все это работает, но cfgs с конфигурацией Nagios создаются на удаленном узле server-1 вместо сервера Nagios (Nagios и Puppet работают на одном сервере), и я не могу получить эту конфигурацию с server-1 для отображения на сервере Nagios. Вы хоть представляете, что происходит?

С уважением

Ресурсы необходимо экспортировать на отслеживаемый сервер и собирать на сервере, на котором работает Nagios. Вы говорите, что «server-1» - это отслеживаемый сервер, и что вы запускаете Nagios и Puppet на одном сервере, поэтому я предполагаю, что второй сервер мониторинга называется «марионетка». Следовательно, ваша марионетка site.pp должно выглядеть так:

node 'puppet' {
    include nagios::server
}
node 'server-1' {
    include nagios::export
}