当前位置: 首页 > 知识库问答 >
问题:

如何使用 Dockerfile 和/或 Docker-Compose 配置 Elastic Search Ingest 管道?

柯升
2023-03-14

我已经为Logstash编写了管道文件,但我目前的客户端反对使用Logstash,并希望直接在Elasticsearch中摄取Filebeat生成的日志。

好吧,如果这真的是他想要的。但是我找不到 Elasticsearch 的免费管道文件。我想使用 Dockerfile 将配置文件复制到映像中,然后使用 Compose 构建堆栈。为客户端创建一个很好的部署模式。

我正在使用堆栈的7.11版本,并且我在Elasticsearch和Kibana的Compose文件和另一个Filebeat的Compose上有了一个良好的开端。我找不到允许将管道放入ES图像的语法。

有人能给我指一下正确的方向吗?

谢谢!

共有1个答案

邵伟
2023-03-14

我不知道你如何在启动es时加载管道。您可以在集群启动后通过API来完成,也可以通过filebeat本身来加载它们。

对于我们使用的大多数管道,由于它们在初始设置后不会经常更改,我们决定使用一个非常简单的bash脚本,该脚本将遍历带有管道JSON的文件夹,并通过cURL命令将它们发布到API。

curl -H "Content-Type: application/json" -XPUT http://${ELASTIC_URL}:9200/_ingest/pipeline/some-pipeline -d@some-pipeline.json

但对于其他应用程序,我们必须创建内置管道的自定义filebeat模块。

为了通过 filebeat 加载管道,您需要创建一个已包含管道 JSON 的自定义模块。

有关详细信息,请参阅模块开发指南。

创建后,您可以运行< code >。/filebeat setup-pipelines-modules my-custom-module 将管道推送到Elastic。

 类似资料:
  • 我有一个使用在本地开发中运行的项目 但是,我想知道,对于如何将一个通过和应用程序代码库运行多个服务的项目包含到一个带有的映像中进行部署,是否有任何建议或建议。 编辑:据我所知,方法是用Dockerfile从应用程序代码库中构建一个新的映像,然后将其包含在部署环境的文件中? 编辑二:对混淆表示歉意。我在码头是新的,有一点学习曲线!在这种情况下,似乎可以在gitlab注册表中构建应用程序映像,然后将该

  • 我花了过去几个小时试图设置2默认图像的nodejs 14和rethinkdb 2.3.5,所以很抱歉,如果语气有点沮丧,但我目前感到沮丧。 我的要求似乎超级简单。 下载nodejs 14和RejectDB 2.3.5的默认图像。 将我当前目录中的所有内容复制到nodejs 14映像中 我希望nodejs图像依赖于DB图像 在nodejs 14图像中运行2个命令<代码>npm ci和 请参阅测试中的

  • 但是,我需要它从我们的nexus服务中提取:。在docker-compose文件中,我已经使用了正确的nexus图像路径。(通过用docker-compose手动启动它来验证。然而,TestContainers也会拉入docker-compose文件之外的其他图像。正是这些图像导致了失败。 我很高兴Docker Desktop或TestContainers的配置更改能解决这个问题。 注意:我已经尝

  • 问题内容: 我在Ubuntu 16.04和docker-compose 1.8.1上使用docker 1.12.1。我正在尝试从https://docs.docker.com/compose/compose-file/#ipv4-address- ipv6-address 获取Compose文件以运行。作为参考,我创建了以下内容: 现在,运行产生 未分配IPv6地址。 我已经尝试过: 使用以下命令

  • 问题内容: docker- compose.yml规范的3.1版引入了对secrets的支持。 我尝试了这个: 返回: 我们如何在实践中使用机密功能? 问题答案: 您可以阅读官方文档中的相应部分。 要使用机密,您需要在文件中添加两件事。首先,一个定义所有机密的顶级块。然后,另一个每个服务下块,它指定 该 秘密服务应该接收。 作为示例,创建Docker将理解的两种类型的秘密: 外部 秘密和 文件 秘

  • 我正在努力为我的詹金斯管道获得正确的配置。 它工作,但我不知道如何分离测试 要求: < li >带单独测试的Jenkins管道 当前设置: Jenkinsfile: Dockerfile: 这很有效,但正如您所看到的“构建 我想要 2 个独立的 jenkins 阶段(测试、构建) 我已经尝试使用Jenkins代理docker并在Jenkins文件中定义测试阶段的映像,但我不知道如何在那里添加缺少的