Dit is een oude revisie van het document!
Om in een backup te maken van een index, bijvoorbeeld de .kibana index om zo de gedefinieerde searches, visualisaties en Dashboards veilig te stellen kan je snapshots gebruiken.
Snapshots worden geregeld door de _snapshot plug-in die standaard mee geïnstalleerd is.
Op het OS moet je een directory maken waar je de snapshots opslaat.
in mijn geval :
mkdir /DATA/elasticsearch-backup
chown elasticsearch:elasticsearch /DATA/elasticsearch-backup
Maak de net gemaakte storage binnen elasticsearch bekend als snapshot repository:
vi /etc/elasticsearch/elasticsearch.yml
en voeg toe :
# Shared repo for snapshot backups path.repo: ["/DATA/elasticsearch-backup"]
En herstart Elasticsearch om de nieuwe configuratie bekend te maken:
service elasticsearch restart
We maken een repository met de naam index_backups aan:
curl -XPUT localhost:9200/_snapshot/index_backups -d '{ "type": "fs", "settings": {"location": "/DATA/elasticsearch-backup", "compress": true, "chunk_size": "10m" } }'
Controleer of de repository aangemaakt is:
curl -XGET 'localhost:9200/_snapshot/_all?pretty=true'
de output is als het klopt als volgt:
{
"index_backups" : {
"type" : "fs",
"settings" : {
"compress" : "true",
"chunk_size" : "10m",
"location" : "/DATA/elasticsearch-backup"
}
}
}
De repository is nu aangemaakt en klaar om snapshots naar te schrijven.
Met het volgende commando maak je bijvoorbeeld een snapshot van de index .kibana met als snapshot naam kibana_snapshot:
curl -XPUT localhost:9200/_snapshot/index_backups/kibana_snapshot -d '{ "indices": ".kibana", "ignore_unavailable": "true" }'
Controleer of de snapshot gelukt is:
curl -XGET localhost:9200/_snapshot/index_backups/kibana_snapshot?pretty=true
de output moet iets zijn als:
{
"snapshots" : [ {
"snapshot" : "kibana_snapshot",
"version_id" : 2040099,
"version" : "2.4.0",
"indices" : [ ".kibana" ],
"state" : "SUCCESS",
"start_time" : "2017-06-29T14:23:42.105Z",
"start_time_in_millis" : 1498746222105,
"end_time" : "2017-06-29T14:23:42.277Z",
"end_time_in_millis" : 1498746222277,
"duration_in_millis" : 172,
"failures" : [ ],
"shards" : {
"total" : 1,
"failed" : 0,
"successful" : 1
}
} ]
}
je zou ook kunnen kiezen om alle open indices te backupen:
curl -XPUT localhost:9200/_snapshot/index_backups/snapshot_naampje
Snapshots zijn eenvoudig te verwijderen doot:
curl -XDELETE localhost:9200/_snapshot/index_backups/snapshot_naampje
Een van de bronnen beweert overigens dat de .kibana index aleen terug gezet kan worden als deze closed is.
je kan de .kibana index closen door:
curl -XPOST localhost:9200/.kibana/_close
en je kan hem heropenen door:
curl -XPOST localhost:9200/.kibana/_open
curl -XPOST localhost:9200/_snapshot/index_backups/snapshot_naampje/_restore
Dit zet alle indices in de snapshot snapshot_naampje terug.
Om 1 index uit een snapshot terug te zetten, bv de .kibana index uit ons voorbeeld snapshot:
curl -XPOST localhost:9200/_snapshot/index_backups/snapshot_naampje/_restore -d '{ "indices": ".kibana" }'