Migración de un Reino estándar a un reino de observabilidad
A continuación se describen los pasos operativos necesarios para migrar un Reino estándar a Elasticsearch 9. El proceso incluye la configuración en Aggregator, la copia de ficheros auxiliares, la migración de reportes y la ejecución de los scripts de migración correspondientes.
Variables de referencia
A lo largo de esta guía se utilizan los siguientes placeholders:
Placeholder |
Descripción |
|---|---|
[reino] |
Nombre del reino que se va a migrar. |
[user] |
Usuario con acceso SSH al entorno de origen. |
[archivos_a_copiar] |
Ficheros o directorios concretos que deben copiarse. |
[tipo_de_reino] |
Tipo de reino utilizado en Aggregator. |
[archivo_de_salida] |
Fichero generado durante la exportación. |
[id_nuevo_reino] |
Identificador del nuevo reino en el agregador destino. |
Nota
Antes de ejecutar cualquier comando, valide los nombres reales del Reino, rutas, contenedores y ficheros en el entorno correspondiente.
Migración de MIBs de Import-tool
Copie los directorios de MIBs desde el entorno de origen, al contenedor backend del Reino destino.
bash
scp -r [user]@[nombre_de_reino]:/opt/wocu/embedded/wocu/wocu-import-tool/wocu-import-tool/snmp_traps/mibs/ /root/
docker cp /root/mibs/. wocu_[nombre_de_reino]-backend-1:/mibs/
Migración de ficheros de configuración de Shinken
Si el entorno dispone de ficheros .cfg de Shinken, estos deben copiarse de forma
similar al caso anterior.
bash
scp -r [user]@[nombre_de_reino]:/var/opt/wocu/etc/shinken/[archivos_a_copiar] ./
docker cp ./[archivos_a_copiar] wocu_[nombre_de_reino]-backend-1:/etc/shinken/
Atención
En Configuration > Tasks aparece la tarea Cache Forecast Values, aunque no debería mostrarse.
Migración de tareas de importación CSV
Las tareas de importación CSV utilizan ficheros almacenados en /tmp/supervision/.
Estos ficheros deben copiarse al contenedor Docker del backend.
bash
scp -r [user]@[nombre_de_reino]:/tmp/supervision/[archivos_a_copiar] ./
docker cp ./[archivos_a_copiar] wocu_[nombre_de_reino]-backend-1:/tmp/supervision/
Migración de snapshots
Copie los ficheros JSON desde el entorno de origen:
[nombre_de_reino]:/var/opt/wocu/var/backups/import-tool
Cambie las variables
ENCRYPT_SALTySECRET_KEY.Si aplica, elimine dichas variables del fichero
docker-compose.yml.
Migración de reportes
Este procedimiento será necesario cuando los reportes deban migrarse de un agregador a otro.
Exportación en el agregador de origen
bash
cd /opt/wocu/embedded/wocu/wocu-aggregator/wocu-aggregator/
/opt/wocu/embedded/bin/python3 ./manage.py export_realm_reports [nombre_de_reino] --realm-type [tipo_de_reino] --output [archivo_de_salida] --pretty
Importación en el agregador destino
bash
/opt/wocu/embedded/bin/python3 ./manage.py import_realm_reports [archivo_de_salida] --object-id [id_nuevo_reino]
Copia de imágenes de portada
Copie los ficheros de portada asociados a las noticias de reportes.
Entorno |
Ruta |
|---|---|
Origen |
/var/opt/wocu/var/aggregator/media/report_news/cover_images/* |
Destino |
/var/opt/wocu/var/aggregator/media/report_news/cover_images/ |
Migración de MongoDB a Elasticsearch 9
Modifique en el script las variables de conexión a MongoDB, como origen.
Modifique en el script las variables de conexión a Elasticsearch, como destino.
Ejecute el siguiente script de migración:
bash
/opt/wocu/embedded/bin/python3 mongo_to_elastic.py
Configuración de API key para Elasticsearch
El script se modificó para utilizar autenticación mediante API key:
es = Elasticsearch(
ELASTIC_URL,
headers={"Authorization": f"ApiKey {ELASTIC_API_KEY}"},
)
Migración de InfluxDB a Elasticsearch 9
Modifique en el script las variables de conexión a InfluxDB, como origen.
Modifique en el script las variables de conexión a Elasticsearch, como destino.
Ejecute el siguiente script de migración:
bash
/opt/wocu/embedded/bin/python3 influx_to_elastic.py
Recomendación
Valide la existencia de la clave hostgroups antes de eliminarla para evitar el KeyError.
Por ejemplo: linea_json.pop("hostgroups", None)
Checklist de validación
Antes de dar por finalizada la migración, verifique que se han completado correctamente las siguientes tareas:
Configuración del Reino
✔ El Reino existe en Aggregator.
✔ El backend de Elasticsearch está configurado.
✔ La API Key dispone de los permisos mínimos necesarios.
✔ Los espacios de Kibana se han configurado correctamente.
Ficheros y configuración auxiliar
✔ Las MIBs se han copiado al contenedor backend.
✔ Los ficheros
.cfgde Shinken se han migrado, si aplica.✔ Los ficheros CSV de
/tmp/supervision/se han copiado al contenedor.✔ Los snapshots JSON se han transferido correctamente.
✔ Las variables
ENCRYPT_SALTySECRET_KEYse han revisado y ajustado.
Reportes y contenido asociado
✔ Los reportes se han exportado e importado correctamente.
✔ Las imágenes de portada asociadas a los reportes se han copiado al entorno destino.
Migración de datos
✔ La migración de MongoDB a Elasticsearch 9 se ha ejecutado o validado.
✔ La migración de InfluxDB a Elasticsearch 9 se ha ejecutado o validado.