Difference between revisions of "Pandora: Documentation es: Backup de ElasticSearch"

From Pandora FMS Wiki
Jump to: navigation, search
m (Copia de Seguridad)
 
Line 1: Line 1:
 
= Copia de seguridad y restauración de ElasticSearch (ELK) =
 
= 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.
+
La migración de datos de un servidor ElasticSearch mediante Snapshots se realiza con relativa rapidez. En primer lugar, se realiza una copia de seguridad de los datos del servidor y después se guarda en un repositorio para posterior restauración del mismo.
  
 
==Copia de Seguridad==
 
==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.
+
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".
  
 
*'''En la máquina origen'''
 
*'''En la máquina origen'''
  
1) Modificar el fichero de configuración de “elasticsearch.yml”:
+
1) Modificamos el fichero de configuración de “elasticsearch.yml”:
  
 
   vi /etc/elasticsearch/elasticsearch.yml
 
   vi /etc/elasticsearch/elasticsearch.yml
  
Y añadir la siguiente linea:
+
Y añadimos la siguiente línea:
  
 
   path.repo: /usr/local/var/backups/
 
   path.repo: /usr/local/var/backups/
Line 19: Line 19:
 
[[File: Elk1.png|600px]]
 
[[File: Elk1.png|600px]]
  
2)Creamos el directorio añadido anteriormente al fichero de configuración:
+
2) Creamos el directorio añadido anteriormente al fichero de configuración:
  
 
  mkdir -p /usr/local/var/backups/
 
  mkdir -p /usr/local/var/backups/
  
3)Damos permisos de lectura y escritura al directorio y usuario
+
3) Damos permisos de lectura y escritura al directorio y usuario:
  
 
  chmod 700 /usr/local/var/backups
 
  chmod 700 /usr/local/var/backups
 
  chown elasticsearch:elasticsearch /usr/local/var/backups
 
  chown elasticsearch:elasticsearch /usr/local/var/backups
  
4)Reiniciamos el servicio:
+
4) Reiniciamos el servicio:
  
 
  /etc/init.d/elasticsearch restart
 
  /etc/init.d/elasticsearch restart
  
5)Creamos el Backup con el siguiente comando:
+
5) Creamos el backup con el siguiente comando:
  
 
  <nowiki>curl -XPUT http://localhost:9200/_snapshot/my_backup -d '{"type": "fs", "settings": {"compress": "true", "location": "/usr/local/var/backups/"}}}'</nowiki>
 
  <nowiki>curl -XPUT http://localhost:9200/_snapshot/my_backup -d '{"type": "fs", "settings": {"compress": "true", "location": "/usr/local/var/backups/"}}}'</nowiki>
  
6)Comprimimos el backup generado anteriormente:
+
6) Comprimimos el backup generado anteriormente:
  
 
  cd /usr/local/var/
 
  cd /usr/local/var/
 
  tar -zcvf elastic_backup.tar.gz backups/
 
  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.
+
7) Desde la máquina destino donde vamos a hacer la restauración, copiamos el backup comprimido de la máquina origen.
  
 
*'''En la máquina destino'''
 
*'''En la máquina destino'''
Line 47: Line 47:
 
  scp -P 41122 [email protected]<ipOrigen>:/root/elastic_backup.tar.gz /home/user/backup
 
  scp -P 41122 [email protected]<ipOrigen>:/root/elastic_backup.tar.gz /home/user/backup
  
{{Tip|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}}
+
{{Tip|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.}}
  
{{Warning|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.}}
+
{{Warning|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 la misma versión o superior. Si no es así, primero debe actualizar ElasticSearch.}}
  
 
==Restaurar Copia de Seguridad==
 
==Restaurar Copia de Seguridad==
Line 55: Line 55:
 
*'''En la máquina destino'''
 
*'''En la máquina destino'''
  
1) Modificar el fichero de configuración de “elasticsearch.yml” de la misma manera que hicimos al crear el backup en la primera máquina:
+
1) Modificamos el fichero de configuración de “elasticsearch.yml” de la misma manera que hicimos al crear el backup en la primera máquina:
  
 
  vi /etc/elasticsearch/elasticsearch.yml
 
  vi /etc/elasticsearch/elasticsearch.yml
  
Y añadir la siguiente linea:
+
Y añadimos la siguiente línea:
  
 
  path.repo: /usr/local/var/backups/
 
  path.repo: /usr/local/var/backups/
Line 99: Line 99:
 
  curl -XPOST <nowiki>http://localhost:9200</nowiki>/<nombreIndices>-*/_close
 
  curl -XPOST <nowiki>http://localhost:9200</nowiki>/<nombreIndices>-*/_close
  
{{Tip|El asterisco muestra todos los indices que empiecen por ese nombre.}}
+
{{Tip|El asterisco muestra todos los índices que empiecen por ese nombre.}}
  
 
8) Importamos el backup:
 
8) Importamos el backup:
Line 115: Line 115:
 
  curl -X POST "localhost:9200/_snapshot/my_backup/snap1/_restore?wait_for_completion=true"
 
  curl -X POST "localhost:9200/_snapshot/my_backup/snap1/_restore?wait_for_completion=true"
  
9) Para terminar reabrimos los índices:
+
9) Para terminar, reabrimos los índices:
  
 
  curl -XPOST <nowiki>http://localhost:9200</nowiki>/<nombreIndices>-*/_open
 
  curl -XPOST <nowiki>http://localhost:9200</nowiki>/<nombreIndices>-*/_open

Latest revision as of 02:47, 14 August 2019

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

La migración de datos de un servidor ElasticSearch mediante Snapshots se realiza con relativa rapidez. En primer lugar, se realiza una copia de seguridad de los datos del servidor y después 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".

  • En la máquina origen

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

 vi /etc/elasticsearch/elasticsearch.yml

Y añadimos la siguiente línea:

 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.

  • En la 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 la misma versión o superior. Si no es así, primero debe actualizar ElasticSearch.

 


1.2 Restaurar Copia de Seguridad

  • En la máquina destino

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

vi /etc/elasticsearch/elasticsearch.yml

Y añadimos la siguiente línea:

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/backup/elastic_backup.tar.gz -C /usr/local/var/backups

6) Creamos los repositorios donde se localizan las snapshots:

curl -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 índices 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