Pandora: Documentation es: Backup de ElasticSearch

From Pandora FMS Wiki
Jump to: navigation, search

1 Copia de seguridad y restauración de ElasticSearch (ELK)

Migración de datos de un servidor ElasticSearch mediante Snapshots con relativa rapidez, en primer lugar se realiza una copia de seguridad de los datos del servidor y posteriormente se guarda en un repositorio para posterior restauración del mismo.

1.1 Copia de Seguridad

La máquina donde se realizará el backup la denominaremos como máquina origen y la máquina donde se realizará la restauración se denominará máquina destino.

  • Desde Máquina origen

1) Modificar el fichero de configuración de “elasticsearch.yml”:

 vi /etc/elasticsearch/elasticsearch.yml

Y añadir la siguiente linea:

 path.repo: /usr/local/var/backups/

Elk1.png

2)Creamos el directorio añadido anteriormente al fichero de configuración:

mkdir -p /usr/local/var/backups/

3)Damos permisos de lectura y escritura al directorio y usuario

chmod 700 /usr/local/var/backups
chown elasticsearch:elasticsearch /usr/local/var/backups

4)Reiniciamos el servicio:

/etc/init.d/elasticsearch restart

5)Creamos el Backup con el siguiente comando:

curl -XPUT http://localhost:9200/_snapshot/my_backup -d '{"type": "fs", "settings": {"compress": "true", "location": "/usr/local/var/backups/"}}}'

6)Comprimimos el backup generado anteriormente:

cd /usr/local/var/
tar -zcvf elastic_backup.tar.gz backups/

7)Desde la máquina destino donde vamos a hacer la restauración, copiamos el backup comprimido de la máquina origen.

  • Desde máquina destino
scp -P 41122 [email protected]’ipOrigen’:/root/elastic_backup.tar.gz /home/user/backup

Info.png

Para utilizar el comando ‘scp’ se debe tener instalado un servidor ssh en la máquina origen y al menos un cliente ssh en la máquina destino

 


Template warning.png

Es importante que la versión de Elasticsearch en la máquina importadora sea compatible con la exportación de datos, es decir, en este caso su máquina local debe tener de la misma versión o superior. Si no es así, primero debe actualizar Elasticsearch.

 



1.2 Restaurar Copia de Seguridad

  • Desde máquina destino

1) Modificar el fichero de configuración de “elasticsearch.yml” de la misma manera que hicimos al relaizar el backup en la primera máquina:

vi /etc/elasticsearch/elasticsearch.yml

Y añadir la siguiente linea:

path.repo: /usr/local/var/backups/

Elk2.png

2)Creamos el directorio añadido anteriormente al fichero de configuración:

mkdir -p /usr/local/var/backups/

3)Damos permisos de lectura y escritura al directorio:

chmod 700 /usr/local/var/backups
chown elasticsearch:elasticsearch /usr/local/var/backups

4)Reiniciamos el servicio:

/etc/init.d/elasticsearch restart

5)Descomprimimos el backup que importamos desde la máquina origen:

tar -xzvf /home/user/backuptar/elastic_backup.tar.gz -C /usr/local/var/backups

6)Creamos los repositorios donde se localizan las snapshots:

url -X PUT "localhost:9200/_snapshot/my_backup" -H 'Content-Type: application/json' -d'

{
  "type": "fs",
  "settings": {
    "location": "/usr/local/var/backups"
  }
}
'

7)Cerramos los índices:

curl -XPOST http://localhost:9200/<nombreIndices>-*/_close

Info.png

El asterisco muestra todos los indices que empiecen por ese nombre

 


8)Importamos el backup:

Primero copiamos el backup al repositorio:

cp <nombre del snapshot.dat> my_backup_location/

Renombramos el fichero sin mayúsculas:

mv my_backup_location/<nombre del snapshot.dat> my_backup_location/snap1

Finalmente se importa:

curl -X POST "localhost:9200/_snapshot/my_backup/snap1/_restore?wait_for_completion=true"

9)Para terminar reabrimos los índices:

curl -XPOST http://localhost:9200/<nombreIndices>-*/_open