Logstash:Logstash-to-Logstash 通信
文章转载自:https://elasticstack.blog.csdn.net/article/details/117253545
在有些时候,我们甚至可以建立 Logstash-to-Logstash 之间的通信。这样可以使得我们让不同的 Logstash 处理不同的 pipeline,从而进行分工合作。你可以通过将 Lumberjack 输出连接到 Beats 输入来设置两台 Logstash 计算机之间的通信。 例如,如果数据路径跨越网络或防火墙边界,则可能需要此配置。 如果你对 Logstash 到 Logstash 的通信没有迫切的需求,请不要实施它。
概述编辑配置
使用 Lumberjack 协议连接两台 Logstash 计算机。
- 生成受信任的 SSL 证书(Lumberjack 协议要求)。
- 将 SSL 证书复制到上游 Logstash 计算机。
- 将 SSL 证书和密钥复制到下游 Logstash 计算机。
- 将上游 Logstash 机器设置为使用 Lumberjack 输出发送数据。
- 将下游 Logstash 机器设置为通过 Beats 输入侦听传入的 Lumberjack 连接。
生成自签名 SS L证书并进行密钥编辑
使用 openssl req 命令生成自签名证书和密钥。 openssl req 命令在某些操作系统中可用。你可能需要为其他操作系统安装 openssl 命令行程序。
在 Ubuntu OS 上运行以下命令:
openssl req -x509 -batch -nodes -newkey rsa:2048 -keyout lumberjack.key -out lumberjack.cert -subj /CN=192.168.0.4 # 192.168.0.4是下游logstash主机的ip
如果上面的命令没有任何错误的话,我们会看到如下的结果:
$ openssl req -x509 -batch -nodes -newkey rsa:2048 -keyout lumberjack.key -out lumberjack.cert -subj /CN=192.168.0.4
Generating a RSA private key
...................+++++
............+++++
writing new private key to 'lumberjack.key'
可以在当前的目录下看到两个生成的文件:lumberjack.cert 及 lumberjack.key。其中 lumberjack.cert 将被用于 Upstream 的 Logstash 的运行中,以确保安全的数据传输。
拷贝 SSL 证书及 key 文件
将 SSL 证书(lumberjack.cert)复制到上游 Logstash 计算机中。我们将文件置于 Logstash 的安装目录中。将 SSL 证书和密钥(lumberjack.cert 及 lumberjack.key)复制到下游 Logstash 计算机中。同样地,我们将文件置于 Logstash 的安装目录
中。
启动 downstream Logstash 实例
bin/logstash -e 'input { beats { codec => json port => 5000 ssl => true ssl_certificate => "lumberjack.cert" ssl_key => "lumberjack.key"} }'
input {
beats {
codec => json
port => 5000
ssl => true
ssl_certificate => "lumberjack.cert"
ssl_key => "lumberjack.key"
}
}
启动 upstream Logstash 实例
bin/logstash -e 'input { generator { count => 5 } } output { lumberjack { codec => json hosts => "192.168.0.4" ssl_certificate => "lumberjack.cert" port => 5000 } }'
input {
generator {
count => 5
}
}
output {
lumberjack {
codec => json
hosts => "192.168.0.4" # 下游logstash主机的ip
ssl_certificate => "lumberjack.cert"
port => 5000
}
}
使用了 generator,并使用了 count = 5,也就是说生成5个事件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2020-06-29 使用Kuboard界面在k8s上部署SpringCloud项目
2020-06-29 在Kuboard上安装 Ingress Controller