我们目前正在尝试在Ubuntu Precise 64-box上创建Vagrant + Puppet + Nagios配置。事情已经相当顺利,但我们显然遇到了障碍,试图让Puppet使用' Nagios_host'来设置Nagios配置。目前,我们在同一个实例上运行所有内容:PuppetDB,Puppetmaster服务和Nagios。
似乎木偶大师正确地连接到Puppetdb。发行"木偶代理 - 测试"并查看Puppetdb日志显示实际更新的事实,如此链接中所建议的那样:http://docs.puppetlabs.com/puppetdb/latest/connect_puppet_master.html(步骤3)。 另外,在/etc/puppet/puppet.conf中查看storeconfigs = true和backend = puppetdb。
我们的下一步是收集和导出资源以在Nagios中进行监控。我们尝试过在线阅读一些教程,例如Puppetlab自己的导出资源指南。他们都把我们带到了同样的道路上。 Puppet显示了一堆警告,并且没有生成Nagios配置:
"警告:如果未设置storeconfigs,则无法收集导出的资源;第XX和第34行将忽略该集合; "警告:没有存储配置而不收集导出的资源"
据我们所知,这些警告表明Puppet没有意识到我们已经配置了我们认为已经验证的Puppetdb。
我们清单的一些相关部分:
class companyname::puppetmaster {
package { 'puppetmaster':
ensure => 'installed',
}
service { 'puppetmaster':
ensure => 'running'
}
class {
'puppetdb':
ssl_listen_address => "0.0.0.0",
notify => Service['puppetmaster'],
}
class {
'puppetdb::master::config':
}
}
class companyname::monitoring_server {
package { 'nagios3':
ensure => installed,
alias => 'nagios',
}
service {
'nagios3':
ensure => running,
enable => true,
alias => 'nagios',
hasstatus => true,
hasrestart => true,
require => Package['nagios'],
}
Nagios_host <<||>> # This line triggers the warning
}
}
我们忽略了什么?
我们尝试了一些其他的Vagrant盒子,其中包括Puppetlabs&#39; CentOS盒子。结果相同。软件版本:puppetmaster 3.5.1,puppet 3.5.1,puppetdb 1.6.3,hiera 1.3.2,facter 2.0.1,nagios3 3.3.1,nagios-plugins 1.4.16,Vagrant 1.5.1。
谢谢, 的Mikael
答案 0 :(得分:2)
我最终将storeconfigs = true和storeconfigs_backend = puppetdb移动到/etc/puppet/puppet.conf中的[main]部分。这解决了这个问题,但我不明白为什么。我会花更多的时间试图找出原因。
答案 1 :(得分:0)
警告:如果未设置storeconfigs,则无法收集导出的资源;第XX和第34行将忽略该集合; &#34;警告:没有存储配置而不收集导出的资源&#34;
Puppet试图告诉你什么是错的。您没有启用存储配置。
在puppet master上,确保puppet.conf文件具有以下内容:
storeconfigs = true
在[master]部分。
通过在木偶大师身上运行以下内容来验证:
puppet config print | grep storeconfigs