这是我的configuration(我知道,这是如此简单,但这是我第一次尝试)
/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 }
所有这些东西都在工作,但具有Nagiosconfiguration的cfgs是在远程节点“server-1”而不是Nagios服务器(Nagios和Puppet在同一台服务器上运行)中创build的,我无法从服务器1获取此configuration以显示在Nagios服务器。 你有什么想法?
问候
需要将资源导出到运行Nagios的服务器上进行监视和收集的服务器上。 你说“server-1”是被监控的服务器,并且你在同一个服务器上运行Nagios和Puppet,所以我假设第二个监控服务器被命名为“puppet”。 因此,你的Puppet site.pp应该是这样的:
node 'puppet' { include nagios::server } node 'server-1' { include nagios::export }