Zabbix es una herramienta de monitoreo gratuita y de código abierto que se utiliza para monitorear y rastrear la disponibilidad y el rendimiento de servidores, dispositivos de red y otros activos de TI que están en la red.
Zabbix utiliza bases de datos como MySQL, MariaDB, Oracle e IBM DB2 para almacenar sus datos. La interfaz web de Zabbix está escrita en PHP.
Algunas de sus características clave se enumeran a continuación:
- Supervise todo lo que está en la red, como servidores, aplicaciones, instancias de bases de datos y dispositivos de red.
- Zabbix proporciona una interfaz de administración basada en web.
- Monitoreo de la utilización de la CPU de un proceso en particular o un grupo de procesos (proc.cpu.util)
- Usando reglas de descubrimiento de bajo nivel, zabbix puede descubrir el hipervisor Vmware (ESXI) y las máquinas virtuales.
- Zabbix también es compatible con el monitoreo sin agentes
- Monitoreo de servidores de bases de datos como MySQL, PostgreSQL, Oracle y Microsoft SQL Server.
- Zabbix también puede realizar la tarea de planificación de capacidad para su entorno.
- Zabbix es de código abierto, por lo que no implica ningún costo y se puede implementar en entornos pequeños y grandes.
- Monitoreo de hardware usando Zabbix a través de credenciales de IPMI.
- Supervisión de dispositivos de red mediante agentes snmp.
En este artículo instalaremos la última versión de Zabbix 4.4 en la máquina CentOS 7. A continuación se muestran los detalles de mi servidor en el que instalaré Zabbix.
- Nombre de host = zabbix.linuxtechi.com
- Dirección IP = 192.168.1.7
- SO = CentOS 7
- SELinux = Cumplimiento
- Cortafuegos = En ejecución
Antes de comenzar la instalación, primero actualice su sistema usando el siguiente comando:
[[email protected] ~]# yum -y update [[email protected] ~]# reboot
Paso:1 Habilitar el repositorio de Zabbix
El paquete Zabbix no está disponible en el repositorio yum predeterminado, por lo que habilitaremos el repositorio zabbix usando el siguiente comando.
[[email protected] ~]# yum install https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
Paso: 2 Instale el servidor Zabbix, la base de datos, el servidor web y los paquetes PHP
Use el siguiente comando para instalar el paquete rpm del servidor Zabbix, servidor de base de datos (MariaDB), servidor web (http) y PHP.
[[email protected] ~]# yum -y install zabbix-server-mysql zabbix-web-mysql mysql mariadb-server httpd php
Paso: 3 Configure la base de datos de Zabbix.
Inicie el servicio de base de datos (MariaDB)
[[email protected] ~]# systemctl start mariadb [[email protected] ~]# systemctl enable mariadb ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service' [[email protected] ~]#
Usar ‘mysql_secure_installation‘ comando para establecer la contraseña raíz de la base de datos mariadb y configurar otros parámetros como ‘Eliminar usuarios anónimos‘, ‘No permitir el inicio de sesión raíz de forma remota‘ y ‘Eliminar la base de datos de prueba y acceder a ella‘
[[email protected] ~]# mysql_secure_installation
Ahora cree la base de datos Zabbix (zabbix_db) y usuario de la base de datos (usuario_zabbix) y otorgue todos los privilegios al usuario en la base de datos de Zabbix.
[[email protected] ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 10 Server version: 5.5.47-MariaDB MariaDB Server Copyright (c) 2000, 2015, 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_db; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all privileges on zabbix_db.* to [email protected] identified by <new_password>; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye [[email protected] ~]#
Ahora importe el esquema de la base de datos usando los siguientes comandos,
[[email protected] ~]# cd /usr/share/doc/zabbix-server-mysql-4.4.5/ [[email protected] zabbix-server-mysql-4.4.5]# gunzip create.sql.gz [[email protected] zabbix-server-mysql-4.4.5]# mysql -u root -p zabbix_db < create.sql Enter password: [[email protected] zabbix-server-mysql-4.4.5]#
Paso:4 Edite el archivo de configuración del servidor Zabbix
Edite el archivo de configuración del servidor Zabbix (/etc/zabbix/zabbix_server.conf) y especifique el nombre de la base de datos para zabbix , el nombre de usuario de la base de datos y su contraseña.
[[email protected] ~]# vi /etc/zabbix/zabbix_server.conf ................................... DBHost=localhost DBName=zabbix_db DBUser=zabbix_user DBPassword=XXXXXXX ...................................
Guardar y salir del archivo.
Configurar la configuración de PHP
Establezca los siguientes parámetros en el archivo de configuración de PHP (/etc/php.ini)
[[email protected] ~]# vi /etc/php.ini ................................ max_execution_time = 600 max_input_time = 600 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M date.timezone = Asia/Kolkata ...............................
Permitir los puertos en el Firewall
[[email protected] ~]# firewall-cmd --permanent --add-port=10050/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=10051/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp success [[email protected] ~]# firewall-cmd --reload success [[email protected] ~]#
Start the Zabbix and Web Server Service and make sure it is enable across the reboot.
[[email protected] ~]# systemctl start zabbix-server [[email protected] ~]# systemctl enable zabbix-server ln -s '/usr/lib/systemd/system/zabbix-server.service' '/etc/systemd/system/multi-user.target.wants/zabbix-server.service' [[email protected] ~]# [[email protected] ~]# systemctl start httpd [[email protected] ~]# systemctl enable httpd ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service' [[email protected] ~]#
Como Selinux se ejecuta en modo de aplicación, se espera que el servicio zabbix no se inicie correctamente, así que configure las siguientes reglas de selinux
[[email protected] ~]# yum install policycoreutils-python -y [[email protected] ~]# setsebool -P httpd_can_connect_zabbix on [[email protected] ~]# setsebool -P httpd_can_network_connect on [[email protected] ~]# setsebool -P zabbix_can_network on [[email protected] ~]# semodule -i zabbix-server.pp [[email protected] ~]# semodule -i zabbix_server_setrlimit.pp [[email protected] ~]# curl https://support.zabbix.com/secure/attachment/53320/zabbix_server_add.te > zabbix_server_add.te [[email protected] ~]# checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te checkmodule: loading policy configuration from zabbix_server_add.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 19) to zabbix_server_add.mod [[email protected] ~]# semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp [[email protected] ~]# semodule -i zabbix_server_add.pp
Después de configurar las reglas de selinux, reinicie el servicio zabbix
[[email protected] ~]# systemctl start zabbix-server
Paso: 5 Explore la interfaz web de Zabbix usando la siguiente URL
http://192.168.1.7/zabbix/ o http://zabbix.linuxtechi.com/zabbix
Reemplace la dirección IP o el nombre de host según su configuración.
Haga clic en ‘Siguiente paso’
En este paso, los requisitos previos de Zabbix se verifican y verifican
Haga clic en ‘Siguiente paso’
Especifique el nombre de la base de datos Zabbix, el usuario de la base de datos y su contraseña.
Haga clic en ‘Siguiente paso’ para continuar.
Especifique los detalles del servidor Zabbix y el número de puerto.
Haga clic en ‘Siguiente paso’ para continuar.
Resumen previo a la instalación de los servidores Zabbix, haga clic en ‘Siguiente paso’ para continuar.
Como podemos ver que la instalación de Zabbix se completa con éxito
Cuando hacemos clic en ‘finalizar’, nos redirigirá a la consola de la interfaz web de Zabbix.
Usar nombre de usuario como ‘administración‘ y contraseña ‘Zabbix‘
Tablero del servidor Zabbix:
Paso: 6 Agregue un nodo al servidor Zabbix para monitoreo.
Supongamos que quiero agregar mi máquina Ubuntu 16.04 al servidor Zabbix para monitorear. Inicie sesión en la máquina y realice las siguientes tareas.
[email protected]:~$ sudo apt-get install zabbix-agent
Edite el archivo del agente y especifique la dirección del servidor Zabbix.
[email protected]cloud:~$ sudo vi /etc/zabbix/zabbix_agentd.conf .................................. Server=192.168.1.7 ServerActive=192.168.1.7 Hostname=cloud.linuxtechi.com ..................................
Iniciar el servicio de agente de Zabbix
[email protected]:~$ sudo systemctl start zabbix-agent [email protected]:~$ sudo systemctl enable zabbix-agent Synchronizing state of zabbix-agent.service with SysV init with /lib/systemd/systemd-sysv-install... Executing /lib/systemd/systemd-sysv-install enable zabbix-agent [email protected]:~$
Ahora vaya a la interfaz web de Zabbix.
Haga clic en Configuración -> Hosts -> Crear Host
Especifique el nombre de host, la dirección IP y los nombres de grupo. En la pestaña Plantillas, busque las plantillas adecuadas y haga clic en Agregar.
Para ver los eventos de todos los hosts o de un host en particular, haga clic en Supervisión —> Activadores
Eso es todo, el monitoreo y la configuración básicos están completos. Explora el Zabbix y diviértete 🙂
Leer también: Cómo instalar Nagios Core 4 en CentOS 7 / RHEL 7