news 2026/5/19 15:14:18

我把 Kibana Console 的核心 DSL 能力单独剥离出来了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
我把 Kibana Console 的核心 DSL 能力单独剥离出来了

我把 Kibana Console 的核心 DSL 能力单独剥离出来了

很多中大型公司其实并不缺平台。

真正缺的,往往是一个能顺利嵌入现有平台体系里的 Elasticsearch DSL 控制台能力。

最近我把一个自己实际会用到的工具开源了,名字叫dsl-kibana

它做的事情很直接:

把 Kibana Console 中最常用、最有生产力的 DSL 能力单独剥离出来,做成一个更轻量、更容易二次开发、也更适合集成到企业自有研发平台、运维平台和数据平台中的项目。

项目地址:

https://github.com/xiaohongaiweno/dsl-kibana


【为什么会做这个项目】

对于很多中大型公司来说,实际情况通常是这样的:

  • 已经有自己的研发平台
  • 已经有自己的运维平台
  • 已经有统一登录和权限体系
  • 已经有内部前端框架和设计规范

这时候,如果只是为了提供一个 Elasticsearch DSL 调试能力,就去整体接入完整 Kibana,通常会遇到几个比较现实的问题:

  • 开发和改造工作量不小
  • 只需要 DSL 控制台能力,却要承担整套 Kibana 的接入复杂度
  • 整体引入的性价比不一定高
  • 还会增加权限、审计、访问控制和平台安全面的治理压力

所以我最后选择的思路不是“把 Kibana 整个搬进来”,而是“把真正有价值的 DSL 能力单独拿出来”。

dsl-kibana就是基于这个思路做出来的。


【这个项目可以做什么】

我先直接说能力,不绕弯子。

  1. 支持多请求块编辑与执行

在同一个编辑器里,可以连续写多段 Elasticsearch 请求。

每个请求块左侧都有独立的运行按钮,可以单独执行某一块请求。

这件事看起来简单,但在真实调试里非常高频。因为很多时候,一份文档里会保留多段常用查询模板、排障语句或者验证语句。

  1. 支持 Kibana 风格自动补全

项目内置了比较接近 Kibana Console 的自动补全能力,覆盖:

  • HTTP 方法补全
  • 接口路径补全
  • URL 查询参数补全
  • URL 参数值补全
  • JSON Body 字段补全

这意味着它不是一个单纯的文本框,而是一个具备真实生产力的 DSL 编写工具。

  1. 支持 ES6 / ES7 / ES8 规则切换

很多企业内部环境并不是单一 Elasticsearch 版本。

有些系统还在旧版本,有些系统已经升级到新版本,接口路径和兼容规则会存在差异。

dsl-kibana已经支持ES6ES7ES8三套规则切换,这一点对实际使用很有帮助。

  1. 支持直接请求本地 Elasticsearch

项目默认请求:

http://localhost:9200

启动本地 Elasticsearch 后,打开页面就可以直接编写 DSL 并执行查看结果。

  1. 更适合二次开发和平台集成

这是这个项目最重要的价值。

它不是一个封死的工具页面,而是一个可以继续嵌入、继续扩展、继续改造的 DSL 能力模块。

你可以把它接入到:

  • 企业研发平台
  • 企业运维平台
  • 数据平台
  • 搜索团队内部工作台

而不需要把完整 Kibana 整体塞进现有系统里。


【为什么它更适合企业内部落地】

很多团队真正需要的并不是一个完整平台,而只是:

  • 一个可写 DSL 的编辑器
  • 一套顺手的自动补全
  • 一个请求执行入口
  • 一个结果展示区域

如果为了这些能力整体接入 Kibana,往往意味着更高的改造成本和更复杂的治理工作。

dsl-kibana的价值就在于:

它把最需要的那部分能力独立出来了。

这样一来,团队就可以:

  • 按自己的页面风格改造
  • 按自己的权限体系接入
  • 按自己的审计要求扩展
  • 按自己的平台规范封装

