Cómo instalar y configurar Zabbix en Ubuntu 18.04 LTS

1 mar 2021 10 min di lettura
Cómo instalar y configurar Zabbix en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

Zabbix es una de las herramientas de software de monitoreo de código abierto más populares. Zabbix recopila métricas de dispositivos, sistemas y aplicaciones de red y garantiza que estén en funcionamiento. En caso de problemas, Zabbix enviará alertas de notificación a través de varios métodos.

Zabbix se puede implementar para monitoreo basado en agentes y sin agentes. Zabbix Agent ocupa poco espacio y puede ejecutarse en varias plataformas, incluidas Linux, UNIX, macOS y Windows.

Este tutorial describe cómo instalar y configurar la última versión de Zabbix 4.4 en un servidor Ubuntu 18.04 usando MySQL como el backend de la base de datos. También le mostraremos cómo instalar Zabbix-agent en un host remoto y cómo agregar el host al servidor Zabbix.

Prerrequisitos

Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.

Si desea instalar Zabbix en un servidor remoto, continúe leyendo, de lo contrario omita el primer párrafo "Conectando al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Crea la base de datos MySQL

Zabbix es compatible con MySQL /MariaDB y PostgreSQL. En este tutorial, usaremos MySQL como el backend de la base de datos.

Si aún no ha instalado MySQL en su servidor Ubuntu, puede instalarlo siguiendo estas instrucciones.

Inicie sesión en el shell de MySQL escribiendo el siguiente comando:

sudo mysql

O si siguió nuestra guía y estableció una contraseña para el usuario root, use el siguiente comando:

sudo mysql -u root -p

Desde dentro del shell de MySQL, ejecute la siguiente declaración SQL para crear una nueva base de datos:

CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;

A continuación, cree una cuenta de usuario de MySQL y otorgue acceso a la base de datos:

GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';

Asegúrese de cambiar change-with-strong-password por una contraseña segura.

Una vez hecho esto, salga de la consola mysql escribiendo:

EXIT;

Instalar Zabbix en Ubuntu

En el momento de escribir este artículo, la última versión estable de Zabbix es la versión 4.4. Los paquetes Zabbix disponibles en los repositorios de Ubuntu a menudo están desactualizados, por lo que usaremos el repositorio oficial de Zabbix.

Descargue el último .deb con el siguiente comando wget:

wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb

Una vez que se descargue el archivo, agregue el repositorio Zabbix a su sistema Ubuntu 18.04 escribiendo:

sudo apt install./zabbix-release_4.4-1+bionic_all.deb

Actualice el índice del paquete e instale el servidor Zabbix, la interfaz web con soporte de base de datos MySQL y el agente Zabbix:

sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent

zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent

El comando anterior también instalará Apache, PHP y cualquier módulo PHP requerido.

Configurar PHP para la interfaz de Zabbix

Durante la instalación, se crea un archivo de configuración de Apache que contiene todas las configuraciones de Apache y PHP necesarias. Solo necesita hacer un pequeño cambio y establecer la zona horaria adecuada.

Abra el archivo de configuración, elimine el comentario de la línea de zona horaria php_value date.timezone... y cámbielo a su zona horaria. Puede encontrar la lista completa de zonas horarias compatibles con PHP aquí.

sudo nano /etc/apache2/conf-enabled/zabbix.conf
...
 <IfModule mod_php7.c>
 php_value max_execution_time 300
 php_value memory_limit 128M
 php_value post_max_size 16M
 php_value upload_max_filesize 2M
 php_value max_input_time 300
 php_value max_input_vars 10000
 php_value always_populate_raw_post_data -1
 php_value date.timezone Europe/Rige
 </IfModule>...

Una vez hecho esto, guarde el archivo de configuración y reinicie el servicio Apache para que los cambios surtan efecto:

sudo systemctl restart apache2

Configurar la base de datos MySQL para Zabbix Server

El paquete de instalación de Zabbix proporciona un archivo de volcado que incluye un esquema inicial y datos para el servidor Zabbix con MySQL.

Importe el archivo de volcado de MySQL ejecutando:

zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Cuando se le solicite, ingrese la contraseña de usuario que creó anteriormente. Si tiene éxito, no se proporciona ningún resultado.

A continuación, debemos cambiar la configuración de Zabbix y establecer la contraseña de la base de datos.

Abra el archivo de configuración en su editor:

sudo nano /etc/zabbix/zabbix_server.conf

