• 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个事件。

  • 相关阅读:
    最优雅的Java字符串拼接是哪种方式?
    面渣逆袭(MyBatis八股文面试题)必看👍
    面渣逆袭(Java 虚拟机篇八股文面试题)
    重排(reflow)和重绘(repaint)
    element Tree树形控件获取未全选父节点id和子节点id
    2 consul安装 Sky
    ZooKeeper初步 sakura
    3 consul api Sky
    7 hdfs3.0 常用命令 Sky
    2 zookeeper安装 Sky
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/14949317.html
Copyright © 2020-2023  润新知