Actualizando Zabbix 5.0 LTS a 6.0 LTS en Rocky Linux
Zabbix es un software de monitorización que permite monitorizar la red, servidores, entornos cloud, aplicaciones que puede ejecutarse en entornos on premise y en entornos cloud. Tiene como características escalabilidad ilimitada, monitorización distribuída, alta disponibilidad, es flexible y segura.
Es fácil de implementar y posee compatibilidad con MariaDB y PostgreSQL como sistema de gestión y tratamiento de datos. Es un proyecto open source bastante atractivo y con alta actividad tanto en IRC (Libera.chat) como en sus foros.
En este tutorial veremos cómo hacer la actualización con el siguiente esquema de servidor:
Puesta en marcha
Pre:
- RockyLinux 8.5
- MariaDB 10.3
- Zabbix 5.0 LTS
- NGINX
Post:
- RockyLinux 8.5
- MariaDB 10.5
- Zabbix 6.0 LTS
- NGINX
NOTA: Si podemos hacer snapshot del servidor, apagamos el servidor, lo hacemos e iniciamos el sistema.
-
Deshabilitamos todos los User media tales como integraciones con Slack, Telegram, Email... para evitar avisos
-
Apagamos los siguientes servicios:
sudo systemctl stop nginx.service
sudo systemctl stop zabbix-server.service
sudo systemctl stop zabbix-proxy.service # En caso de que tuvieras
sudo systemctl stop zabbix-agent.service
sudo systemctl stop zabbix-agent2.service # Depende cuál uses
- Hacemos un backup de la base de datos y de otras configuraciones esenciales de Zabbix.
sudo mkdir /opt/zabbix-backup/
mysqldump -u root zabbix > dump.sql
sudo mv dump.sql /opt/zabbix-backup/dump.sql
sudo cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
sudo cp /etc/nginx/conf.d/zabbix.conf /opt/zabbix-backup/
sudo cp -R /usr/share/zabbix/ /opt/zabbix-backup/
sudo cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
- Apagamos la base de datos
sudo systemctl stop mariadb.service
- Instalamos el nuevo repositorio
sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
- Actualizamos los paquetes
sudo dnf upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-nginx-conf
-
Comprobamos las configuraciones que tengamos en
/etc/nginx/conf.d/y aplicamos los cambios convenientes (Mejor que se respete la nueva y los cambios que se introduzcan sean los de los certificados por ejemplo) -
Eliminamos la versión anterior de MariaDB
NOTA: Si no, no podrás instalarla porque da conflictos. Los archivos quedan guardados en
/var/lib/mysqlno se eliminan.
sudo dnf remove mariadb-server
- Desactivamos la rama 10.3 y activamos 10.5
sudo dnf -y module disable mariadb:10.3
sudo dnf -y module enable mariadb:10.5
- Instalamos la nueva versión
sudo dnf install mariadb-server
NOTA: Verás que es la 10.5 y no 10.3, si es así, mejor que vuelvas al paso anterior.
- Arrancamos el servidor
sudo systemctl enable --now mariadb.service
- Ejecutamos el upgrade:
sudo mysql_upgrade -u root -p
NOTA: ¿Por qué ejecutarlo con sudo? Porque si no, no podrá crear el archivo de información resultante:
/var/lib/mysql/mysql_upgrade_info.
Veremos una salida como esta:
Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.gtid_slave_pos OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.index_stats OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK
mysql.table_stats OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.transaction_registry OK
mysql.user OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
Processing databases
information_schema
performance_schema
zabbix
zabbix.acknowledges OK
zabbix.actions OK
zabbix.alerts OK
zabbix.application_discovery OK
zabbix.application_prototype OK
zabbix.application_template OK
zabbix.applications OK
zabbix.auditlog OK
zabbix.auditlog_details OK
zabbix.autoreg_host OK
zabbix.conditions OK
zabbix.config OK
zabbix.config_autoreg_tls OK
zabbix.corr_condition OK
zabbix.corr_condition_group OK
zabbix.corr_condition_tag OK
zabbix.corr_condition_tagpair OK
zabbix.corr_condition_tagvalue OK
zabbix.corr_operation OK
zabbix.correlation OK
zabbix.dashboard OK
zabbix.dashboard_user OK
zabbix.dashboard_usrgrp OK
zabbix.dbversion OK
zabbix.dchecks OK
zabbix.dhosts OK
zabbix.drules OK
zabbix.dservices OK
zabbix.escalations OK
zabbix.event_recovery OK
zabbix.event_suppress OK
zabbix.event_tag OK
zabbix.events OK
zabbix.expressions OK
zabbix.functions OK
zabbix.globalmacro OK
zabbix.globalvars OK
zabbix.graph_discovery OK
zabbix.graph_theme OK
zabbix.graphs OK
zabbix.graphs_items OK
zabbix.group_discovery OK
zabbix.group_prototype OK
zabbix.history OK
zabbix.history_log OK
zabbix.history_str OK
zabbix.history_text OK
zabbix.history_uint OK
zabbix.host_discovery OK
zabbix.host_inventory OK
zabbix.host_tag OK
zabbix.hostmacro OK
zabbix.hosts OK
zabbix.hosts_groups OK
zabbix.hosts_templates OK
zabbix.housekeeper OK
zabbix.hstgrp OK
zabbix.httpstep OK
zabbix.httpstep_field OK
zabbix.httpstepitem OK
zabbix.httptest OK
zabbix.httptest_field OK
zabbix.httptestitem OK
zabbix.icon_map OK
zabbix.icon_mapping OK
zabbix.ids OK
zabbix.images OK
zabbix.interface OK
zabbix.interface_discovery OK
zabbix.interface_snmp OK
zabbix.item_application_prototype OK
zabbix.item_condition OK
zabbix.item_discovery OK
zabbix.item_preproc OK
zabbix.item_rtdata OK
zabbix.items OK
zabbix.items_applications OK
zabbix.lld_macro_path OK
zabbix.lld_override OK
zabbix.lld_override_condition OK
zabbix.lld_override_opdiscover OK
zabbix.lld_override_operation OK
zabbix.lld_override_ophistory OK
zabbix.lld_override_opinventory OK
zabbix.lld_override_opperiod OK
zabbix.lld_override_opseverity OK
zabbix.lld_override_opstatus OK
zabbix.lld_override_optag OK
zabbix.lld_override_optemplate OK
zabbix.lld_override_optrends OK
zabbix.maintenance_tag OK
zabbix.maintenances OK
zabbix.maintenances_groups OK
zabbix.maintenances_hosts OK
zabbix.maintenances_windows OK
zabbix.mappings OK
zabbix.media OK
zabbix.media_type OK
zabbix.media_type_message OK
zabbix.media_type_param OK
zabbix.module OK
zabbix.opcommand OK
zabbix.opcommand_grp OK
zabbix.opcommand_hst OK
zabbix.opconditions OK
zabbix.operations OK
zabbix.opgroup OK
zabbix.opinventory OK
zabbix.opmessage OK
zabbix.opmessage_grp OK
zabbix.opmessage_usr OK
zabbix.optemplate OK
zabbix.problem OK
zabbix.problem_tag OK
zabbix.profiles OK
zabbix.proxy_autoreg_host OK
zabbix.proxy_dhistory OK
zabbix.proxy_history OK
zabbix.regexps OK
zabbix.rights OK
zabbix.screen_user OK
zabbix.screen_usrgrp OK
zabbix.screens OK
zabbix.screens_items OK
zabbix.scripts OK
zabbix.service_alarms OK
zabbix.services OK
zabbix.services_links OK
zabbix.services_times OK
zabbix.sessions OK
zabbix.slides OK
zabbix.slideshow_user OK
zabbix.slideshow_usrgrp OK
zabbix.slideshows OK
zabbix.sysmap_element_trigger OK
zabbix.sysmap_element_url OK
zabbix.sysmap_shape OK
zabbix.sysmap_url OK
zabbix.sysmap_user OK
zabbix.sysmap_usrgrp OK
zabbix.sysmaps OK
zabbix.sysmaps_elements OK
zabbix.sysmaps_link_triggers OK
zabbix.sysmaps_links OK
zabbix.tag_filter OK
zabbix.task OK
zabbix.task_acknowledge OK
zabbix.task_check_now OK
zabbix.task_close_problem OK
zabbix.task_data OK
zabbix.task_remote_command OK
zabbix.task_remote_command_result OK
zabbix.task_result OK
zabbix.timeperiods OK
zabbix.trends OK
zabbix.trends_uint OK
zabbix.trigger_depends OK
zabbix.trigger_discovery OK
zabbix.trigger_tag OK
zabbix.triggers OK
zabbix.users OK
zabbix.users_groups OK
zabbix.usrgrp OK
zabbix.valuemaps OK
zabbix.widget OK
zabbix.widget_field OK
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
- Iniciamos los servicios
sudo systemctl start zabbix-server.service
sudo systemctl start zabbix-proxy.service # En caso de que tuvieras
sudo systemctl start zabbix-agent.service
sudo systemctl start zabbix-agent2.service # Depende cuál uses
sudo systemctl start nginx.service
- Ya deberías poder acceder al portal de login.
Recursos
- Documentación oficial: Zabbix




