Actualización de la AMI

Por favor, lea toda la sección antes de no hacer nada, y prepare una copia de seguridad de todos sus datos

Como zabbix lanza nuevas versiones cada vez con nuevas características y mejoras, la mejor opción es ir actualizacion nuestra AMI de Zabbix cada cierto tipo. Lamentablemente, las mismas nuevas características y mejoras incluyen cambios en la base de datos e internos que pueden ser problemáticos para actualizar su instalación de Zabbix.

Nuestra AMI de Zabbix es la mejor manera de evitar estos problemas, ya que ofrecemos una manera de actualizar entre versiones mayores, que es más rápida, simple y segura que las habituales.

Resumen de la actualización

El proceso de actualización para nuestra AMI es bastante simple, y se resume en los siguientes pasos:

  • Hacer un volcado de nuestra base de datos actual
  • Lanzar una nueva AMI con la última versión estable
  • Subir el volcado de la base de datos a la nueva instancia
  • Ejecutar nuestro script de migración

De esta forma, mantenemos al mismo tiempo la versión actual y la nueva, y podemos hacer las pruebas necesarias para garantizar que todo funciona correctamente, para después cambiar las EIP asociadas a esa instancia, o migrar los clientes poco a poco

en este tutorial usamos el término “origen” para referirnos a su servidor Zabbix actual, y destino para referernos al nuevo servidor.

Proceso de actualización

Paso 1: Copia de seguridad del servidor origen

El primer paso es hacer una imagen de nuestro servidor origen, para evitar cualquier pérdida de datos accidental. Puedes ver el manual de AWS para crear una AMI.

Paso 2: Volcado de nuestra base de datos y versión de Zabbix

El segundo paso es hacer un volcado de la base de datos del servidor Zabbix origen. Para ello, entramos por SSH en nuestra instancia, y nos colocamos como root con el comando:

sudo /bin/su -

después, volcaremos la base de datos a un archivo con el comando:

mysqldump zabbix > zabbix_origin_database.sql

por último, descargaremos el archivo creado a nuestra máquina, para después subirlo al nuevo servidor.

También debemos anotar la versión actual de Zabbix que estamos usando. Podemos ver la versión en la interfaz web de Zabbix, y debe ser un número similar a 4.0, 4.2, 4.4 o 5.4.

Paso 3: Lanzar una nueva instancia Zabbix

El siguiente paso es crear una nueva instancia de Zabbix, usando para ello la última versión estable de la AMI que puedes encontrar en nuestro perfil de AWS Marketplace. Como mínimo, debes usar la versión 6.1 de nuestra AMI de Zabbix.

Esta nueva instancia va a ser el servidor destino donde moveremos nuestros datos, y que ya viene con la última versión instalada y actualizada.

Una vez la instancia se haya iniciado, debemos copiar el volcado de la base de datos del servidor origen a este nuevo servidor.

Paso 4: Actualizar la base de datos

Para insertar nuestra base de datos actual, actualizarla a la nueva versión, y añadir las configuraciones necesarias, debemos usar el script situado en /opt/tools/bin/zabbix-ami-upgrade.sh, que hay que ejecutar como usuario ubuntu, y al que debemos indicar la versión original de Zabbix, y el archivo con el volcado de los datos.

Por ejemplo, si estamos migrando desde Zabbix 4.0 y hemos volcado la base de datos actual en zabbix_origin_database.sql, deberíamos ejecutar:

/opt/tools/bin/zabbix-ami-upgrade.sh 4.0 zabbix_origin_database.sql

El proceso nos irá informando de los pasos que lleva a cabo, y una vez finalice podemos seguir trabajando con nuestro nuevo servidor Zabbix.

Paso 5: Acceder a la interfaz web

Una vez que la migración ha terminado, ya podremos acceder a la interfaz web y ver la situación general de nuestro servidor. Es importante tener en cuenta que debemos usar los mismos usuarios y contraseñas que teníamos en el servidor anterior.

Paso 6: Migrar configuraciones especiales y configurar clientes

Una vez nuestra base de datos es operativa, debemos tener en cuenta otro tipo de configuraciones que hayamos podido instalar en el servidor, como por ejemplo:

  • scripts de monitorización
  • paquetes de sistema adicionales
  • certificados SSL que hayamos instalado

También tendremos que mover la EIP que hayamos configurado para esa instancia, de forma que los clientes no necesiten modificarse.

Si no estamos usando EIP, es un buen momento para empezar a hacerlo, ya que deberemos cambiar la IP del nuevo servidor en los clientes.