Backing up Kibana Dashboards on Docker Container with Snapshot and Restore

Currently I am trying to find a way to backup the Elasticsearch data and the Kibana Dahsboards using the Snapshot and Restore. Right now the Elasticsearch and Kibana instances are hosted on their respective containers. Is there a way to regularly back up Kibana Dashboards from the Kibana instance? Preferably a way that could save off the dashboard and the Elasticsearch data to a repository?

Kibana has no own data store and stores all data in Elasticsearch in a special .kibana index. So if you back up all your Elasticsearch indices you have also backed up your Kibana data.

Backing up Elasticsearch is described in detail in the docs: https://www.elastic.co/guide/en/elasticsearch/reference/current/backup-cluster.html

If you have follow-up question about backing up Elasticsearch feel free to ask in the Elasticsearch forum for further guidance.

How do you get the .kibana index to populate? I have been unable to find this in indexes or and documentation on how to get the .kibana index in Elasticsearch.

I'm not sure what you are referring to - .kibana is a regular index stored in Elasticsearch. It is searchable and modifiable with the regular commands over the REST api of Elasticsearch, just like your data indices.

The .kibana index does not exist in the my Elasticsearch and is no callable over REST api of Elasticsearch. Nothing is returned from the .kibana index. There must be a missing piece. Do you have any suggestions?

Kibana creates a .kibana alias that points to .kibana_n where n is an increasing number each time Kibana performs migrations. There is no reason the Elasticsearch REST API shouldn't work so you might be sending requests to the wrong cluster.

What's the output of GET _cat/indices and GET _cat/aliases?

Along with what @rudolf said:

  • If you have a security solution running, please check whether the ES user you are using to access the data has read rights for the .kibana/.kibana_* indices.
  • It's possible to change the index Kibana stores data in by setting kibana.index to something else in your kibana.yml. Please check whether this setting is present for you.

Thank you for your help! Below is the output that I got:

image

  • I currently do no have a security solution running
  • I have added the kibana.index as an environment variable. I do not see the index populating in index management.

The output of _cat/indices shows that you have a .kibana alias that points to the .kibana_1 index and that it contains documents. So if you're unable to query this index, there is something wrong in the way in which you use the Elasticsearch REST API.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.