Migrador de elasticsearch a opensearch

Utilidad CLI para migrar un entorno de elasticsearch (PandoraFMS v773 y anteriores) a opensearch (PandoraFMS v774 en adelante)

Introducción

Ver. 131123

Utilidad CLI para migrar un entorno de elastic search a opensearch

Enlace de descarga: link

Tipo: utilidad

Matriz de compatibilidad

Version de opensearch probada

2.11.0

Versión de elástic probada

6.4.3 

8.10.3

Sistemas OS donde se ha probado

CentOS 7

Rocky 8

Ubuntu 22.04

Sistemas donde debería funcionar

Cualquier sistema operativo Linux que tenga un servidor de Pandora FMS instalado


Pre requisitos

Para poder ejecutar esta utilidad se necesita: 

Configuración previa

Comprobar que se tiene acceso a Elasticsearch.
Desde la máquina en la que se ejecutara el migrador, ejecutar una prueba con curl para verificar conectividad. 

curl http://<hostname_or_ip>:9200

image.png

Realizar la misma comprobación, pero esta vez al entorno de opensearch, se puede realizar con el mismo comando y cambiando el hostname o ip en el caso de no tener autenticación básica.

En caso de tener autenticación se debe ejecutar:

curl -X GET -ku 'user:pass' https://<hostname_or_ip>:9200

image.png

Si la comprobación es correcta y tenemos acceso a ambos entornos, ya podemos usar el mirador.

Parámetros y configuración

Parámetros

-s SOURCE_URL, --source_url SOURCE_URL URL del entorno fuente de elastic a migrar
-d DESTINATION_URL, --destination_url DESTINATION_URL URL del entorno destino de opensearch 
-P INDEX_PATTERN, --index_pattern INDEX_PATTERN Patrón de índices a migrar, por defecto: pandorafms*
 -a, --use_auth Flag, usar autenticación basica
-u USER, --user USER Usuario para autenticación basica, por defecto: admin
 -p PASSWORD, --password PASSWORD Contraseña autenticación Basica, por defecto: admin
-t TIMEOUT, --timeout TIMEOUT Tiempo que se espera entre migracion de indices 
-f, --force Borra el índice en el destino si existe y fuerza la migración
 -C, --compare Compara los índices de fuente y destino y el estado de cada una.
-v, --verbose Flag, muestra paso a paso todas las acciones de migracion, para debug

image.png

Ejecución manual

Ejecución de migración:

./elastic_to_opensearch -s 192.168.80.44:9200 -d 192.168.50.92:9200 -a \
-u admin -p admin

Ejecución de migración filtrando por un solo índice.

./elastic_to_opensearch -s 192.168.80.44:9200 -d 192.168.50.92:9200 -a \
-u admin -p admin -f \
-P pandorafms-b8ef1b65799a11ee94810242ac100002-2023.11.02

image.png

Ejecución comprobación:

./elastic_to_opensearch -s 192.168.80.44:9200 -d 192.168.50.92:9200 -a \
-u admin -p admin -C

image.png

La comprobación también se puede realizar filtrando por índices usando un patron de busqueda:

./elastic_to_opensearch -s 192.168.80.44:9200 -d 192.168.50.92:9200 \
-a -u admin -p admin -C \
-P "pandorafms-b8ef1b65799a11ee94810242ac100002*"

image.png

Recomendaciones

Para realizar una migración es importante tomar en cuenta el dimensionamiento de los entornos a migrar y la cantidad de índices y documentos que tenemos almacenados. La migración es un proceso demandante que transfiere muchos datos a gran velocidad.

En general indicamos ciertas recomendaciones para entornos con una gran cantidad de datos: