Cómo instalar Zabbix en Ubuntu 18.04

Zabbix está diseñado para monitorear el rendimiento del servidor, la disponibilidad de un servidor, dispositivos de red y otros componentes de red. Podemos realizar fácilmente un seguimiento del estado de las aplicaciones, los sistemas y los dispositivos de red con esto.

En este artículo, explicaré cómo instalar Zabbix 3.4, una herramienta de monitoreo de código abierto en nuestro último servidor Ubuntu 18.04 y le mostraré cómo agregar servidores remotos para monitorear.

El núcleo de Zabbix está integrado con Java y C, pero viene con una interfaz de interfaz fácil de usar construida en PHP que facilita el seguimiento y monitoreo de los sistemas.

Prerrequisitos

  • Un servidor Ubuntu 18.04 recién instalado con privilegios de usuario root.
  • Un servidor LAMP bien configurado.

Instalación del servidor LAMP

Antes de instalar el servidor Zabbix, necesitamos configurar correctamente un servidor LAMP. Primero, podemos instalar Apache y PHP junto con algunos de los módulos PHP requeridos usando este comando a continuación:

#apt update -y
#apt install apache2 libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-bcmath php7.2-mbstring -y

Una vez que todos los componentes están instalados, necesitamos instalar MariaDB. Zabbix usa MySQL, Oracle y PostgreSQL para almacenar sus datos. Aquí instalamos MariaDB para almacenar sus datos. La última versión de este software está disponible en nuestro repositorio predeterminado de Ubuntu 18.04. Por lo tanto, podemos simplemente ejecutar este comando para instalarlo.

#apt install mariadb-server -y

A continuación, podemos iniciar y habilitar todos los servicios para que se inicien en el momento del arranque:

#systemctl start apache2
#systemctl enable apache2
#systemctl start mysql
#systemctl enable mysql

Por lo tanto, hemos terminado con nuestro servidor LAMP. A continuación, podemos comenzar nuestra instalación de Zabbix.

Instalación y configuración del servidor Zabbix

Dependiendo de la plataforma y los requisitos de nuestro sistema operativo, debemos elegir / instalar el último repositorio compatible con Zabbix en nuestro servidor.

Paso 1: Descargue e instale Zabbix Repository con MySQL

Podemos descargar e instalar el último repositorio de Zabbix 3.4 para nuestro servidor Ubuntu 18.04 con los siguientes comandos:

# wget https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
# dpkg -i zabbix-release_3.4-1+bionic_all.deb
# apt update

Paso 2: instale el servidor Zabbix, la interfaz y el agente Zabbix

En segundo lugar, necesitamos instalar nuestro servidor Zabbix, Frontend y Zabbix Agent desde el repositorio de Zabbix que instalamos. Ejecute este comando para instalarlo de la siguiente manera:

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

Paso 3: Cree la base de datos inicial de Zabbix

Una vez instalados todos los componentes anteriores, podemos crear una base de datos para nuestro usuario de Zabbix:

~# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 41
Server version: 10.1.29-MariaDB-6 Ubuntu 18.04

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit

Ahora puede importar el esquema y los datos iniciales a nuestra base de datos Zabbix recién creada. Se le pedirá que ingrese su contraseña de usuario de base de datos durante el proceso de importación.

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

Paso 4: configurar la base de datos para el servidor Zabbix

En esta etapa, debe actualizar correctamente la contraseña de la base de datos en el archivo de configuración de Zabbix en /etc/zabbix/zabbix_server.conf como a continuación:

# grep -i DBpassword /etc/zabbix/zabbix_server.conf
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
### Option: DBPassword
DBPassword=password

Debe descomentar la opción de contraseña de DB y proporcionarle la contraseña de usuario de Zabbix DB exacta según sea necesario.

Paso 5: Configuración de PHP para la interfaz de Zabbix

Necesitamos configurar PHP y establecer la zona horaria adecuada para llevar a cabo la instalación de Zabbix Frontend sin problemas. En primer lugar, puede establecer la zona horaria adecuada en su archivo de configuración PHP ubicado en /etc/php/7.2/apache2/php.ini y modifíquelo de acuerdo con su zona horaria preferida. Lo he actualizado de la siguiente manera:

# grep -i timezone /etc/php/7.2/apache2/php.ini
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
date.timezone = Europe/Riga

A continuación, necesitamos actualizar el archivo de configuración de Zabbix en /etc/zabbix/apache.conf con la misma zona horaria que a continuación:

# grep timezone /etc/zabbix/apache.conf
php_value date.timezone Europe/Riga

Descomentaría php_value para la zona horaria en la sección Módulo PHP 7 en el archivo de configuración mencionado y actualizaría con la zona horaria exacta como antes.

Paso 6: Inicie los procesos del agente y el servidor Zabbix

