To export all the dashboards for any Elastic Beat or any community Beat, including any new or modified dashboards and all dependencies such as
visualizations, searches, you can use the Go script
dev-tools for exporting Kibana 6.0 dashboards or later, and the Python script
for exporting Kibana 5.x dashboards. See the dev-tools
readme for more info.
Alternatively, if the scripts above are not available, you can use your Beat binary to export Kibana 6.0 dashboards or later.
dev-tools/cmd/export_dashboards.go script helps you export your customized Kibana 6.0 dashboards and newer. You might need to export a single dashboard or all the dashboards available for a module or Beat.
It is also possible to use a Beat binary to export.
To export a single dashboard for a module you can use the following command inside a Beat with modules:
MODULE=redis ID=AV4REOpp5NkDleZmzKkE mage exportDashboard
./filebeat export dashboard -id 7fea2930-478e-11e7-b1f0-cb29bac6bf8b >> Filebeat-redis.json
This generates a
AV4REOpp5NkDleZmzKkE.json file inside dashboard directory in the redis module.
It contains all dependencies like visualizations and searches.
The dashboard ID is available in the dashboard URL. For example, in case the dashboard URL is
app/kibana#/dashboard/AV4REOpp5NkDleZmzKkE?_g=()&_a=(description:'Overview%2..., the dashboard ID is
Each module should contain a
module.yml file with a list of all the dashboards available for the module. For the Beats that don’t have support for modules (e.g. Packetbeat),
there is a
dashboards.yml file that defines all the Packetbeat dashboards.
Below, it’s an example of the
module.yml file for the system module in Metricbeat:
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-containers-overview.json
Each dashboard is defined by an
id and the name of json
file where the dashboard is saved locally.
By passing the yml file to the
export_dashboards.go script or to the Beat, you can export all the dashboards defined:
go run dev-tools/cmd/dashboards/export_dashboards.go -yml filebeat/module/system/module.yml
./filebeat export dashboard -yml filebeat/module/system/module.yml
If you are using the Kibana Spaces feature and want to export dashboards from a specific Space, pass the Space ID to the
go run dev-tools/cmd/dashboards/export_dashboards.go -space-id my-space [other-options]
In case of running
export dashboard of a Beat, you need to set the Space ID in
To export only some Kibana dashboards for an Elastic Beat or community Beat, you can simply pass a regular expression to
export_dashboards.py script to match the selected Kibana dashboards.
Before running the
export_dashboards.py script for the first time, you
need to create an environment that contains all the required Python packages.
For example, to export all Kibana dashboards that start with the Packetbeat name:
python ../dev-tools/cmd/dashboards/export_dashboards.py --regex Packetbeat*
To see all the available options, read the descriptions below or run:
python ../dev-tools/cmd/dashboards/export_dashboards.py -h
- The Elasticsearch URL. The default value is http://localhost:9200.
- Regular expression to match all the Kibana dashboards to be exported. This argument is required.
- The Elasticsearch index pattern where Kibana saves its configuration. The default value is
- The output directory where the dashboards and all dependencies will be saved. The default value is
The output directory has the following structure:
output/ index-pattern/ dashboard/ visualization/ search/