puppet-logstash模块产生一个空白的logstash.conf

我可能困惑于正确的用法。

我已经使用Hiera设置了我的托运人的configuration:

classes: - os::repo - profiles::logstash::shipper logstash::configfile: 'input_file': content: '/etc/puppet/modules/profiles/manifests/logstash/templates/input_file.erb' order: '10' 

我的个人资料:: logstash :: shipper设置为:

 class profiles::logstash::shipper() { class { 'logstash': ensure => 'present', version => '1.4.1-1_bd507eb', status => 'enabled', } include logstash } 

input_file.erb:

 input { file { type => "syslog" path => ["/var/log/secure", "/var/log/messages", "/var/log/syslog"] exclude => ["*.gz", "shipper.log"] sincedb_path => "/var/run/logstash/lssincedbs" } file { type => "logfile" path => ["/tmp/*.log"] sincedb_path => "/var/run/logstash/lssincedbs" } } 

(我知道这在技术上不是一个erb,但它最终会)

每当puppet代理执行一个目录运行时,它会在代理的/etc/logstash/conf.d产生一个空的logstash.conf ,充当托运人。

我做错了什么? 我可能感到困惑,因为我不明白在github文件中的东西。

请注意,这个hiera值

 logstash::configfile: 'input_file': content: '/etc/puppet/modules/profiles/manifests/logstash/templates/input_file.erb' order: '10' 

不隐式创build这个资源

 logstash::configfile { 'input_file': content => '...', order => 10 } 

如果你将这个调用添加到你的清单,它会这样做

 create_resources('logstash::configfile', hiera('logstash::configfile')) 

  1. 这将是一个相当混乱的hiera命名scheme,更重要的是
  2. 一旦你想让Puppet用ERB代码来解释你的模板,它就不会工作

如果它是一个选项,将configuration文件从Hiera移动到您的清单本身。