Simple backup for Kibana saved objects: config, index patterns, dashboards, saved searches, etc.
Uses python3 and awesome python-requests library.
kibana-backup.py backup [--kibana-url KIBANA_URL] [--user USER] [--password PASSWORD] > backup.ndjson
cat backup.ndjson | kibana-backup.py restore [--kibana-url KIBANA_URL] [--user USER] [--password PASSWORD]
kibana-backup.py backup [--kibana-url KIBANA_URL] [--user USER] [--password PASSWORD] --space-id=myspace --backup-file=myspace.ndjson
kibana-backup.py backup [--kibana-url KIBANA_URL] [--user USER] [--password PASSWORD] --all-spaces --backup-file-prefix=backup-
Result: backup-default.ndjson backup-myspace.ndjson backup-myspace2.ndjson
kibana-backup.py restore [--kibana-url KIBANA_URL] [--user USER] [--password PASSWORD] --all-spaces --backup-file-prefix=backup-
Restores backup-default.ndjson
to space id=default
, backup-myspace.ndjson
to space id=myspace
, ...
From pypi.org:
pip install kibana-backup-simple
Local installation:
git clone https://github.com/selivan/kibana-backup-simple.git
cd kibana-backup-simple
python setup.py install
Or just create a Docker image and use it:
docker build -t kibana-backup-simple .
docker run -it --rm -v "$PWD":/opt kibana-backup-simple [options]
Note: if you use options like --all-spaces
and --backup-file
, you should mount some local directory into the container.
- https://www.elastic.co/guide/en/kibana/current/saved-objects-api-export.html
- https://www.elastic.co/guide/en/kibana/current/saved-objects-api-import.html
- https://www.elastic.co/guide/en/kibana/current/spaces-api-get-all.html
P.S. If this code is useful for you - don't forget to put a star on it's github repo.