导出新的和修改后的 Beat 仪表盘

编辑

要导出任何 Elastic Beat 或任何社区 Beat 的所有仪表盘,包括任何新的或修改后的仪表盘以及所有依赖项(例如可视化、搜索),您可以使用来自 dev-tools 的 Go 脚本 export_dashboards.go。有关更多信息,请参阅 dev-tools 自述文件

或者,如果上述脚本不可用,您可以使用 Beat 二进制文件导出 Kibana 6.0 或更高版本的仪表盘。

从 Kibana 6.0 导出到 7.14

编辑

dev-tools/cmd/export_dashboards.go 脚本可帮助您导出自定义的 Kibana 仪表盘,直至 v7.14.x 版本。您可能需要导出单个仪表盘或模块或 Beat 可用的所有仪表盘。

也可以使用 Beat 二进制文件导出。

从 Kibana 7.15 或更高版本导出

编辑

从 7.15 开始,您的 Beats 版本必须与 Kibana 版本相同,以确保所需的导出 API 可用。

迁移使用 Kibana 7.14 或更早版本创建的旧版仪表盘

编辑

将 Kibana 实例更新到至少 7.15 后,您必须使用 export_dashboards.go 工具或 Beat 再次导出仪表盘。

导出单个 Kibana 仪表盘

编辑

要为模块导出单个仪表盘,您可以在带有模块的 Beat 中使用以下命令

MODULE=redis ID=AV4REOpp5NkDleZmzKkE mage exportDashboard
./filebeat export dashboard -id 7fea2930-478e-11e7-b1f0-cb29bac6bf8b -folder module/redis

这将在模块/redis 下生成一个合适的文件夹,用于存放仪表盘,并将资源分离到仪表盘、搜索、可视化等中。每个导出的文件都是一个 JSON 文件,其名称是资源的 ID。

仪表盘 ID 在仪表盘 URL 中可用。例如,如果仪表盘 URL 为 app/kibana#/dashboard/AV4REOpp5NkDleZmzKkE?_g=()&_a=(description:'Overview%2...,则仪表盘 ID 为 AV4REOpp5NkDleZmzKkE

导出所有模块/Beat 仪表盘

编辑

每个模块都应该包含一个 module.yml 文件,其中包含模块可用的所有仪表盘的列表。对于不支持模块的 Beat(例如 Packetbeat),有一个 dashboards.yml 文件定义了所有 Packetbeat 仪表盘。

下面是 Metricbeat 中系统模块的 module.yml 文件示例

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

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

- id: CPU-slash-Memory-per-container
  file: Metricbeat-containers-overview.ndjson

每个仪表盘都由一个 id 和一个 ndjson file 名称定义,其中仪表盘保存在本地。

通过将 yml 文件传递给 export_dashboards.go 脚本或 Beat,您可以导出所有定义的仪表盘。

go run dev-tools/cmd/dashboards/export_dashboards.go -yml filebeat/module/system/module.yml -folder dashboards
./filebeat export dashboard -yml filebeat/module/system/module.yml

从 Kibana 空间导出仪表盘

编辑

如果您正在使用 Kibana 空间功能并希望从特定空间导出仪表盘,请将空间 ID 传递给 export_dashboards.go 脚本。

go run dev-tools/cmd/dashboards/export_dashboards.go -space-id my-space [other-options]

在运行 Beat 的 export dashboard 时,您需要在 setup.kibana.space.id 中设置空间 ID。

导出 Kibana 5.x 仪表盘

编辑

要仅导出 Elastic Beat 或社区 Beat 的一些 Kibana 仪表盘,您可以简单地将正则表达式传递给 export_dashboards.py 脚本以匹配选定的 Kibana 仪表盘。

在第一次运行 export_dashboards.py 脚本之前,您需要创建一个包含所有必需 Python 包的环境。

make python-env

例如,要导出所有以 Packetbeat 名称开头的 Kibana 仪表盘

python ../dev-tools/cmd/dashboards/export_dashboards.py --regex Packetbeat*

要查看所有可用的选项,请阅读下面的描述或运行

python ../dev-tools/cmd/dashboards/export_dashboards.py -h
--url <elasticsearch_url>
Elasticsearch URL。默认值为 https://127.0.0.1:9200
--regex <regular_expression>
匹配要导出的所有 Kibana 仪表盘的正则表达式。此参数是必需的。
--kibana <kibana_index>
Elasticsearch 索引模式,Kibana 在其中保存其配置。默认值为 .kibana
--dir <output_dir>
仪表盘和所有依赖项将保存到的输出目录。默认值为 output

输出目录具有以下结构

output/
    index-pattern/
    dashboard/
    visualization/
    search/