从企业落地角度看,这样的方式通常更轻、更稳,也更划算。


【技术上为什么适合继续扩展】

这个项目在结构上也尽量做了拆分,核心模块大致包括:

  • src/App.vue:页面与主流程控制
  • src/kibanaConsoleParser.js:多请求块解析
  • src/requestExecution.js:请求执行与取消控制
  • src/kibanaConsoleAutocomplete.js:编辑器补全适配层
  • src/kibanaConsoleAutocompleteCore.js:补全规则核心算法

这意味着后续如果你要继续扩展,也会比较顺手,比如:

  • 接公司内部认证体系
  • 接内部网关或代理层
  • 接审计日志
  • 增加企业自定义接口
  • 增加企业自定义补全规则
  • 改造成内部平台组件

【一个简单示例】

项目默认请求本地 Elasticsearch:

http://localhost:9200

页面打开后,可以直接输入:

GET /_search { "query": { "match_all": {} } }

然后:

  • 点击请求块左侧执行
  • 或者按Ctrl + Enter
  • 在右侧查看结果、状态码和耗时

如果一份文档里写了多段请求,也可以按块分别执行。


【适合哪些人关注这个项目】

我觉得主要适合下面几类人:

  1. 日常会写 Elasticsearch DSL 的工程师

如果你平时经常要调试 DSL、验证查询语句、排查索引问题,这个工具会比较顺手。

  1. 正在做企业内部平台建设的团队

如果你们已经有自己的研发平台、运维平台或数据平台,但又需要一个可控的 ES DSL 控制台能力,这个项目会比较有参考价值。

  1. 对编辑器和自动补全实现感兴趣的开发者

如果你想研究 Kibana Console 类交互、请求块解析、自动补全实现和规则匹配思路,这个项目也适合拿来学习。


【最后】

我并不觉得这个项目的价值在于“替代 Kibana”。

Kibana 依然是一个成熟、完整的平台。

dsl-kibana更像是把 Kibana Console 中最高频、最实用的 DSL 能力单独抽出来,用更轻量的方式服务企业集成、内部工具和二次开发场景。

如果你所在的团队也有下面这些需求:

  • 已经有自己的平台,但缺一个顺手的 ES DSL 控制台
  • 不想为了一个查询能力整体接入 Kibana
  • 想保留 Kibana Console 的核心体验
  • 又希望更方便做企业内部二次开发

那这个项目也许会对你有一些帮助。

项目已经开源在 GitHub:

https://github.com/xiaohongaiweno/dsl-kibana

如果你觉得这个方向有价值,欢迎看看,也欢迎给项目点一个 Star。


如果你们团队也在做 Elasticsearch 工具平台、企业内部控制台或者搜索研发基础设施建设,欢迎交流。

如果这篇文章对你有帮助,也欢迎转发给有类似需求的朋友。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 15:12:45

误差是什么意思?

“误差”在日常生活和科学测量中,意思稍有不同,但核心都是指一个数值与“真实/目标/理论值”之间的差距。1. 核心定义简单说,就是 “你测出来的值” 与 “真实或想要的值” 之间的差值。 公式:误差 测量值 —— 真实值 举例&…

作者头像 李华
网站建设 2026/5/19 15:02:47

WinDirStat终极指南:三步快速释放Windows磁盘空间

WinDirStat终极指南:三步快速释放Windows磁盘空间 【免费下载链接】windirstat WinDirStat is a disk usage statistics viewer and cleanup tool for Microsoft Windows 项目地址: https://gitcode.com/gh_mirrors/wi/windirstat WinDirStat是一款功能强大的…

作者头像 李华
网站建设 2026/5/19 15:01:07

在团队中推广使用Taotoken CLI工具统一开发环境配置

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在团队中推广使用Taotoken CLI工具统一开发环境配置 当团队开始使用多个大模型进行开发时,一个常见的问题是配置的碎片…

作者头像 李华