【发布时间】: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 主机 es100 和 es101 都接收到数据。
我需要确保如果这些主机中的一个不可用,另一个仍然可以接收数据,并且由于之前的提示,我现在正在使用我理解允许这样做的管道。但是,我显然缺少此配置中的某些关键,因为如果另一个主机不可用,则主机不会收到数据。欢迎任何建议。
【问题讨论】:
标签: elasticsearch logstash logstash-configuration logstash-forwarder