En este tutorial vamos a explicar como actualizar Zabbix en versiones antiguas de la rama 5.x hacia la rama actual 6.x. Son unos sencillos pasos que hay que seguir uno a uno.

Este tutorial tendremos en cuenta que esta sobre Apache y MySQL, por lo que si tenéis Nginx o PostgreSQL deberéis de cambiar mysql por pgsql.

Datos importantes a tener en cuenta

Si estás utilizando MariaDB debes de tener en cuenta que la versión mínima para instalar Zabbix 6.0 es MariaDB 10.05.00.

También debes de saber que para ejecutar Zabbix 6.0 necesitas tener una versión superior a PHP 7.2.5.

Parar Zabbix

El primer paso es parar Zabbix para proceder a la actualización y evitar así problemas.

systemctl stop zabbix-server

Hacer copia de seguridad de Zabbix

Dependiendo de donde tengamos el servidor, podemos proceder a crear un snapshot del servidor para volver a un estado anterior en caso de que la instalación no funcione correctamente. Si no tenéis esta posibilidad entonces deberéis de hacer una copia de los datos de forma manual. Al ser un proceso largo, os lo dejo un poco resumido:

# Preparar directorios para el backup
mkdir -p /opt/zabbix_backup/bin_files /opt/zabbix_backup/conf_files /opt/zabbix_backup/doc_files
mkdir -p /opt/zabbix_backup/web_files /opt/zabbix_backup/db_files
# Copiar de los binarios, configuración, documentación, web y ficheros de la base de datos
cp -rp /etc/zabbix/zabbix_server.conf /opt/zabbix_backup/conf_files
cp -rp /usr/sbin/zabbix_server /opt/zabbix_backup/bin_files
cp -rp /usr/share/doc/zabbix-* /opt/zabbix_backup/doc_files
cp -rp /etc/httpd/conf.d/zabbix.conf /opt/zabbix_backup/conf_files 2>/dev/null
cp -rp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix_backup/conf_files 2>/dev/null
cp -rp /etc/zabbix/php-fpm.conf /opt/zabbix_backup/conf_files 2>/dev/null
# Copia del fronted de la web
cp -rp /usr/share/zabbix/ /opt/zabbix_backup/web_files
# Copia de la base de datos:
mysqldump -h localhost -u'root' -p'rootDBpass' --single-transaction 'zabbix' | gzip > /opt/zabbix_backup/db_files/zabbix_backup.sql.gz

Actualizar Zabbix Server y Frontend

Eliminamos primero el repositorio antiguo:

dpkg --purge zabbix-release

Nos descargamos el nuevo repositorio y actualizamos paquetes:

# Para Debian 10
wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1%2Bdebian10_all.deb

# Para Debian 11
wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1%2Bdebian11_all.deb

# Para Ubuntu 20.04
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1%2Bubuntu20.04_all.deb

# Para Ubuntu 22.04
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-2%2Bubuntu22.04_all.deb

# Para Debian y Ubuntu
dpkg -i zabbix-release_*.deb
apt update
apt install -y --only-upgrade zabbix-server-mysql zabbix-frontend-php 
📢
Si no sabes que distribución de GNU/Linux usas, recuerda que puedes utilizar el comando cat /etc/os-release para saberlo.

Como que usamos Apache, deberemos de instalar el siguiente paquete también:

apt-get install -y zabbix-apache-conf

Iniciar Zabbix y actualizar la base de datos

Tras este punto, ya tenemos actualizado Zabbix. Ahora falta levantar el proceso de nuevo y revisar que la base de datos se actualiza correctamente.

Iniciamos el servicio de Zabbix Server:

systemctl start zabbix-server

La actualización de la base de datos puede durar una hora dependiendo del tamaño de la base de datos, puedes revisar el progreso en el siguiente fichero:

cat /var/log/zabbix/zabbix_server.log | grep database

Esto debería de mostrar lo siguiente:

1794:20200408:200607.700 current database version (mandatory/optional): 04040000/04040002
1794:20200408:200607.700 starting automatic database upgrade
1794:20200408:200607.706 completed 1% of database upgrade
1794:20200408:200608.804 completed 10% of database upgrade
                            .....
1794:20200408:200613.111 completed 98% of database upgrade
1794:20200408:200613.123 completed 100% of database upgrade
1794:20200408:200613.123 database upgrade fully completed
1794:20200408:200613.136 database is not upgraded to use double precision values

La actualización de la base de datos se ha completado con éxito cuando se recibe el mensaje «database upgrade fully completed» en el archivo de registro del servidor Zabbix.

Comprobaciones finales

Tras la última comprobación, ahora finalmente solo queda revisar la versión de Zabbix instalada:

zabbix_server -V
zabbix_server (Zabbix) 5.0.0

¡Y listo! ¡Ya tienes Zabbix actualizado!

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación