--- title: "如何使用 Filebeat 8 连接 Easysearch" date: 2025-01-22 lastmod: 2025-01-22 description: "本文实战演示了使用 Filebeat 8 连接 Easysearch-1.9.0 的过程,需开启 Easysearch 的兼容参数并关闭 Filebeat 的模板导入功能,成功实现日志数据写入。" tags: ["Easysearch", "Filebeat"] summary: "在日志场景,还是有很多小伙伴在使用 Filebeat 采集日志的。今天我来实战下使用 Filebeat 8 连接 Easysearch 。本次使用 Easysearch-1.9.0 版本和 Filebeat-8.17.0 版本做演示,也适用 Filebeat-oss-8.17.0 版本。 Easysearch 不开启兼容参数的情况 # Easysearch 默认情况下未开启 Elastic 兼容功能。此时直接用 Filebeat 去连接 Easysearch 会失败,报错 “could not connect to a compatible version of Elasticsearch” ,直译过来就是“无法连接到兼容的 Elasticsearch 版本”。 Easysearch 开启 elasticsearch.api_compatibility 参数 # 在 Easysearch-1.9.0 中关于 Elasticsearch 的兼容性参数有两个,我们先开第一个。 elasticsearch.api_compatibility: true #elasticsearch.api_compatibility_version: "8.9.0" 启动 Filebeat 连接。 这次 Filebeat 检测到了一个兼容的版本 7.10.2,并导入了一个叫 filebeat 的索引生命周期管理策略,但最终因为无法导入模板而失败了。 索引生命周期查看。 关闭 Filebeat 的导入模板功能尝试连接,修改配置 filebeat.yml 关闭模板导入。 setup.template.enabled: false 启动 Filebeat 连接 Easysearch。" --- 在日志场景,还是有很多小伙伴在使用 Filebeat 采集日志的。今天我来实战下使用 Filebeat 8 连接 Easysearch 。本次使用 Easysearch-1.9.0 版本和 Filebeat-8.17.0 版本做演示,也适用 Filebeat-oss-8.17.0 版本。 ## Easysearch 不开启兼容参数的情况 Easysearch 默认情况下未开启 Elastic 兼容功能。此时直接用 Filebeat 去连接 Easysearch 会失败,报错 "could not connect to a compatible version of Elasticsearch" ,直译过来就是“无法连接到兼容的 Elasticsearch 版本”。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/1.png" "" %}} ## Easysearch 开启 elasticsearch.api_compatibility 参数 在 Easysearch-1.9.0 中关于 Elasticsearch 的兼容性参数有两个,我们先开第一个。 ```plain elasticsearch.api_compatibility: true #elasticsearch.api_compatibility_version: "8.9.0" ``` 启动 Filebeat 连接。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/2.png" "" %}} 这次 Filebeat 检测到了一个兼容的版本 7.10.2,并导入了一个叫 filebeat 的索引生命周期管理策略,但最终因为无法导入模板而失败了。 索引生命周期查看。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/3.png" "" %}} **关闭 Filebeat 的导入模板功能尝试连接**,修改配置 filebeat.yml 关闭模板导入。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/4.png" "" %}} ```plain setup.template.enabled: false ``` 启动 Filebeat 连接 Easysearch。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/5.png" "" %}} 这次 Filebeat 成功连接上了 Easysearch,并成功将采集数据写入。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/6.png" "" %}} ## Easysearch 同时开启两个兼容性参数 在 Easysearch-1.9.0 中关于 Elasticsearch 的兼容性参数有两个,这次我们二个同时打开。 ```plain elasticsearch.api_compatibility: true elasticsearch.api_compatibility_version: "8.9.0" ``` 清理测试数据后,启动 Filebeat 连接。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/7.png" "" %}} 跟打开第一个兼容参数很像,只是 Filebeat 检测到的版本变成了 8.9.0。 我们**关闭 Filebeat 的模板导入功能,再次连接——成功**。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/8.png" "" %}} 数据也成功写入。 {{% load-img "/img/blog/2025/filebeat-8-connect-easysearch/9.png" "" %}} ## 注意事项 Easysearch 的第一个兼容参数 elasticsearch.api_compatibility 必须开启,否则 Filebeat 检测到的还是 1.9.0 版本无法正常连接。 如果 Easysearch 使用的是 1.9.0 之前的版本,可以使用[网关代理 Easysearch 的方法](https://infinilabs.cn/blog/2025/logstash-8-connect-easysearch/)。 ## 总结 Easysearch-1.9.0 必须开启第一个兼容参数,此时检测到的版本是 7.10.2。也可同时开启两个兼容性参数,此时检测到的版本是 8.9.0。 Filebeat 必须关闭模板导入功能。 好了,还有其他问题的小伙伴,欢迎加我微信沟通。 {{% load-img "/img/blog/banner/about_yangf.png" "" %}}