Introducción
Zabbix es una de las mejores herramientas de monitoreo diseñada para monitorear la disponibilidad del servidor, los dispositivos de red, el rendimiento del servidor y otros componentes críticos de la red. Es una aplicación confiable de código abierto con un backend escrito en C y Java y un frontend desarrollado en PHP.
Este tutorial lo ayudará a instalar Zabbix en su servidor Ubuntu 18.04 para realizar un seguimiento del estado de su sistema, aplicaciones y dispositivos de red.
¿Listo? ¡Vamos a empezar!
antes de que empieces
Para instalar con éxito el servidor Zabbix en Ubuntu 18.04, primero se deben instalar las siguientes dependencias:
- Un servidor de base de datos (hosting MariaDB o MySQL)
- PHP
- Servidor web Apache
Paso 1: instalar Apache
Primero, actualice su servidor Ubuntu 18.04:
$ sudo apt update $ sudo apt upgrade
A continuación, ejecute el siguiente comando para instalar Apache2
$ sudo apt install apache2
Una vez que Apache2 esté instalado, ejecute el siguiente comando para abrir el archivo /etc/apache2/conf-enabled/security.conf y ajuste la configuración para configurar la seguridad básica.
$ sudo nano /etc/apache2/conf-enabled/security.conf
Encuentra la linea Sistema operativo ServerTokens y cámbialo a ServerTokens Prod. La directiva ServerTokens determina qué se devuelve en respuesta para el servidor HTTP y solo tiene seis opciones válidas: sistema operativo, Completo, Menos, Mínimo, producto, y cabeza.
A continuación, ejecute el siguiente comando para abrir el archivo /etc/apache2/apache2.conf:
$ sudo nano /etc/apache2/apache2.conf
Encontrar Nombre del servidor y colóquelo en Zabbix.example.com y el ServerAdmin a admin@example.com.
Nota: Recuerde reemplazar example.com con su nombre de dominio completo (FQDN).
Cuando todo esté hecho, guarde los cambios y salga del editor nano. Para que estos cambios surtan efecto, reinicie su servicio web Apache:
$ sudo systemctl restart apache2
A continuación, ejecute el siguiente comando para habilitar el firewall y luego permitir HTTP y HTTP:
$ sudo ufw enable $ sudo ufw allow http $ sudo ufw allow https
Paso 2: instale PHP y los módulos necesarios
Después de instalar Apache, debe instalar PHP y los módulos necesarios para que el servicio Apache pueda usar scripts PHP. Emita el siguiente comando:
$ sudo apt-get -y install php php-pear php-cgi php-common libapache2-mod-php php-mbstring php-net-socket php-gd php-xml-util php-mysql php-gettext php-bcmath
Puede ejecutar el siguiente comando para confirmar la versión de PHP:
$ sudo php -v
Esto le dará un resultado similar al siguiente:
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS ) Copyright (c) 1997-2018ThePHPGroup ZendEnginev3.2.0, Copyright (c) 1998-2018ZendTechnologies withZendOPcachev7.2.5-0ubuntu0.18.04.1, Copyright (c) 1999-2018, byZendTechnologies
A continuación, ejecute el siguiente comando para habilitar conf php7.2-cgi:
$ sudo a2enconf php7.2-cgi
Se le pedirá que emita el siguiente comando para activar la nueva configuración:
$ sudo systemctl reload apache2
Después de recargar Apache2, abra /etc/php/7.2/apache2/php.ini para configurar su zona horaria correcta:
$ sudo /etc/php/7.2/apache2/php.ini
Encuentra la linea Zona de fecha y hora y configúrelo en su zona horaria. Las zonas horarias se establecen por ubicación y es fácil elegir una. Por ejemplo,
Date.timezone = "America/Toronto"
Luego, ejecute el siguiente comando para reiniciar Apache:
$ sudo systemctl restart apache2
Paso 3: configuración de MariaDB
En este tutorial usaremos MariaDB como nuestro servidor de base de datos. Siga los pasos a continuación para crear la base de datos para un usuario de Zabbix.
Ejecute el siguiente comando para iniciar sesión en la línea de comandos de MariaDB:
$ sudo mysql -u root -p
Ingrese sus credenciales de root y haga clic en INGRESAR para acceder al shell MariaDB. Una vez que esté en esa línea de comando, ingrese el siguiente comando para crear la base de datos de usuarios de Zabbix:
MariaDB [(none)]>
createdatabase zabbix;
Luego ejecute el siguiente comando para otorgarle al nuevo usuario todos los permisos:
MariaDB [(none)]>
grant all privilegeson zabbix.* to zabbix@'localhost'identifiedby'password'
Nota: Recuerda reemplazar el valor ‘Contraseña’ con su contraseña preferida.
A continuación, vacíe los permisos:
MariaDB [(none)]>
flushprivileges;
Luego ejecute el siguiente comando para salir de la línea de comandos de la base de datos:
MariaDB [(none)]>
exit
Paso 4: instalación del servidor Zabbix
Para instalar el servidor Zabbix, primero ejecute el siguiente comando para agregar el repositorio Zabbix:
$ sudo wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
Luego descargue los archivos de instalación de Zabbix
$ sudo dpkg -i zabbix-release_3.4-1+bionic_all.deb
Ahora actualice su sistema e instale los módulos del servidor Zabbix:
$ sudo apt update $ sudo apt install zabbix-agent zabbix-server-mysql php-mysql zabbix-frontend-php
Ahora puede ejecutar el siguiente comando para confirmar el estado del servidor Zabbix:
$ sudo systemctl status zabbix-server
Esto le dará el siguiente resultado:
● zabbix-server.service - Zabbix Server Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled) Active::active (running) since Wed 2018-10-2410:21:15 UTC; 2h 44min ago Process:23567 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) ...
Paso 5: configurar el servidor Zabbix
Ahora abra el archivo /etc/zabbix/zabbix_server.conf:
$ sudo /etc/zabbix/zabbix_server.conf
Y asegúrese de que los siguientes valores estén configurados correctamente:
DBName=zabbix DBUser=zabbix DBPassword=password
Si todo está bien, ejecute el siguiente comando para reiniciar el servidor Zabbix:
$ sudo systemctl restart zabbix-server
A continuación, ejecute el siguiente comando:
$ sudo nano /usr/share/zabbix/include/classes/setup/CFrontendSetup.php
Encuentra la póliza always_populate_raw_post_data y configurarlo fuera. Además, busque las líneas:
publicfunctioncheckPhpAlwaysPopulateRawPostData() { $current = ini_get('always_populate_raw_post_data');
Justo después de la línea anterior, agregue el valor ‘$ current = -1’ para obtener el siguiente resultado:
publicfunctioncheckPhpAlwaysPopulateRawPostData() { $current = ini_get('always_populate_raw_post_data'); $current = -1;
Guarde los cambios y salga del editor nano.
Ejecute el siguiente comando para abrir el archivo /etc/php/7.2/apache2/php.ini:
$ sudo nano /etc/php/7.2/apache2/php.ini
Después de abrir el archivo, busque los requisitos de PHP y configúrelos de la siguiente manera:
max_execution_time = 300 max_input_time = 300 post_max_size = 16M
A continuación, abra el archivo /etc/zabbix/zabbix_agentd.conf y ajuste la configuración para que el agente Zabbix pueda controlar el servidor Zabbix.
$ sudo nano /etc/zabbix/zabbix_agentd.conf
Configure lo siguiente:
Hostname=zabbix.server.example.com
Reemplace example.com con su nombre de dominio válido.
Ahora inicie y active el servidor Zabbix:
$ sudo systemctl start zabbix-server $ sudo systemctl enable zabbix-server
Lo último que tienes que hacer es permitir los puertos 5000 y 5001
$ sudo ufw allow proto tcp fromany to any port 10050,10051
Conclusión
¡Eso es! Ha instalado Zabbix con éxito en su Ubuntu 18.04 VPS o servidor dedicado. Segunda parte este artículo le muestra cómo configurar los ajustes del servidor para su interfaz web Zabbix.