Busque la siguiente sección, descomente la DBPassword y agregue la contraseña de la base de datos.

...
 ### Option: DBPassword
 # Database password.
 # Comment this line if no password is used.
 #
 # Mandatory: no
 # Default:
 DBPassword=change-with-strong-password...

Guarde y cierre el archivo.

Reinicie el servidor Zabbix y los servicios del agente y déjelos comenzar al inicio del sistema:

sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

Para verificar si el servidor Zabbix se está ejecutando, escriba:

sudo systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
 Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
 Active: active (running) since Thu 2020-02-13 23:51:02 CET; 13min ago
 Process: 22303 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)
 Process: 22307 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 22319 (zabbix_server)
 Tasks: 34 (limit: 2298)
 CGroup: /system.slice/zabbix-server.service

Instalar y configurar Zabbix Frontend

La interfaz web de Zabbix está escrita en PHP y nos permite configurar el servidor, ver los datos recopilados y agregar hosts que queremos monitorear.

Antes de que pueda comenzar a utilizar la interfaz web, debe instalarla.

Abra su navegador favorito y escriba el nombre de dominio o la dirección IP pública de su servidor seguido de /zabbix:

http(s)://DOMINIO_O_IP/zabbix

En la primera pantalla, se le presentará un mensaje de bienvenida. Haga clic en Next step para continuar.

A continuación, verá la página de información que enumera todos los requisitos previos de PHP necesarios para ejecutar Zabbix Frontend. Todos los valores de esta tabla deberían estar OK, desplácese hacia abajo para asegurarse de que todo esté configurado correctamente. Una vez verificado, haga clic en Next step para continuar.

En la siguiente pantalla, el asistente de configuración le pedirá que ingrese los detalles de su conexión a la base de datos. Ingrese el usuario creado anteriormente y los detalles de la base de datos MySQL.

La introducción de un nombre para el servidor es opcional. Introdúzcalo si tiene más de un servidor de monitoreo Zabbix. Si se proporciona, aparecerá en la barra de menú y en los títulos de las páginas.

Haga clic para continuar Next step.

En la siguiente pantalla, se le mostrará el resumen de la preinstalación.

Haga clic en Next step y una vez que se complete la instalación, será redirigido a una página que le informa que se ha instalado la interfaz web de Zabbix. Para acceder a su página de inicio de sesión de Zabbix, haga clic en el botón Finish

El usuario predeterminado es " Admin " y la contraseña es " zabbix ". Ingrese su nombre de usuario y contraseña y haga clic Log in botón Iniciar sesión.

Una vez que haya iniciado sesión, será redirigido al panel de administración de Zabbix.

Desde aquí puede comenzar a personalizar la instalación de Zabbix y agregar nuevos hosts. El primer paso debería ser cambiar la contraseña actual. Para hacer esto, vaya a la página de perfil de usuario haciendo clic en el icono de perfil en la barra de navegación superior.

Agregue un nuevo host al servidor Zabbix

El procedimiento para agregar un nuevo host de monitoreo al servidor Zabbix incluye dos pasos.

Primero, debe instalar Zabbix-Agent en el host remoto y luego agregar el host al servidor Zabbix a través de la interfaz web.

Instalar Zabbix-Agent

Este tutorial asume que la máquina host también usa Ubuntu 18.04.

Al igual que durante la instalación del servidor Zabbix, ejecute los siguientes comandos para habilitar el repositorio Zabbix:

wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
sudo apt install./zabbix-release_4.4-1+bionic_all.deb

Actualice el índice del paquete e instale el paquete del agente Zabbix:

sudo apt update
sudo apt install zabbix-agent

Zabbix admite dos métodos para cifrar las comunicaciones servidor-cliente, clave precompartida (PSK) y cifrado basado en certificados. En este tutorial, usaremos el método de claves precompartidas (PSK) para asegurar la conexión entre el servidor y el agente.

Utilice el siguiente comando para generar una clave previamente compartida y guardarla en un archivo:

openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk

La clave PSK se verá así:

a6372653a13156a055fe5e5fee6de79f92949190a5fd2c37f5e9988bbce40eee

Abra el archivo de configuración del agente Zabbix:

sudo nano /etc/zabbix/zabbix_agentd.conf

Busque el Server=127.0.0.1 y cámbielo ingresando la dirección IP del servidor Zabbix:

