【问题标题】:Using multiple pipelines in Logstash with beats input在 Logstash 中使用带有节拍输入的多个管道
【发布时间】:2021-02-23 11:52:42
【问题描述】:

根据之前的讨论 (Defining multiple outputs in Logstash whilst handling potential unavailability of an Elasticsearch instance),我现在使用 Logstash 中的管道将数据输入(来自 TCP 5044 上的 Beats)发送到多个 Elasticsearch 主机。来自pipelines.yml 的相关摘录如下所示。

- pipeline.id: beats
  queue.type: persisted
  config.string: |
          input {
                  beats {
                        port => 5044
                        ssl => true
                        ssl_certificate_authorities => '/etc/logstash/config/certs/ca.crt'
                        ssl_key => '/etc/logstash/config/certs/forwarder-001.pkcs8.key'
                        ssl_certificate => '/etc/logstash/config/certs/forwarder-001.crt'
                        ssl_verify_mode => "force_peer"
                        }
                }
           output { pipeline { send_to => [es100, es101] } }

- pipeline.id: es100
  path.config: "/etc/logstash/pipelines/es100.conf"
- pipeline.id: es101
  path.config: "/etc/logstash/pipelines/es101.conf"

在每个管道.conf 文件中,我都有相关的虚拟地址,即文件/etc/logstash/pipelines/es101.conf 包括以下内容:

input {
  pipeline {
    address => es101
  }
}

此配置似乎运行良好,即每个 Elasticsearch 主机 es100es101 都接收到数据。

我需要确保如果这些主机中的一个不可用,另一个仍然可以接收数据,并且由于之前的提示,我现在正在使用我理解允许这样做的管道。但是,我显然缺少此配置中的某些关键,因为如果另一个主机不可用,则主机不会收到数据。欢迎任何建议。

【问题讨论】:

    标签: elasticsearch logstash logstash-configuration logstash-forwarder


    【解决方案1】:

    首先,您应该在下游管道(es100、es101)上配置持久队列,并调整它们的大小以包含中断期间到达的所有数据。但即使使用持久队列,logstash 也具有至少一次交付模型。如果持久队列填满,则背压将导致节拍输入停止接受数据。正如关于输出隔离器模式的文档所说,“如果下游管道的任何持久队列......变满,两个输出都将停止”。如果你真的想确保一个输出永远不会因为另一个输出不可用而被阻塞,那么你将需要引入一些具有不同交付模型的软件。例如,配置filebeat写入kafka,然后有两个管道从kafka读取并写入elasticsearch。如果 kafka 配置了 at-most-once 交付模型(默认),那么如果无法交付它就会丢失数据。

    【讨论】:

    • 再次再次感谢您@Badger 的帮助。我已经向 es100、es101 添加了持久队列,一切看起来都很好。这仅适用于小型实验室环境,因此积压不应太大,我会确保空间可用于几个小时的停机时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2017-06-29
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    相关资源
    最近更新 更多