Skip to content

Configurar Backup

guilacerda edited this page Apr 12, 2019 · 1 revision

Como configurar o backup do ElasticSearch

Quando adicionado o Analytics à stack do bot deve-se fazer uma configuração inicial de backup dos dados que estão sendo gerenciados pela stack do ElasticSearch.

1. Passos para configuração do backup

  1. Subir a stack do bot como descrito no README do projeto (Serviços: RocketChat, Bot).

  2. Subir o serviço do ElasticSearch e Kibana, também descrito no README.

    Observação 1: Atentar-se aos passos expostos, logo abaixo dos comandos do docker-compose do serviço do ElasticSearch. Mudança do valor da variável de ambiente ENABLE_ANALYTICS e o comando curl.

2. Como criar 1 backup

  Para criar um snapshot (cópia dos dados) rode o seguinte comando trocando o <NOME_COPIA> pelo nome do seu backup:

curl -X PUT "localhost:9200/_snapshot/backup/<NOME_COPIA>?wait_for_completion=true"

  O snapshot será armazenado dentro da pasta backup/backup no container do ElasticSearch.

    Observação 2: Não é necessário, mas é uma boa prática fazer uma cópia do backup gerado para outra máquina, ou para um storage.

3. Como recuperar um snapshot

  Para a recuperação de um snapshot todos os indexes terão que ser deletados ou fechados (close).

  Primeiramente terá que ver se existe algum index que está com o estado open:

curl -X GET localhost:9200/_cat/indices

# Exemplo
# green open .kibana  iuvV0IGrSQW3r-FXFETbsw 1 0  2 0 10.5kb 10.5kb

  Caso tenha algum índice que esteja com o estado open, terá que deixá-lo(s) inativo(s) ou deletá-lo(s) substituindo <NOME_INDEX> pelo nome do respectivo índice:

# Caso queira deletar, rode o seguinte comando:
curl -XDELETE 'http://localhost:9200/<NOME_INDEX>/'

# Caso queira "fechá-lo"
curl -X POST localhost:9200/<NOME_INDEX>/_close

    Observação 3: Caso delete o index, não terá como voltar atrás. Se apenas der um close no índice, terá a chance de reabrí-lo executando o comando:

# Comando da observação 3
curl -X POST localhost:9200/<NOME_INDEX>/_open

  Agora execute o seguinte comando para conseguir recuperar os dados do snapshot (<NOME_COPIA>) gerado anteriormente no tópico 2:

curl -X POST "localhost:9200/_snapshot/backup/<NOME_COPIA>/_restore"

AGORA DESFRUTE DO SEU BACKUP FUNCIONANDO :)

Clone this wiki locally