У меня возникает небольшая проблема, когда я пытаюсь интегрировать 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
}