You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过REST API获取已导入Kibana的可视化共享URL?

完整REST流程:创建可视化并获取可嵌入的共享URL

当然可以实现!下面是一套无需依赖Kibana UI的完整REST流程,从创建可视化到生成可嵌入的iframe链接都涵盖在内:

1. (可选,若未创建)通过Kibana Saved Objects API创建可视化

如果你之前是直接写入.kibana索引,更推荐用官方的Saved Objects API来创建,避免元数据缺失:

PUT http://<你的Kibana地址>:<端口>/api/saved_objects/visualization/<自定义可视化ID>
# 若使用自定义空间,URL改为:/s/<空间ID>/api/saved_objects/visualization/<自定义可视化ID>
请求头:
Content-Type: application/json
Authorization: Basic <base64编码的用户名:密码> # 若开启安全认证

请求体(替换成你的可视化JSON结构):
{
  "attributes": {
    "title": "我的自定义图表",
    "visState": "{你的可视化配置JSON字符串}",
    "uiStateJSON": "{}",
    "description": "",
    "savedSearchId": "",
    "version": 1
  },
  "type": "visualization",
  "references": []
}

返回的响应里会包含可视化的ID、空间等关键信息,记下来备用。

2. 获取可视化的核心信息(验证创建结果)

如果已经创建完成,先通过API确认可视化的ID和所在空间:

GET http://<你的Kibana地址>:<端口>/api/saved_objects/visualization/<可视化ID>
# 自定义空间下:/s/<空间ID>/api/saved_objects/visualization/<可视化ID>
请求头:
Authorization: Basic <认证信息> # 按需添加

响应里的id字段就是可视化ID,namespace字段对应空间ID(默认空间为空字符串)。

3. 构造基础可嵌入iframe链接

如果你的Kibana是公开可访问的,直接构造嵌入链接即可:

  • 默认空间的嵌入链接:
    http://<你的Kibana地址>:<端口>/app/kibana#/visualize/<可视化ID>?embed=true&_g=(time:(from:now-15m,to:now))
    
  • 自定义空间的嵌入链接:
    http://<你的Kibana地址>:<端口>/s/<空间ID>/app/kibana#/visualize/<可视化ID>?embed=true&_g=(time:(from:now-15m,to:now))
    
    把这个链接放到iframe标签里就能直接嵌入:
    <iframe src="上述链接" width="100%" height="600" frameborder="0"></iframe>
    
    注:_g参数是时间范围,你可以根据需求修改,比如from:now-7d,to:now,不需要的话可以直接去掉。

4. 生成带权限的共享链接(适合需认证的Kibana)

如果你的Kibana开启了安全验证,直接嵌入会要求登录,这时可以用Kibana的短链接API生成带权限的共享链接:

POST http://<你的Kibana地址>:<端口>/api/short_url/create
# 自定义空间下:/s/<空间ID>/api/short_url/create
请求头:
Content-Type: application/json
Authorization: Basic <认证信息>

请求体:
{
  "url": "/app/kibana#/visualize/<可视化ID>?embed=true&_g=(time:(from:now-15m,to:now))",
  "expires_in": "30d" # 可选,设置链接有效期,比如30天,不填则长期有效(受Kibana配置限制)
}

响应里的url字段就是生成的共享短链接,这个链接自带权限凭证,无需登录即可访问嵌入的可视化。

关键注意事项

  • 如果你之前是直接写入.kibana索引,要确保文档的_id格式为visualization:<可视化ID>,并且包含type: "visualization"的字段,否则Kibana可能无法识别。
  • 所有API请求都需要根据Kibana的安全配置添加对应的认证信息,比如API密钥、Basic认证等。
  • 时间范围参数_g可以根据业务需求自定义,甚至完全移除,让可视化使用默认的时间过滤器。

内容的提问来源于stack exchange,提问作者Akshay Singhvi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:35:24