导出新的和修改过的 Beat 仪表盘
要导出任何 Elastic Beat 或任何社区 Beat 的所有仪表盘,包括任何新的或修改过的仪表盘以及所有依赖项(如可视化、搜索),您可以使用 dev-tools 中的 Go 脚本 export_dashboards.go
。 有关更多信息,请参阅 dev-tools 自述文件。
或者,如果以上脚本不可用,您可以使用您的 Beat 二进制文件导出 Kibana 6.0 或更高版本的仪表盘。
dev-tools/cmd/export_dashboards.go
脚本可以帮助您导出自定义的 Kibana 仪表盘,直到 v7.14.x 版本。 您可能需要导出单个仪表盘或模块或 Beat 的所有可用仪表盘。
也可以使用 Beat 二进制文件导出。
从 7.15 开始,您的 Beats 版本必须与您的 Kibana 版本相同,以确保所需的导出 API 可用。
在您将 Kibana 实例更新到至少 7.15 之后,您必须使用 export_dashboards.go
工具或您的 Beat 再次导出您的仪表盘。
要为模块导出单个仪表盘,您可以在带有模块的 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
。
每个模块都应包含一个 module.yml
文件,其中包含该模块所有可用仪表盘的列表。 对于不支持模块的 Beats(例如 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 Spaces 功能并想从特定的 Space 导出仪表盘,请将 Space 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
中设置 Space ID。
要仅导出 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。 默认值是 http://localhost:9200。
--regex <regular_expression>
- 用于匹配要导出的所有 Kibana 仪表盘的正则表达式。 此参数是必需的。
--kibana <kibana_index>
- Kibana 在其中保存其配置的 Elasticsearch 索引模式。 默认值为
.kibana
。 --dir <output_dir>
- 仪表盘及其所有依赖项将保存到的输出目录。 默认值为
output
。
输出目录具有以下结构
output/
index-pattern/
dashboard/
visualization/
search/