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
- Matriz de compatibilidad
- Pre requisitos
- Configuración previa
- Parámetros y configuración
- Ejecución manual
- Recomendaciones
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:
- Tener conectividad con el entorno de elastic search
- Tener conectividad con el entorno de opensearch
- Contar con las credenciales de autenticación de opensearch (en caso de tener la autenticación básica configurada)
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
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
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 |
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
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
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*"
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:
- Realizar la migración antes de conectar el entorno de pandorafms al nuevo opensearch
- Realizar una migración escalonada, año a año, mes a mes o incluso índice a índice, utilizando el filtro por patrones. Dependiendo de la cantidad de datos almacenados.
- Dimensionar correctamente el entorno.
- Para una gran cantidad de datos, utilizar un clúster de opensearch en lugar de un único nodo.