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

From Pandora FMS Wiki
Jump to: navigation, search
Line 11: Line 11:
 
1) Modificar el fichero de configuración de “elasticsearch.yml”:
 
1) Modificar 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ñadir la siguiente linea:
  
-path.repo: /usr/local/var/backups/
+
  path.repo: /usr/local/var/backups/
  
 
[[File: Elk1.png|600px]]
 
[[File: Elk1.png|600px]]
Line 21: Line 21:
 
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:
  
-curl -XPUT http://localhost:9200/_snapshot/my_backup -d '{"type": "fs", "settings": {"compress": "true", "location": "/usr/local/var/backups/"}}}'
+
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:
 
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.
Line 51: Line 45:
 
**Desde máquina destino**
 
**Desde máquina destino**
  
-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
  
 
**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**
 
**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**
 
  
 
**NOTA**
 
**NOTA**
 
   
 
   
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.
+
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.
 
  
  
 +
==Restaurar Copia de Seguridad==
  
 
+
*Desde máquina destino*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--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:
 
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
+
vi /etc/elasticsearch/elasticsearch.yml
  
 
Y añadir la siguiente linea:
 
Y añadir la siguiente linea:
  
-path.repo: /usr/local/var/backups/
+
path.repo: /usr/local/var/backups/
 
 
 
 
  
 +
[[File: Elk2.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:
 
3)Damos permisos de lectura y escritura al directorio:
  
-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)Descomprimimos el backup que importamos desde la máquina origen:
 
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
+
tar -xzvf /home/user/backuptar/elastic_backup.tar.gz -C /usr/local/var/backups
  
 +
6)Creamos los repositorios donde se localizan las snapshots:
  
6)Creamos los repositorios donde se localizan las snapshots:
+
<pre>url -X PUT "localhost:9200/_snapshot/my_backup" -H 'Content-Type: application/json' -d'
  
-curl -X PUT "localhost:9200/_snapshot/my_backup" -H 'Content-Type: application/json' -d'
 
 
{
 
{
 
   "type": "fs",
 
   "type": "fs",
Line 127: Line 96:
 
}
 
}
 
'
 
'
 
+
</pre>
  
 
7)Cerramos los índices:
 
7)Cerramos los índices:
  
curl -XPOST http://localhost:9200/<nombreIndices>-*/_close
+
curl -XPOST http://localhost:9200/<nombreIndices>-*/_close
  
 
**El asterisco muestra todos los indices que empiecen por ese nombre**
 
**El asterisco muestra todos los indices que empiecen por ese nombre**
 
  
 
8)Importamos el backup:
 
8)Importamos el backup:
Line 140: Line 108:
 
Primero copiamos el backup al repositorio:
 
Primero copiamos el backup al repositorio:
  
-cp <nombre del snapshot.dat> my_backup_location/
+
cp <nombre del snapshot.dat> my_backup_location/
  
 
Renombramos el fichero sin mayúsculas:
 
Renombramos el fichero sin mayúsculas:
  
-mv my_backup_location/<nombre del snapshot.dat> my_backup_location/snap1
+
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"
+
Finalmente se importa:
  
 +
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 http://localhost:9200/<nombreIndices>-*/_open
+
curl -XPOST http://localhost:9200/<nombreIndices>-*/_open

Revision as of 10:47, 14 May 2018

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
    • 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**
    • NOTA**

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
    • 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