【问题标题】:How to connect multiple pipelines within the same Logstash instance running inside a docker container getting log messages from same filebeats port如何在 docker 容器内运行的同一 Logstash 实例中连接多个管道,从同一 filebeats 端口获取日志消息
【发布时间】:2021-08-18 09:39:51
【问题描述】:

目前我们在elasticsearch中有一个数据流,我们称之为“app_stream”,我们通过安装在运行应用程序的服务器上的FileBeats(端口= 5044)从应用程序“XMLTransformer”获取日志消息。我们有一个新场景,现在我们在同一个 FileBeats 端口 5044 上接收来自同一服务器上运行的两个不同应用程序的日志消息。我们将另一个应用程序称为“模型服务器”。现在来自 XMLTransformer 和 Model Server 的日志消息都进入了 app_stream。根据需求,我们假设创建一个新的数据流“ai_model_server”,它只包含来自 Model Server 的日志消息,而 app_stream 将只包含来自 XML 转换器的 log_messages。此外,我们想为 XMLTransformer 和 Model Server 创建两个单独的 logstash 管道,这将从相同的 Filebeats 端口 5044 接收日志消息,并且我们不想对 filebeats 进行任何更改。因此,我们正在尝试实现 Pipeline-to-Pipeline Communication 将消息从 app_stream.conf 管道路由到另一个 ai_model_server.conf 管道。但是 logstash 实例在 docker 容器内运行。如何获取 docker 容器中可用的虚拟地址并在 logstash 管道中使用。

【问题讨论】:

  • 您是否考虑过修改容器的 ENTRYPOINT 以便它检测 IP 并设置 ENV var,然后您可以从 logstash 配置中调用它?
  • 您确定 Docker 网络配置按预期工作吗?
  • @tomr 我已经解决了这个问题。感谢您的帮助。

标签: docker elasticsearch logstash kibana elastic-stack


【解决方案1】:

我将在配置中将“modelserverlogs”字面上作为虚拟地址提供,因为它可以是用户定义的(我的困惑是我是否可以提供任何东西来代替配置中的虚拟地址,或者我是否需要获取虚拟地址logstash docker 容器中可用的 IP 地址并在配置中使用它们)

======================
app_stream.conf
======================
input {
beats {
port => 5044
type => beats
}
}
filter {
#XML transformer filter statements
add_tag => ["xml_transformer"]
}
output {
if "xml_transformer" in [tags] {
elasticsearch {
hosts => 0.0.0.0:0000
index => "app_stream"
}
}
else {
pipeline { send_to => modelserverlogs }
}
}

======================
ai_model_server.conf
=====================
input {
pipeline { address => modelserverlogs }
}
filter {
#modelserver log filter statements
}
output {
elasticsearch {
hosts => 0.0.0.0:0000
index => "ai_model_server"
}
}

=================
pipelines.yml
=================
-pipeline.id: app_stream
 path.config: "${LOGSTASH_BASE}/pipeline/app_stream.conf"
 queue.type: persisted
-pipeline.id: ai_model_server
 path.config: "${LOGSTASH_BASE}/pipeline/ai_model_server.conf"
 queue.type: persisted

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多