Logstash 到 Logstash:Lumberjack 输出到 Beats 输入
编辑Logstash 到 Logstash:Lumberjack 输出到 Beats 输入编辑
您可以通过将 Lumberjack 输出连接到 Beats 输入来设置两台 Logstash 机器之间的通信。
使用 Lumberjack 和 Beats 的 Logstash 到 Logstash 是我们 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" }
如果您看到所有五个事件,并且字段和格式一致,并且按 1 递增,则您的配置正确。