Logstash 到 Logstash:Lumberjack 输出到 Beats 输入
编辑Logstash 到 Logstash:Lumberjack 输出到 Beats 输入
编辑您可以通过将 Lumberjack 输出连接到 Beats 输入来设置两台 Logstash 机器之间的通信。
使用 Lumberjack 和 Beats 的 Logstash 到 Logstash 一直是我们的标准方法,对于更强大的用例,它仍然可能是最佳选择。
在您使用 Lumberjack 和 Beats 实现 Logstash 到 Logstash 之前,请查看这些注意事项。
配置概述
编辑使用 Lumberjack 协议连接两台 Logstash 机器。
- 生成受信任的 SSL 证书(Lumberjack 协议需要)。
- 将 SSL 证书复制到上游 Logstash 机器。
- 将 SSL 证书和密钥复制到下游 Logstash 机器。
- 设置上游 Logstash 机器以使用 Lumberjack 输出发送数据。
- 设置下游 Logstash 机器通过 Beats 输入监听传入的 Lumberjack 连接。
- 测试它。
生成自签名 SSL 证书和密钥
编辑使用openssl req
命令生成自签名证书和密钥。openssl req
命令可在某些操作系统上使用。对于其他操作系统,您可能需要安装 openssl 命令行程序。
运行以下命令
openssl req -x509 -batch -nodes -newkey rsa:2048 -keyout lumberjack.key -out lumberjack.cert -subj /CN=localhost
其中
-
lumberjack.key
是要创建的 SSL 密钥的名称 -
lumberjack.cert
是要创建的 SSL 证书的名称 -
localhost
是上游 Logstash 计算机的名称
此命令生成的输出类似于以下内容
Generating a 2048 bit RSA private key .................................+++ ....................+++ writing new private key to 'lumberjack.key'
启动上游 Logstash 实例
编辑启动 Logstash 并生成测试事件
bin/logstash -e 'input { generator { count => 5 } } output { lumberjack { codec => json hosts => "mydownstreamhost" ssl_certificate => "lumberjack.cert" port => 5000 } }'
此示例命令使用提供的 SSL 证书将五个事件发送到 mydownstreamhost:5000。
启动下游 Logstash 实例
编辑启动下游 Logstash 实例
bin/logstash -e 'input { beats { codec => json port => 5000 ssl => true ssl_certificate => "lumberjack.cert" ssl_key => "lumberjack.key"} }'
此示例命令将端口 5000 设置为侦听传入的 Beats 输入。
验证通信
编辑监视下游 Logstash 机器上的传入事件。您应该会看到五个类似于以下内容的递增事件
{ "@timestamp" => 2018-02-07T12:16:39.415Z, "sequence" => 0 "tags" => [ [0] "beats_input_codec_json_applied" ], "message" => "Hello world", "@version" => "1", "host" => "ls1.semicomplete.com" }
如果您看到所有五个事件,字段和格式一致,并且递增一个,则您的配置正确。