Easysearch 接上 Kibana,就这两步,搞定!
Easysearch 的 API 兼容能力,让原本 ELK 生态里的工具(Kibana、Logstash、各种 SDK)都能无缝接入,国产化替代的路子越来越稳了。如果你的场景是要保留 Kibana 的使用习惯,同时又想用上 Easysearch 的安全和性能优势,这套方案完全可以放心上生产!:让 Easysearch 对外"报称"自己是 ES 7.10.2,骗过 Kibana 的版本校验逻辑。,K
先说背景,为啥要费这事?
很多小伙伴已经用上了 INFINI Easysearch ——这是国产的 Elasticsearch 替代方案,兼容 ES API,性能不输原版,还有安全认证加持。
但问题来了:Kibana 是个"认版本号"的主,你的 Easysearch 报的版本是 1.x.x,2.X.X,Kibana 一看,直接给你拒之门外,报这个错:
log [03:52:54.661] [error][savedobjects-service] Unable to retrieve version information from Elasticsearch nodes.
气不气?明明 API 完全兼容,就因为版本号对不上,直接被 pass。
今天就来教你一招,让 Kibana 乖乖连上 Easysearch。
环境说明(交代清楚,免得踩坑)
|
组件 |
版本 |
地址 |
|---|---|---|
|
INFINI Easysearch |
2.x.x |
192.168.147.130:9200 |
|
Kibana OSS |
7.10.2
(必须是 OSS 版) |
192.168.147.130:5601 |


⚠️ 注意:一定要下载 Kibana OSS 版,不是商业版!去官网
elastic.co/downloads/past-releases选Kibana OSS→7.10.2,如下图所示:

第一步:Easysearch 开启版本伪装
打开 Easysearch 的配置文件 easysearch.yml,在末尾加上这两行:
# 开启 ES API 兼容模式
elasticsearch.api_compatibility: true
# 伪装成 ES 7.10.2 版本
elasticsearch.api_compatibility_version: "7.10.2"
重启 Easysearch,然后用 curl 验证一下:
curl -ku admin:你的密码 https://192.168.147.130:9200
看到返回的版本号变成 "number" : "7.10.2" 就说明生效了!

{
"name": "node-1",
"cluster_name": "my-application",
"cluster_uuid": "GxMTJa2jS9KkI1fZ-SX28A",
"version": {
"number": "7.10.2",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "ceabce6b619f4771221fcd32bfcd3d0b39e17b17",
"build_date": "2026-03-24T03:14:35.941161696Z",
"build_snapshot": false,
"lucene_version": "8.7.0",
"minimum_wire_compatibility_version": "7.10.0",
"minimum_index_compatibility_version": "7.0.0"
},
"tagline": "You Know, for Search"
}
🎯 这一步的本质:让 Easysearch 对外"报称"自己是 ES 7.10.2,骗过 Kibana 的版本校验逻辑。
第二步:Kibana 核心配置写好
打开 Kibana 的配置文件 config/kibana.yml,关键配置如下:
# Kibana 监听端口和地址
server.port:5601
server.host:"192.168.147.130"
# 指向 Easysearch 的地址(注意是 https!)
elasticsearch.hosts:["https://192.168.147.130:9200"]
# Easysearch 的管理员账号
elasticsearch.username:"admin"
elasticsearch.password:"changeme"
# 关掉 SSL 证书校验(测试环境省事用,生产环境请配证书)
elasticsearch.ssl.verificationMode:none
然后启动 Kibana:
./bin/kibana --allow-root
如果你看到日志里出现:
[info][listening] Server running at http://0.0.0.0:5601
恭喜,大功告成!🎉



验证一下,看看效果
浏览器打开 http://192.168.147.130:5601,进 Dev Tools → Console,执行一条最简单的查询:
GET _search
{
"query": {
"match_all": {}
}
}
Kibana Dev Tools 连接成功

再进 Stack Management 看看:
Stack Management 7.10.2

界面显示"Welcome to Stack Management 7.10.2",完美!Kibana 已经成功把 Easysearch 当成亲儿子了。
一图搞懂整体流程

踩坑提醒,少走弯路
坑1:Kibana 必须用 OSS 版
Kibana 非 OSS 版(商业版)有更严格的 License 校验,OSS 版才是和 Easysearch 配合的最佳搭档。
Kibana OSS 是仅包含纯开源功能的基础发行版,而默认的标准版 Kibana 在此基础上捆绑了 X-Pack 插件,额外提供了如权限控制、告警、监控等非开源的高级特性。

坑2:SSL 证书问题
如果 Easysearch 开了 HTTPS 但用的是自签证书,elasticsearch.ssl.verificationMode: none 这行必须加,不然 Kibana 会因为证书校验失败连不上。
坑3:密码里有特殊字符
密码如果有 #、&、^ 等特殊字符,在 yml 文件里要用双引号包起来,不然解析出错。比如:
# ✅ 正确
elasticsearch.password: "ZH#GlN9&&mp1ARhSME^O0uIS"
# ❌ 错误(特殊字符会导致解析异常)
elasticsearch.password: ZH#GlN9&&mp1ARhSME^O0uIS
总结:就两行配置,值了!
回头看,核心就是 Easysearch 这两行配置:
elasticsearch.api_compatibility: true
elasticsearch.api_compatibility_version: "7.10.2"
它的作用是让 Easysearch 在 API 层面完美伪装成 ES 7.10.2,Kibana 完全感知不到差异,该查数据查数据,该建索引建索引,一切丝滑。

💡 铭毅天下有话说:Easysearch 的 API 兼容能力,让原本 ELK 生态里的工具(Kibana、Logstash、各种 SDK)都能无缝接入,国产化替代的路子越来越稳了。如果你的场景是要保留 Kibana 的使用习惯,同时又想用上 Easysearch 的安全和性能优势,这套方案完全可以放心上生产!
我是铭毅天下,我们下篇见! 🚀
古法工具,依然受用——Cerebro + Easysearch 避坑指南
Grafana 可视化 Easysearch 数据——从数据源接入到大屏实现
更多推荐
所有评论(0)