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

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

我可能对正确的用法感到困惑。

我已经使用 Hiera 设置了我的发货人的配置:

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
}

输入文件.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,但最终它会成为)

每次傀儡代理运行目录时,它都会在作为托运人的代理上产生一个空的logstash.conf输入。/etc/logstash/conf.d

我做错了什么?我可能感到困惑,因为我不理解 github 文档中的某些内容。

答案1

请注意,此 hiera 值

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

不是隐式创建此资源

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

如果你将此调用添加到清单中,请执行此操作

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

  1. 这将是 hiera 中一个相当混乱的命名方案,更重要的是
  2. 它不会只工作一次想要 Puppet 使用 ERB 代码解释你的模板

如果可以的话,将配置文件从 Hiera 移动到您的清单中。

相关内容