【发布时间】: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