Common Desktop Environment, fue un entorno gráfico para UNIX que fue
desarrollado por empresas de gran hincampié tecnológico como HP, IBM, Novell
y Sun (comprada por Oracle) viendo su primera versión en junio de 1993 de la
mano de HP, IBM, SunSoft y USL(Unix System Laboratories). Estos elaboraron un
proyecto en común repartiéndose las tareas para llevar a cabo diferentes
objetivos hasta llegar a su primera versión del escritorio. Posteriormente, se
fueron involucrando más empresas en su desarrollo. No obstante, estuvo unos años en el mercado
hasta que GNOME y KDE les arrebató su posicionamiento.
GNOME (GNU Network Object Model Environment) traducido al español como Entorno
de Modelo de Objeto de Red GNU, un nombre no tan amigable como sus siglas fue
desarrollado por Miguel de Icaza y Federico Mena el 15 de agosto de 1997 como alternativa a KDE (ahora Plasma) para sistemas operativos UNIX-like tipo BSD, Linux, o UNIX como esSolaris (antes SunOS).
KDE fue el primer entorno de escritorio para sistemas UNIX-like que nació en
octubre de 1996 de la mano de un programador alemán llamado Matthias Ettrich que
buscaba básicamente una interfaz gráfica que unificáse todos los sistemas UNIX
imitando el entorno de escritorio CDE.
MATE es un fork de GNOME que salió el 19 de agosto de 2011 como muestra del descontento de la nueva versión de GNOME 3 debido a que reducía muchísimo la personalización del entorno de escritorio, consumía mucho más, y tenía otro tipo de funcionalidades y características no muy transigentes. Este proyecto fue desarrollado por un desarrollador argenito de Archlinux llamado Germán Perugorría conocido en la comunidad del software libre como Perberos para continuar el desarrollo de este entorno de escritorio. Que por cierto, es el que nosotros utilizamos. El nombre proviene de la hierba Mate muy común en Argentina para tomar.
XFCE se caracteriza por ser un entorno de escritorio muy liviano y ligero ya que
ese eran sus dos objetivos cuando se desarrolló. La primera versión se liberó en
1996 de la mano de Olivier Fourdan. Este utiliza las bibliotecas de GTK+ para el
desarrollo de sus programas gráficos.
Este fue un entorno de escritorio también como el anterior, cuyo objetivo era
proveer a un PC de una suite de herramientas gráficas que permitieran trabajar
consumiendo lo más mínimo de un ordenador. Su primera versión fue liberada en
2006 por Hong Jen Yee. Actualmente tiene su desarrollo parado, ya que se
sustituyó por LXQt.
Es la continuación del proyecto LXDE como entorno de escritorio. El anterior
hacia uso de librerías GTK+, LXQT hace uso de Qt ya que al parecer al creador de
LXDE no le terminó de convencer GTK+. Su objetivo y finalidad son el mismo que
en LXDE.
Fue un entorno de escritorio desarrollado con las bibiliotecas Qt en 2010, no
obstante, el equipo de Razor-Qt empezó a colaborar con el creador de LXDE
originando el entorno anteriori dando origen a la primera versión en julio del
2014.
Sugar es un entorno de escritorio que nació con el objetivo de crear una
interfaz muy intuitiva para aquell@s niñ@s que no podían acceder a la tecnología
puntera de países del primer mundo. Creada por Sugar Labs en mayo del 2016,
como entorno para el proyecto OLPC (One Laptop Per Child) un proyecto en el que se
le permite a los niños mediante un portátil de bajo costo enseñarles a
incorporarse a la tecnología sin necesidad de tener grandes recursos pudo crecer
y seguir manteníendose como una alternativa educativa también para l@s más
peques de la casa.
Tab Window Manager, es el gestor de ventanas más común en todo Linux. Fue desarrollado por Tom LaStrange desde 1987, el nombre original estaba basado en la siglas de su nombre Tom's Window Manager, pero el X Consortium lo adoptó y lo renombró en 1989. En TWM se pueden apilar las ventanas, las cuáles contienen título, e iconos para interactuar. Este gestor de ventana suele utilizarse con programas como un reloj analógico
i3wm o también conocido como i3, es un gestor de ventanas que no se superposiciona, simplemente se adapta una ventana con la otra sin superponerse. i3 nos permite gestionar ventanas en modo stack es decir, apiladas, o bien en modo de pestañas tab entre más características. En suma, soporta modo multi-pantalla, está reescrita desde 0 estando todo su código licenciado bajo términos BSD. Hay que destacar que tiene soporte UTF-8 y es muy fácil de configurar. Su primera versión fue escrita en C por Michael Stapelberg el 15 de marzo del 2009.
Fluxbox es un gestor de ventanas creado por Henrik Kinnunen el 12 de septiembre de 2001. Es un wm muy sencillo y fácil de usar, bastante ligero en cuanto consumo y rendimiento. Está basado en un gestor de ventanas llamado Blackbox ya desmantenido. La última versión liberada es la 1.3.7 publicada el 8 de febrero de 2015.
Openbox es otro gestor de ventanas creado por Dana Jansens y Mikael Magnusson el 18 de septiembre de 2002. Este también derivó de sus inicios de Blackbox, sin embargo, ha sido reescrito totalmente desde la versión 3.0. Este gestor sacrifica entre otras cosas algunas funciones típicas como la barra de menú, lista de apps en ejecución o bordes redondeados en las ventanas. No obstante, posee herramientas de configuración del entorno bastane útiles para cambiar el fondo de pantalla, tema del gestor...etc, no obstante, el gestor de ventanas lleva sin desarrollarse desde el 1 de julio del 2015.
Es un gestor de ventanas con una gran cantidad de applets, módulos y aplicaciones que lo intentan convertir en un entorno de escritorio completo, la primera versión liberada fue en 1997 por Rasterman (Carsten Haitzler), mientras que la última versión liberada fue el 15 de marzo de 2018. Enlightenment lleva un desarrollo lento y denso que hace que el entorno sea un poco menos novedoso y no todos sus módulos y applets están bien recibidos según que distribuciones. Suelen faltar muchos de ellos, y algunas veces las compilaciones de los mismos no suelen llevar a resultados favorables. No obstante es una buena alternativa para aquellas personas que busquen un estado intermedio entre gestor y entorno, y resulta muy liviano y con una imagen un tanto futurista.
Otro gestor de ventanas elaborado en C y en Lua, también es parecido a i3 en el que no es necesario hacer uso de ningún tipo de ratón y permite acoplar fácilmente las ventanas entre sí. La primera versión fue liberada el 18 de septiembre del 2007 por Julien Danjou, siendo un fork de dwm. En algunas distribuciones se encuentra disponible, pero desde el 25 de septiembre del 2016 se encuentra desmantenido.
Windows Manager Improved 2, es un gestor de ventanas que soporta el manejo de ventanas con ratón o teclado elaborado por Anselm R. Garbe y Kris Maglione y viendo la luz por primera vez el 1 de junio de 2005, tiene una filosofía minimalista de no ir más allá de 10,000 líneas de código. La última versión estable fue liberada el 1 de julio del 2017.
Es otro gestor de ventanas desarrollado por Anselm R. Garbe y liberándolo el 14 de julio de 2006. Es un wm muy minimalista pareciéndose a wmii, sin embargo, es mucho más simple que este último y está escrito en puro C para tener un rendimiento mucho más elevado además de añadir seguridad al código, pero este muy conocido gestor de ventanas se quedó en desarrollo al igual que wmii, el 1 de julio de 2017.







* ¿Por qué una?: Los sistemas BSD por defecto utilizan un sistema de particiones "poco común". Se escoge una sola partición primaria, y posteriormente se dividen en subparticiones llamados slices, hay que escoger bien las particiones y sus tamaños porque luego no se podrán modificar.
**
5. Instalamos el código de arranque MBR
6. Establecemos el tamaño de las particiones de NetBSD, lo que en Linux sería 
12. Configuración de elementos adicionales, en este apartado podemos asignarle contraseña al usuario
13. Si no tenemos nada más que añadir, podemos finalizar la instalación
