正在加载

将仪表盘从 Kibana 5.x 迁移到 6.x

本节对社区 Beats 迁移 Kibana 5.x 仪表盘到 6.x 仪表盘很有用。

在 Kibana 5.x 中,保存的仪表盘由多个 JSON 文件组成,每个文件对应一个仪表盘、搜索、可视化和索引模式。 要在 Kibana 中导入仪表盘,您不仅需要加载包含仪表盘的 JSON 文件,还需要加载其所有依赖项(搜索、可视化)。

从 Kibana 6.0 开始,仪表盘默认通过 Kibana API 加载。 在这种情况下,保存的仪表盘由单个 JSON 文件组成,该文件不仅包含仪表盘内容,还包含其所有依赖项。

由于 Kibana 5.x 的仪表盘和索引模式的格式与 Kibana 6.x 的格式不同,因此它们放置在不同的目录中。根据 Kibana 版本,加载 5.x 或 6.x 仪表盘。

Kibana 5.x 仪表盘放置在 5.x 目录下,该目录包含以下目录

  • search
  • visualization
  • dashboard
  • index-pattern

Kibana 6.x 和更高版本的仪表盘放置在 default 目录下,该目录包含以下目录

  • dashboard
  • index-pattern
注意

请确保在运行以下命令之前创建了 5.x 和 default 目录。

要将 Kibana 5.x 仪表盘迁移到 Kibana 6.0 及以上版本,您可以将仪表盘导入到 Kibana 5.6 中,然后使用 Beats 6.0 版本导出它们。

  • 启动 Kibana 5.6
  • 使用 Beats 6.0 版本导入 Kibana 5.x 仪表盘。

在导入仪表盘之前,请确保在 Beat 目录中运行 make update,该命令会更新 _meta/kibana 目录。它从 fields.yml 文件生成索引模式,并将其放置在 5.x/index-patterndefault/index-pattern 目录下。 对于 Metricbeat、Filebeat 和 Auditbeat,它从所有模块收集仪表盘到 _meta/kibana 目录。

make update

然后加载所有 Beat 的仪表盘。 例如,要使用 Kibana API 将 Metricbeat rabbitmq 仪表盘以及 Metricbeat 索引模式加载到 Kibana 5.6 中

make update
./metricbeat setup -E setup.dashboards.directory=_meta/kibana
  • 使用 Beats 6.0 版本导出仪表盘。

您可以使用 export_dashboards.go 应用程序通过 Kibana API 导出仪表盘。

例如,要导出 Metricbeat rabbitmq 仪表盘

cd beats/metricbeat
go run ../dev-tools/cmd/dashboards/export_dashboards.go -dashboards Metricbeat-Rabbitmq -output
module/rabbitmq/_meta/kibana/default/Metricbeat-Rabbitmq.json
  1. Metricbeat-Rabbitmq 是要导出的仪表盘的 ID。
注意

您可以从 Kibana 中仪表盘的 URL 获取仪表盘 ID。 根据创建仪表盘的 Kibana 版本,ID 由名称或随机字符组成,这些字符可以用 - 分隔。

此命令创建一个包含仪表盘和所有依赖项(如搜索、可视化)的单个 JSON 文件 (Metricbeat-Rabbitmq.JSON)。 输出文件的名称格式为:<Beat 名称>-<模块名称>.json。

从 Beats 6.0.0 开始,您可以为每个模块或整个 Beat 创建一个包含所有仪表盘的 yml 文件。 下面是 Metricbeat 中系统模块的 module.yml 文件的示例。

dashboards:
    - id: Metricbeat-system-overview
      file: Metricbeat-system-overview.json

    - id: 79ffd6e0-faa0-11e6-947f-177f697178b8
      file: Metricbeat-host-overview.json

    - id: CPU-slash-Memory-per-container
      file: Metricbeat-docker-overview.json
  1. 仪表盘 ID。
  2. 仪表盘保存在磁盘上的 JSON 文件。

使用 yml 文件,您可以使用单个命令导出单个模块或整个 Beat 的所有仪表盘

cd metricbeat/module/system
go run ../../../dev-tools/cmd/dashboards/export_dashboards.go -yml module.yml
© . All rights reserved.