管理已保存对象

编辑

编辑、导入、导出和复制您已保存的对象。这些对象包括仪表板、可视化、地图、数据视图、Canvas 工作区以及其他已保存的对象。

您可以使用导航菜单或全局搜索字段找到已保存对象页面。

Saved Objects

所需权限

编辑

要访问已保存对象,您必须具有所需的 Saved Objects Management Kibana 权限。

要添加权限,请使用导航菜单或全局搜索字段转到角色管理页面。

授予对 Saved Objects Management 的访问权限将授权用户管理 Kibana 中的所有已保存对象,包括可能未经授权访问的应用程序所管理的对象。

查看和删除

编辑
  • 要在其关联的应用程序中查看和编辑已保存的对象,请单击对象标题。
  • 要显示使用此对象的对象,以便您了解删除它的影响,请单击操作图标 操作图标,然后选择关系
  • 要删除一个或多个对象,请选中它们的复选框,然后单击删除

导入和导出

编辑

使用导入和导出在不同的 Kibana 实例之间移动对象。当您有多个用于开发和生产的环境时,这些操作非常有用。当您有大量对象需要更新并且想要批量处理时,导入和导出也很有用。

Kibana 还提供了导入和导出 已保存对象 API 来自动化此过程。

导入

编辑

在单个操作中导入多个对象。

  1. 在工具栏中,单击导入
  2. 选择包含要导入的对象的 NDJSON 文件。
  3. 选择导入选项。默认情况下,Kibana 中已存在的已保存对象将被覆盖。
  4. 单击导入

savedObjects.maxImportExportSize 配置设置限制了文件中包含的已保存对象的数量。 savedObjects.maxImportPayloadBytes 设置限制了您可以导入的文件的总大小。

导出

编辑

按选择或类型导出对象。

  • 要导出特定对象,请在表格中选择它们,然后单击导出
  • 要按类型导出对象,请单击工具栏中的导出对象

Kibana 使用您的所有已保存对象创建一个 NDJSON。默认情况下,NDJSON 包括与已保存对象相关的子对象。导出的仪表板包括其关联的数据视图。

savedObjects.maxImportExportSize 配置设置限制了您可以导出的已保存对象的数量。

跨版本的兼容性

编辑

每个版本,Kibana 都会对已保存对象的存储方式进行更改。导入已保存对象时,Kibana 会运行必要的迁移以确保导入的已保存对象与当前版本兼容。

但是,已保存的对象只能导入到同一版本、同一主版本的较新次要版本或下一个主版本。导出的已保存对象不向后兼容,不能导入到较旧版本的 Kibana 中。例如

导出版本

导入版本

兼容?

6.7.0

6.8.1

6.8.1

7.3.0

7.3.0

7.11.1

7.11.1

7.6.0

6.8.1

8.0.0

复制到其他 Kibana 空间

编辑

在空间之间复制已保存的对象及其相关对象。

  1. 单击操作图标操作图标
  2. 单击复制到空间
  3. 选择要复制对象的空间。
  4. 指定是自动覆盖目标空间中已存在的任何对象,还是在每个对象的基础上解决它们。

    复制操作会自动包含与已保存对象相关的子对象。如果您不希望出现此行为,请改用将已保存对象复制到空间 API

共享到其他 Kibana 空间

编辑

使单个已保存的对象在多个空间中可用。

  1. 单击操作图标操作图标
  2. 选择共享到空间
  3. 选择要共享对象的空间。或者,指示您希望将对象共享到所有空间,包括现在存在的空间和将来创建的任何空间。

    并非所有已保存的对象类型都是可共享的。如果对象是可共享的,则空间列将显示对象存在的位置。您可以单击这些空间图标以打开“共享”UI。

    共享操作会自动包含与已保存对象相关的子对象。

要使用空间 API以编程方式将已保存的对象共享到空间,请执行以下步骤

  1. 使用 get shareable references API 收集要共享的每个已保存对象的引用图和空间上下文

    $ curl -X POST /api/spaces/_get_shareable_references
    {
      "objects": [
        {
          "type": "index-pattern",
          "id": "90943e30-9a47-11e8-b64d-95841ca0b247"
        }
      ]
    }

    该 API 返回以下内容

    {
      "objects": [
        {
          "type": "index-pattern",
          "id": "90943e30-9a47-11e8-b64d-95841ca0b247",
          "spaces": ["default"],
          "inboundReferences": [],
          "spacesWithMatchingOrigins": ["default"]
        }
      ]
    }
  2. 检查每个已保存的对象是否存在 spacesWithMatchingOrigins 冲突。

    不应将对象共享到具有匹配来源的空间,否则会产生 URL 冲突(导致同一 URL 指向不同的已保存对象)。

  3. 检查每个已保存的对象是否存在 spacesWithMatchingAliases 冲突。

    如果这些与这些已保存对象将要共享到的空间匹配,则应使用禁用旧 URL 别名 API 为它们禁用旧 URL 别名。

    当共享到所有空间 (*) 时,应检查 spacesWithMatchingAliases 中的所有条目。

  4. 更新每个已保存对象及其所有引用的空间

    $ curl -X POST /api/spaces/_update_objects_spaces
    {
      "objects": [
        {
          "type": "index-pattern",
          "id": "90943e30-9a47-11e8-b64d-95841ca0b247"
        }
      ],
      "spacesToAdd": ["test"],
      "spacesToRemove": []
    }

    该 API 返回以下内容

    {
      "objects": [
        {
          "type": "index-pattern",
          "id": "90943e30-9a47-11e8-b64d-95841ca0b247",
          "spaces": ["default", "test"]
        }
      ]
    }