Ruby 让木偶模块pcfens/filebeat工作

Ruby 让木偶模块pcfens/filebeat工作,ruby,module,logstash,puppet,filebeat,Ruby,Module,Logstash,Puppet,Filebeat,我是这个网站和木偶的新手。我正在尝试为filebeat设置一个木偶模块。我希望Linux节点使用以下命令将日志发送到logstash 我想要一个如下所示的配置: class { 'filebeat': outputs => { 'logstash' => { 'hosts' => [ '<FQDN>:5044', ], 'enabled' => true, }, }, } file

我是这个网站和木偶的新手。我正在尝试为filebeat设置一个木偶模块。我希望Linux节点使用以下命令将日志发送到logstash

我想要一个如下所示的配置:

class { 'filebeat':
  outputs => {
    'logstash'     => {
     'hosts' => [
       '<FQDN>:5044',
     ],
     'enabled' => true,
    },
  },
}


filebeat::prospector { 'syslogs':
  paths    => [
    '/var/log/*.log',
    '/var/log/messages',
  ],
  doc_type => 'syslog-beat',
}
$ tree 
.
└── modules
    ├── profile
    │   └── manifests
    │       ├── base
    │       │   └── filebeat.pp
    │       └── base.pp
    └── role
        └── manifests
            ├── base
            └── myrole.pp

7 directories, 3 files

有没有人有过使用这个模块或木偶的经验,可以告诉我如何使用上面的配置配置这个模块。我现在觉得自己不知所措,似乎找不到很多关于这个模块的文档。我非常希望您能就如何设置此模块向正确的方向推进。

您可能想问一下如何启动此模块。但在你这么做之前,一定要仔细阅读设计模式

要开始,您必须开始以下操作:

class { 'filebeat':
  outputs => {
    'logstash'     => {
     'hosts' => [
       '<FQDN>:5044',
     ],
     'enabled' => true,
    },
  },
}


filebeat::prospector { 'syslogs':
  paths    => [
    '/var/log/*.log',
    '/var/log/messages',
  ],
  doc_type => 'syslog-beat',
}
$ tree 
.
└── modules
    ├── profile
    │   └── manifests
    │       ├── base
    │       │   └── filebeat.pp
    │       └── base.pp
    └── role
        └── manifests
            ├── base
            └── myrole.pp

7 directories, 3 files
显然,正如你从我上面链接的例子中所看到的,它最终会有更多的内容

然后你的基类:

$ cat modules/profile/manifests/base.pp 
class profile::base {
  include profile::base::filebeat
}
其中包括您在上面编写的代码:

$ cat modules/profile/manifests/base/filebeat.pp 
class profile::base::filebeat {
  class { 'filebeat':
    outputs => {
      'logstash'     => {
       'hosts' => [
         '<FQDN>:5044',
       ],
       'enabled' => true,
      },
    },
  }

  filebeat::prospector { 'syslogs':
    paths => [
      '/var/log/*.log',
      '/var/log/messages',
    ],
    doc_type => 'syslog-beat',
  }
}
现在,您可以在本地主机上测试代码,只需确保模块目录以某种方式复制到Puppet的目录中即可

如果是,请尝试:

# puppet module install pcfens/filebeat
# puppet apply -e 'include role::myrole'

如果您正确安装了Puppet,并且上面的代码正确,您就可以开始了。

您是在问如何使用Puppet吗?@MattSchuchard我不确定,我是在问如何在Puppet中使用此模块。谢谢您的详细回答。因为我还不熟悉这个概念,所以我将对角色和个人资料做一些研究。到目前为止,我一直在使用模块中的puppet文件编辑模块,并通过仪表板上的类和组链接模块。