Finalmente, podemos iniciar y habilitar todos los servicios necesarios de Zabbix y Apache2 con los siguientes comandos:

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

¡Eso es todo! Ahora nuestro servidor Zabbix estará en funcionamiento. Puede comprobar que funciona accediendo a la URL >>>https://Server-IP/zabbix

Instalación / configuración de Zabbix Frontend

Una vez que tenemos nuestro servidor Zabbix en funcionamiento, podemos acceder a nuestra interfaz Zabbix recién instalada con la URL >> https://Server-IP or hostname/zabbix. Esto abrirá el asistente de instalación de frontend. Para que sea completamente funcional, necesitamos completar el proceso de configuración para Zabbix Frontend.

Naveguemos por cada proceso de configuración uno por uno. Puedes hacer clic Next Step para comprobar los requisitos previos. En esta etapa, debemos asegurarnos de que nuestro servidor cumpla con todos los requisitos previos de software que se enumeran a continuación. Puede hacer clic en Siguiente paso para continuar una vez que haya terminado.

En esta etapa, asegúrese de actualizar los detalles para conectarse a nuestra base de datos Zabbix para garantizar una conexión DB adecuada y continuar con la configuración del servidor Zabbix, incluido el host y el puerto 10051 destinado para ello.

Finalmente, podemos verificar una vez más todas las configuraciones realizadas en las etapas anteriores en el Resumen de preinstalación y hacer clic en Next Step para completar la instalación.

Si todo va bien, recibirá el mensaje anterior que indica una instalación exitosa de la interfaz de Zabbix. Ahora puede hacer clic en la pestaña Finalizar para salir del asistente de instalación.

Acceder al panel de Zabbix

¡Viva! nuestro Zabbix Frontend está listo. Puede acceder a él utilizando las credenciales de inicio de sesión predeterminadas de Zabbix con nombre de usuario "Admin" y contraseña "zabbix" en la URL >>>https://Server-IP/zabbix.

Cambio de contraseña de administrador

Una vez que haya iniciado sesión con éxito en Zabbix Frontend Panel con la configuración predeterminada admin credenciales de inicio de sesión, es obligatorio modificar las credenciales de administrador por razones de seguridad. Puede modificar su contraseña de administrador navegando por la ruta: Administration > Users > Admin > Password > Change Password como en las capturas de pantalla a continuación:

Agregar un host de monitoreo

Dado que nuestro servidor Zabbix está listo para usar, podemos probar su funcionamiento agregando nuestro primer host objetivo de monitoreo, que es nuestro servidor Zabbix. Puede hacer esto navegando por la ruta: Configuration >> Hosts como en las capturas de pantalla.

Como puede ver, nuestro estado de host está configurado en estado deshabilitado de forma predeterminada. Necesitamos hacer clic en el botón deshabilitado para permitir que el agente Zabbix en este servidor monitoree el host. Como se ve en la captura de pantalla, el Status se convierte en enabled y el servidor ahora está siendo monitoreado.

Solo espere unos minutos para que nuestro servidor Zabbix tome los datos de monitoreo del servidor y actualice los gráficos. Ahora puede ver los gráficos de host navegando por la ruta: Monitoring > Screens > Server Name como en la instantánea.

Agregar un host remoto

En primer lugar, debemos instalar / habilitar Zabbix Agent en nuestro host remoto. El trabajo del agente Zabbix es recopilar datos como el uso de la CPU, la memoria, el disco y la interfaz de red de un dispositivo. El agente Zabbix puede realizar comprobaciones tanto pasivas (sondeo) como activas (captura). Estas verificaciones se pueden realizar a intervalos o en base a horarios específicos. Veamos cómo instalar / habilitar el agente Zabbix en un nodo Ubuntu 18.04.

Instalación de Zabbix Agent

Inicialmente, necesita SSH en nuestro nuevo servidor host y descargar el Repositorio Zabbix 3.4 para nuestra configuración de host Ubuntu 18.04 e instalar el Agente Zabbix desde allí.

#wget https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
#dpkg -i zabbix-release_3.4-1+bionic_all.deb
#apt install zabbix-agent

Configuración del agente Zabbix

Ahora, puede configurar nuestro agente Zabbix para iniciar las conexiones adecuadas con el servidor Zabbix. Usamos claves precompartidas (PSK) para asegurar la conexión entre el servidor y el agente. La configuración del agente Zabbix se encuentra en /etc/zabbix/zabbix_agentd.conf.

Paso 1: Generar la clave PSK y configurarla.

En primer lugar, necesitamos generar la clave PSK. Esto se puede obtener ejecutando el comando:

#sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

Puede guardar esta clave que se utilizará durante la configuración del Agente.

