En esta entrada veremos cómo instalar Zabbix 5 en Fedora 32 y 31 paso a paso, de forma que podrás usar esta estupenda aplicación para monitorizar tu servidor o VPS Fedora y cualquier otro sistema o dispositivo en red de forma fácil e intuitiva.
Contenido
Antes de instalar Zabbix en Fedora 32 y 31
Para poder completar esta guía de instalación de Zabbix en Fedora 32 y 31 debes partir de los siguientes requisitos mínimos:
- Una máquina Fedora 31 ó 32 actualizada.
- Un entorno o pila tipo LAMP (servicio web con PHP y motor de bases de datos MariaDB/MySQL o PostgreSQL).
- Acceso a línea de comandos con un usuario con capacidades de sudo.
- Conexión a Internet.
Si aún no dispones del entorno mínimo necesario sería interesante consultar previamente nuestra guía de instalación de la pila LAMP en Fedora o la guía de instalación de PostgreSQL en Fedora.
Cómo configurar el repositorio de Zabbix para Fedora 32 y 31
Vamos a configurar el repositorio oficial de Zabbix 5 para Fedora 32 y 31, cosa que haremos instalando directamente un paquete RPM desde el sitio oficial del proyecto:
~$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
Como los repositorios de Fedora 32 y 31 contienen paquetes de Zabbix pertenecientes a la versión 4.0, debemos editar el archivo del repositorio oficial que se acaba de instalar para asignarle mayor prioridad:
~$ sudo nano /etc/yum.repos.d/zabbix.repo
Añadimos una directiva priority en cada sección:
[zabbix] ... priority=1 ... [zabbix-non-supported] ... priority=1
De esta forma, a igualdad de nombres de paquetes en distintos repositorios, se preferirán los paquetes del repositorio oficial de Zabbix.
Guardamos los cambios y actualizamos la información de los repositorios:
~$ sudo yum update
Este proceso debemos realizarlo tanto en la máquina que actuará como servidor Zabbix, como en las máquinas Fedora 32 y 31 que queramos monitorizar usando el agente Zabbix
Cómo instalar Zabbix Server en Fedora 32 y 31
A la hora de instalar Zabbix Server 5 en Fedora 32 y 31 hemos de tener en cuenta que podemos elegir variantes dependiendo del servicio de bases de datos y el servicio web que tengamos instalado.
Si vamos a usar MariaDB/MySQL como servicio de bases de datos instalaremos los siguientes paquetes para el servidor Zabbix y la aplicación web (Zabbix Frontend):
~$ sudo yum install -y zabbix-server-mysql zabbix-web-mysql
Y si vamos a usar PostgreSQL instalaremos estos otros:
~$ sudo yum install -y zabbix-server-pgsql zabbix-web-pgsql
Por otro lado, si usamos Apache como servicio web instalaremos el paquete que lo configura adecuadamente:
~$ sudo yum install -y zabbix-apache-conf
Mientras que si usamos Nginx instalaremos este otro:
~$ sudo yum install -y zabbix-nginx-conf
Finalmente instalamos el agente Zabbix:
~$ sudo yum install -y zabbix-agent
Y recargamos la configuración del servicio web (Apache en este caso):
~$ sudo systemctl reload httpd
SELinux
Si tenemos SELinux activado, lo que ocurre por defecto en Fedora 32 y 31, es bastante complicado configurarlo para que permita trabajar a Zabbix. En muchos lugares recomiendan desactivar SELinux de forma general, pero tal vez es mejor opción configurar SELinux en modo permisivo exclusivamente para Zabbix:
~$ sudo semanage permissive -a zabbix_t
También debemos permitir que el servicio web pueda acceder a red para conectar con el servicio Zabbix:
~$ sudo setsebool -P httpd_can_network_connect on
Base de datos
Hemos visto que Zabbix en Fedora 32 y 31 puede trabajar sobre un servicio MariaDB/MySQL o PostgreSQL, así que veremos rápidamente cómo preparar cada uno de ellos.
MariaDB/MySQL
Conectamos al servicio con el cliente de consola mysql y algún usuario administrador:
~$ mysql -u root -p
Creamos la base de datos:
> create database zabbix collate utf8_bin;
En MariaDB o MySQL 5 creamos el usuario de la forma habitual:
> create user zabbix@localhost identified by 'XXXXXXXX';
Pero en MySQL 8 es conveniente especificar el plugin de autenticación adecuado:
> create user zabbix@localhost identified with mysql_native_password by 'XXXXXXXX';
Concedemos los privilegios al usuario sobre la base de datos:
> grant all privileges on zabbix.* to zabbix@localhost;
Y cerramos la sesión:
> exit
Tenemos que inicializar manualmente la base de datos que acabamos de crear con el script SQL que proporciona Zabbix, para lo que usaremos el nuevo usuario (y contraseña) que acabamos de crear:
~$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz |mysql -u zabbix -p zabbix
PostgreSQL
Creamos un rol con contraseña:
~$ sudo -iu postgres createuser -P zabbix
Y creamos y asociamos la base de datos:
~$ sudo -iu postgres createdb zabbix -O zabbix
Inicializamos la base de datos con el script SQL que proporciona Zabbix:
~$ zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -U zabbix 1> /dev/null
Configuración del servicio Zabbix
Es necesario editar el archivo de configuración del servicio Zabbix para incluir la contraseña del usuario de la base de datos:
~$ sudo nano /etc/zabbix/zabbix_server.conf
Localizamos la directiva DBPassword:
... ### Option: DBPassword # Database password. # Comment this line if no password is used. # # Mandatory: no # Default: # DBPassword= ...
No está activada, podemos añadirla justo a continuación del bloque anterior con el valor de la contraseña del usuario que manejará la base de datos de Zabbix:
... DBPassword=XXXXXXXX ...
Si hubiésemos decidido llamar al usuario y/o la base de datos con nombres diferentes a los valores por defecto, habría que modificarlos también en este archivo.
Una vez finalizados los cambios, guardamos el archivo e iniciamos el servicio Zabbix:
~$ sudo systemctl start zabbix-server
Podemos comprobar en cualquier momento el estado del servicio con el comando systemctl status zabbix-server
:
Para que Zabbix inicie automáticamente en cada arranque de Fedora 32 y 31, habilitamos el servicio:
~$ sudo systemctl enable zabbix-server
Servicio Zabbix Agent
Durante la instalación también se ha creado un servicio para el agente Zabbix, llamado zabbix-agent.service o simplemente zabbix-agent, que no queda iniciado ni habilitado. Por tanto iniciaremos el servicio por vez primera de forma manual:
~$ sudo systemctl start zabbix-agent
Y comprobaremos que ha quedado en ejecución con el comando systemctl status zabbix-agent
:
Si todo está correcto, que debería estarlo, habilitaremos el agente Zabbix para que inicie automáticamente con Fedora 32 y 31:
~$ sudo systemctl enable zabbix-agent
Instalador web
Es el momento de acceder al instalador web de Zabbix para Fedora 32 y 31 desde un navegador, para lo que añadiremos la ruta /zabbix a la dirección IP, nombre DNS, dominio, etc. del sistema.
Por ejemplo, para redactar este artículo trabajamos sobre una máquina Fedora 31 accesible en el subdominio fedora31.local.lan, por lo que empleamos http://fedora31.local.lan/zabbix como URL de acceso al instalador:
Se muestra una página de bienvenida al instalador web de Zabbix y continuamos hacia la lista de comprobación de requisitos de instalación:
Si has seguido los pasos anteriores se cumplirán todos y cada uno de los requisitos, por lo que podrás continuar hasta el siguiente paso, la configuración de la conexión a la base de datos:
Aparecerán los valores del nombre de la base de datos y usuario por defecto, que debemos actualizar si hemos usado otros, e introducimos la contraseña del usuario de la base de datos.
A continuación se muestra la configuración del servicio Zabbix:
En principio no hay que modificar ningún valor, a no ser que lo hiciéramos previamente en el archivo de configuración del servicio Zabbix, por lo que dejaremos todos los valores como están.
Antes de finalizar la instalación se mostrará un resumen de la configuración de la misma:
Al continuar en unos instantes finalizará el proceso y se nos mostrará confirmación de que el archivo de configuración de Zabbix Frontend ha sido creado:
Al finalizar la instalación continuamos con la página de inicio de sesión en Zabbix Frontend:
El nombre del usuario administrador por defecto es Admin, y su contraseña es zabbix.
Al iniciar sesión se despliega la página principal de Zabbix Frontend, en la sección «Dashboard«:
Podremos ver información del número de máquinas monitorizadas, que inicialmente sólo incluye a la propia máquina local Fedora 31.
Si queremos obtener información detallada sobre el estado de la máquina local podemos visitar la sección «Hosts«, y hacer clic sobre el nombre de la máquina local («Zabbix server» por defecto) para que aparezca un menú contextual:
Siguiendo la opción «Graphs» accederemos a una página de gráficos que mostrarán el estado de los servicios monitorizados:
Cómo monitorizar máquinas remotas Fedora 32 y 31 desde Zabbix
Para monitorizar una máquina remota Fedora 32 y 31 desde Zabbix Server hay que seguir dos pasos:
- Instalar Zabbix Agent en la máquina remota.
- Dar de alta la máquina remota en Zabbix Server.
Instalar y configurar el agente Zabbix en Fedora 32 y 31
Partimos de que ya tenemos instalado y configurado el repositorio oficial de Zabbix para Fedora 32 y 31, como describimos en pasos anteriores de esta guía. Siendo así sólo tenemos que instalar el agente Zabbix que nos ofrece el paquete zabbix-agent:
~$ sudo yum install -y zabbix-agent
Disponemos ahora del servicio zabbix-agent.service, que no está iniciado ni activado, ya que debemos configurarlo para que acepte conexiones desde el servidor Zabbix. Para ello editaremos su archivo de configuración:
~$ sudo nano /etc/zabbix/zabbix_agentd.conf
Buscaremos la directiva Server:
... Server=127.0.0.1 ...
Vemos que su configuración por defecto sólo permite conexiones locales, esa es la razón de que no sea necesario configurar el agente Zabbix local en el servidor Zabbix, así que debemos cambiarlo indicando la dirección del servidor Zabbix que monitorizará esta máquina Fedora 32 ó 31:
... Server=fedora31.local.lan ....
Puedes usar direcciones IP o nombres DNS siempre que la máquina remota sea capaz de resolverlos.
Hechos los cambios, guardamos el archivo e iniciamos por primera vez el servicio:
~$ sudo systemctl start zabbix-agent
Podemos comprobar el correcto funcionamiento de Zabbix Agent mediante el comando systemctl status zabbix-agent
:
Para que el agente Zabbix inicie automáticamente en cada arranque de Fedora 32 y 31, habilitamos el servicio:
~$ sudo systemctl enable zabbix-agent
Cómo configurar el firewall de Fedora 32 y 31 para el agente Zabbix
Por defecto el firewall de Fedora 32 y 31 suele estar activado, así que para que el agente Zabbix pueda recibir conexiones del servidor Zabbix será necesario añadir una excepción para el puerto 10050 TCP, puerto en el que Zabbix Agent espera conexiones:
~$ sudo firewall-cmd --permanent --add-service=zabbix-agent
Recargamos la configuración del firewall para aplicar la nueva regla:
~$ sudo firewall-cmd --reload
Añadir una máquina remota desde Zabbix Frontend
Una vez configuradas las máquinas remotas será necesario darlas de alta a través de Zabbix Frontend en nuestro servidor Zabbix en Fedora 31. Para ello visitaremos la sección «Configuration / Hosts» y actuaremos sobre el botón «Create host» en la parte superior de la página, de modo que se abrirá un formulario con varias secciones en forma de solapas:
En la solapa principal, «Host«, cumplimentaremos los siguientes datos:
- El nombre de la máquina.
- Opcionalmente, un nombre «visible» que sustituiría al nombre de la máquina en la interfaz web de Zabbix, si este no fuese muy descriptivo o no permitiera identificar fácilmente a la máquina.
- Al menos un grupo, que añadiremos con el botón «Select«.
- La forma de direccionar la máquina, a través de su dirección IP o nombre DNS.
- Una descripción a efectos administrativos.
Terminada esta sección pasaremos a la solapa «Templates«:
En este ejemplo, mediante el botón «Select» se nos ofrece una primera lista de grupos de plantillas, donde seleccionamos el grupo «Templates/Operating systems«, dentro del cual hemos elegido «Template OS Linux by Zabbix agent«. Terminada la selección, aunque hay más secciones (en cualquier momento podemos editar la configuración de la máquina y realizar más ajustes), ahora sí podemos enviar el formulario mediante el botón «Add«.
Regresaremos a la sección «Configuration / Hosts» donde en la mitad inferior de la página encontraremos la lista de sistemas monitorizados, entre ellos el que acabamos de añadir:
Igualmente si visitamos la sección «Monitoring / Hosts» encontraremos la lista de máquinas monitorizadas y su estado:
Actuando sobre el nombre de la nueva máquina accedemos al menú contextual que nos ofrece distintas opciones, como «Graphs«, que nos lleva a la página de gráficos de estado de los servicios monitorizados gracias a la plantilla elegida:
¡Así de fácil!
Conclusión
Ahora que sabes cómo instalar Zabbix 5 en Fedora 32 y 31 ya puedes monitorizar fácilmente distintos sistemas en red gracias a Zabbix Agent y Zabbix Frontend de forma visual como pocas aplicaciones pueden hacer.
Si tienes dudas, preguntas, sugerencias, notificaciones de error, etc. lo mejor sería dejar un comentario.
¡Apoya comoinstalar.me!
¿Ya has empezado a monitorizar sistemas gracias a esta guía de instalación de Zabbix en Fedora 32 y 31? En ese caso, si quieres agradecérnoslo ayudando al mantenimiento de este sitio y la creación de más guías y tutoriales puedes hacerlo dejando tan sólo 1 $ de propina en PayPal:
O, si te sientes especialmente agradecido, invitándonos a un café:
¡Gracias!