用途:在 Kibana 中用 Vega/Vega-Lite 声明式语法创建自定义图表,并以 ES|QL 作为数据源,同时可通过命令行管理可视化与仪表板面板布局。
主要能力:创建、获取、更新、删除可视化;创建、删除仪表板;向仪表板添加面板并指定网格位置;用 apply-layout 批量应用完整布局;支持从 stdin 读取 JSON 规格。
使用方式:先配置环境变量(KIBANA_CLOUD_ID + KIBANA_API_KEY,或 KIBANA_URL + KIBANA_API_KEY,或 KIBANA_URL + KIBANA_USERNAME/KIBANA_PASSWORD),本地可用 curl -fsSL https://elastic.co/start-local | sh 启动。随后运行 node scripts/kibana-vega.js test 验证连接,再用 visualizations create、dashboards add-panel 等命令操作。Vega 规格中数据源需写 %type%: "esql",可选 %context%: true 应用仪表板筛选、%timefield%: "@timestamp" 启用时间范围。
适用场景:需要超出标准 Kibana 图表的定制可视化、程序化生成面板布局、以 ES|QL 查询驱动的仪表板。
限制:严格依赖 ES|QL 数据源,需 Serverless Kibana 或 9.4+(SNAPSHOT),旧版本或旧 Lucene/KQL 数据源定义不可靠。规格须用 JSON 而非 HJSON 三引号;点号字段需用 ES|QL RENAME 重命名;不要设置 width/height,改用 autosize;深色主题需加 config 避免白边。连接测试失败时应先解决配置,不要继续探索。