用途:在 Kibana 中用 Vega/Vega-Lite 声明式语法配合 ES|QL 查询创建自定义可视化,并通过命令行管理仪表盘与面板布局,适用于标准 Kibana 图表无法满足的自定义图表、仪表盘和程序化面板布局场景。
版本要求:严格支持 ES|QL 数据源,需要 Serverless Kibana 或 9.4+(SNAPSHOT);旧版本或使用旧 Lucene/KQL 数据源定义时无法可靠工作。
连接配置:通过环境变量配置。可用 Elastic Cloud(KIBANA_CLOUD_ID 与 KIBANA_API_KEY)、直连 URL 加 API Key、基础认证(KIBANA_URL、KIBANA_USERNAME、KIBANA_PASSWORD),或本地 start-local(curl -fsSL https://elastic.co/start-local | sh)启动后 source elastic-start-local/.env 并导出变量;开发环境可设 KIBANA_INSECURE=true 跳过 TLS 校验。需先运行 node scripts/kibana-vega.js test 验证连接,失败则按提示配置后停止。
主要能力与用法:CLI 支持 visualizations list/get/create/update/delete 与 dashboards list/get/create/delete/add-panel/apply-layout。文件参数用 - 可从 stdin 读取 JSON,无需中间文件。面板用 --x --y --w --h 指定位置,或用 apply-layout 应用完整布局。Kibana 仪表盘为 48 列网格,常用宽度 48/24/16/12,折叠线以上高度约 22 单位(1080p),紧凑图表用 h:10,标准图表用 h:12-13。
限制与注意事项:使用 JSON 而非 HJSON 三引号,避免解析错误;点号字段需用 ES|QL RENAME 重命名;不要设置 width/height,改用 autosize;为坐标轴设置 labelLimit;避免在分层规格中使用 sort: "-x",改为在 ES|QL 中预排序;深色主题需加 config 避免白色边框;时间轴使用 labelAngle: 0。收费、价格、平台等信息暂未提供。