# cat /etc/zabbix/zabbix_agentd.psk
abb6a14eace79044b9f3bab0c6cd26d50b4cfb3dc6fe2ef815b96216073b333b

Paso 2: Agregar el servidor Zabbix a la configuración del agente.

Ahora tienes que abrir el archivo de configuración de Zabbix Agent  /etc/zabbix/zabbix_agentd.conf y configurarlo para establecer una conexión segura entre los servidores. Primero, debe editar el número de línea ’95’ y ‘136’ con la IP del servidor Zabbix como se muestra a continuación. Aquí 172.104.210.183 es ​​la IP de mi servidor Zabbix.

# sed -n '95 p' /etc/zabbix/zabbix_agentd.conf
Server=172.104.210.183

A continuación, necesitamos editar la línea 136 con la información del servidor Zabbix.

# sed -n '136 p' /etc/zabbix/zabbix_agentd.conf
ServerActive=172.104.210.183

Paso 3: configurar y habilitar la conexión segura de PSK

Para configurar una conexión segura entre los servidores, habilitamos la conexión TLS con soporte PSK. Necesitamos editar las siguientes líneas en la configuración del Agente Zabbix en consecuencia para que sea posible.

Modifique las siguientes líneas en /etc/zabbix/zabbix_agentd.conf desde:

# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
# TLSConnect=unencrypted
# TLSAccept=unencrypted
# TLSPSKIdentity=
# TLSPSKFile=

TO:

# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PKI 001
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk

Definiendo cada sección:

  • TLSConnect=psk  * // Esto habilita el soporte de claves precompartidas // *
  • TLSAccept=psk * // Esto permite aceptar todas las conexiones entrantes usando el soporte de PSK // *
  • TLSPSKIdentity=PKI 001 * // Se le da un nombre único para identificar su clave precompartida de Agente // *
  • TLSPSKFile=/etc/zabbix/zabbix_agentd.psk * // Esto ayuda al agente Zabbix a identificar su archivo PSK creado. // *

Paso 4: Inicie Zabbix Agent

Ahora puede guardar estos cambios e iniciar el agente Zabbix y configurarlo para que se inicie en el momento del arranque con estos comandos a continuación:

~# systemctl start zabbix-agent
# systemctl enable zabbix-agent
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent

Nuestro agente Zabbix ahora está listo para enviar datos al servidor Zabbix. Pero para usarlo, tenemos que vincular este Agente desde la consola web del servidor Zabbix.

Paso 5: Agregar nuestro nuevo host al servidor Zabbix

Hemos instalado / configurado con éxito Zabbix Agent en nuestro nuevo host. Ahora necesitamos registrar este nuevo nodo en nuestro servidor Zabbix a través de nuestra consola web. Puede iniciar sesión en la interfaz web de nuestro servidor Zabbix con la URL >>https://Zabbix_ServerIP/zabbix/ con las credenciales de inicio de sesión de administrador creadas. Ahora podemos navegar por el camino: Configuration > Hosts > Create Host

Esto abrirá la página de configuración del host, donde puede agregar el nombre del HOST y los detalles de IP del nuevo host. Además, puede elegir el grupo al que prefiere agregar este nuevo host. Puede crear un nuevo grupo según sus preferencias o puede agregarlo a los grupos preexistentes. Un anfitrión se puede incluir en varios grupos según nuestras preferencias. Aquí, estoy agregando nuestro nuevo nodo al predeterminado Linux Servers grupo.

Después de agregar nuestro host, podemos modificar su configuración seleccionando nuestro nodo agregado de la lista de Hosts. Elegí la plantilla predeterminada  Template OS Linux para mi nodo. Puede elegir cualquier plantilla que prefiera de las listas de Plantillas.

A continuación, debemos navegar a la pestaña Cifrado. Como hemos decidido, debemos elegir PSK tanto para las conexiones al host como para las conexiones desde el host. Entonces establece PSK identity a PSK 001, que es el valor de la TLSPSKIdentity configuración que configuramos en Zabbix Agent al principio. Luego, establezca el valor de PSK en la clave que generó para el agente Zabbix. Es el que está almacenado en el archivo. /etc/zabbix/zabbix_agentd.psk en la máquina del agente.

¡Eso es todo! Ahora verá su nuevo host con etiquetas verdes que indican que todo está funcionando bien y que la conexión está encriptada.

Para asegurarse de que todo funcione, incluso puede apagar su nuevo host y ver si Zabbix está alertando sobre el problema. En ese caso, informará un problema como se ve en la captura de pantalla.

De manera similar, puede agregar nuevos hosts a su servidor Zabbix instalando y configurando el Agente Zabbix allí y registrándolo en su servidor Zabbix. Espero que este artículo sea útil e informativo. Publique sus valiosas sugerencias y comentarios al respecto.