...
 ### Option: Server
 # List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
 # Incoming connections will be accepted only from the hosts listed here.
 # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
 # and '::/0' will allow any IPv4 or IPv6 address.
 # '0.0.0.0/0' can be used to allow any IPv4 address.
 # Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
 #
 # Mandatory: yes, if StartAgents is not explicitly set to 0
 # Default:
 # Server=

 Server=127.0.0.1...

Luego, busque la TSLConnect, descomente y psk en psk:

...
 ### Option: TLSConnect
 # How the agent should connect to server or proxy. Used for active checks.
 # Only one value can be specified:
 # unencrypted - connect without encryption
 # psk - connect using TLS and a pre-shared key
 # cert - connect using TLS and a certificate
 #
 # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
 # Default:
 TLSConnect=psk...

Busque la TLSAccept, descomente y psk en psk:

...
 ### Option: TLSAccept
 # What incoming connections to accept.
 # Multiple values can be specified, separated by comma:
 # unencrypted - accept connections without encryption
 # psk - accept connections secured with TLS and a pre-shared key
 # cert - accept connections secured with TLS and a certificate
 #
 # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
 # Default:
 TLSAccept=psk...

A continuación, busque la TLSPSKIdentity, descomente y PSK 001. El valor debe ser una cadena única:

...
 ### Option: TLSPSKIdentity
 # Unique, case sensitive string used to identify the pre-shared key.
 #
 # Mandatory: no
 # Default:
 TLSPSKIdentity=PSK 001...

Finalmente, ubique la TLSPSKFile, descomente y configúrela para que apunte a la clave previamente compartida creada anteriormente:

...
 ### Option: TLSPSKFile
 # Full pathname of a file containing the pre-shared key.
 #
 # Mandatory: no
 # Default:
 TLSPSKFile=/etc/zabbix/zabbix_agentd.psk...

Una vez hecho esto, guarde y cierre el archivo.

Inicie el servicio del agente Zabbix y configúrelo para que se inicie al inicio con:

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

A continuación, deberá agregar una regla de firewall que habilite el tráfico desde su servidor Zabbix en el puerto TCP 10050.

Suponiendo que está utilizando UFW para administrar su firewall y desea permitir el acceso desde la dirección IP 192.168.222.222, ejecutará el siguiente comando:

sudo ufw allow proto tcp from 192.168.222.222 to any port 10050

Configurar un nuevo anfitrión

Ahora que el agente que desea monitorear está instalado y configurado en el host remoto, el siguiente paso es registrar el host en el servidor Zabbix.

Inicie sesión en la interfaz web del servidor Zabbix como usuario administrador:

http(s)://DOMINIO_O_IP/zabbix

Una vez dentro, en la barra de navegación superior haga clic en Configuration, luego Hosts

Luego, haga clic en el Create host en la esquina superior derecha de la pantalla y se abrirá la página de configuración del host.

Ingrese el nombre de host y la dirección IP de la computadora host remota que desea monitorear. Agregue el anfitrión a uno o más grupos seleccionando el grupo de la lista, o ingrese un nombre de grupo inexistente para crear uno nuevo. El Linux Servers es una buena opción.

Una vez hecho esto, haga clic en la pestaña Templates Por ejemplo, seleccione Template OS Linux by Zabbix agent.

Luego, haga clic en la pestaña Encryption Seleccione PSK tanto para las Connections to host como para las Connections from host.

Establezca el valor de PSK identity PSK 001, el valor de la TLSPSKIdentity configurada en el paso anterior.

En el PSK value agregue la clave generada para el agente Zabbix, la que está almacenada en el archivo /etc/zabbix/zabbix_agentd.psk

Finalmente, para agregar el host, haga clic en el botón Add

La configuración está terminada.

Si experimenta errores de conexión entre el servidor y el host, verifique cuidadosamente las configuraciones y reinicie los servicios en el servidor y el host Zabbix.

Reinicie los servicios en el servidor Zabbix:

sudo systemctl restart zabbix-server zabbix-agent apache2

Reinicie el servicio del agente Zabbix en el host:

sudo systemctl restart zabbix-agent

Conclusión

Ha instalado con éxito la última versión de Zabbix en su sistema Ubuntu y ha aprendido a agregar nuevos hosts que desea monitorear.

Ahora debería consultar la documentación de Zabbix y aprender más sobre cómo configurar y usar Zabbix.

Si tiene algún problema o tiene comentarios, deje un comentario a continuación.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.