Zabbix tutorial · 23 min read · Oct 09, 2025
Cómo instalar y configurar el servidor y cliente Zabbix en Rocky Linux 9

Zabbix es una solución de monitoreo gratuita y de código abierto para infraestructura de TI como redes, servidores, máquinas virtuales y servicios en la nube. Su núcleo está escrito en C y Java, con el frontend escrito en PHP. El frontend proporciona una interfaz basada en la web para rastrear y monitorear métricas como la utilización de la red, la carga de la CPU, el espacio en disco, etc., y enviar notificaciones basadas en disparadores personalizados.
Zabbix opera como un modelo Cliente/Servidor. Los clientes o agentes disponibles para varios sistemas operativos contactan al servidor para enviar los datos. Para sistemas sin un agente, Zabbix proporciona la opción de utilizar protocolos de monitoreo genéricos como el Protocolo Simple de Administración de Red (SNMP) o la Interfaz de Administración de Plataforma Inteligente (IPMI).
En este tutorial, aprenderás cómo instalar el servidor Zabbix y el cliente en un servidor Rocky Linux 9.
Requisitos previos
- Dos servidores que ejecuten Rocky Linux 9. Uno funcionará como el servidor y el otro será el cliente que monitorearemos usando el servidor.
- Un usuario no root con privilegios sudo.
- Un Nombre de Dominio Totalmente Calificado (FQDN) como
zabbix.example.comapuntando a tu servidor. - Una cuenta SMTP con un servicio de correo electrónico como Amazon SES o Mailgun.
- Todo está actualizado.
$ sudo dnf update - Se requieren algunos paquetes esenciales para que el tutorial y el servidor Zabbix funcionen. Algunos de estos ya estarán en tu servidor.
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
Paso 1 - Configurar el Firewall
El primer paso es configurar el firewall. Rocky Linux utiliza Firewalld Firewall. Verifica el estado del firewall.
$ sudo firewall-cmd --state
running
El firewall trabaja con diferentes zonas, y la zona pública es la predeterminada que utilizaremos. Lista todos los servicios y puertos activos en el firewall.
$ sudo firewall-cmd --permanent --list-services
Debería mostrar la siguiente salida.
cockpit dhcpv6-client ssh
Los puertos 10050 y 10051 son requeridos por el servidor Zabbix para conectarse con el agente.
$ sudo firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
Permite los puertos HTTP y HTTPS.
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Vuelve a verificar el estado del firewall.
$ sudo firewall-cmd --permanent --list-all
Deberías ver una salida similar.
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: cockpit dhcpv6-client http https ssh
ports: 10051/tcp 10050/tcp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Recarga el firewall para habilitar los cambios.
$ sudo firewall-cmd --reload
Paso 2 - Configurar SELinux en modo permisivo
Configura SELinux para trabajar en modo permisivo. En este modo, SELinux no bloqueará ningún proceso, pero registrará todo en el archivo de registro de auditoría. Usaremos esto más tarde para configurar las reglas de SELinux.
$ sudo setenforce 0 && sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Verifica el estado de SELinux.
$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 33
Paso 3 - Configurar el repositorio de Nginx y PHP
El paquete Zabbix instalará automáticamente PHP y Nginx. Pero tomará versiones más antiguas de ellos. Por lo tanto, necesitamos asegurarnos de que el proceso instale la última versión disponible.
Crea y abre el archivo /etc/yum.repos.d/nginx.repo para editar.
$ sudo nano /etc/yum.repos.d/nginx.repo
Pega el siguiente código en él.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Una vez que hayas terminado, guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Habilita el repositorio principal de Nginx.
$ sudo dnf config-manager --enable nginx-mainline
A continuación, necesitamos configurar el repositorio de PHP.
El primer paso es obtener el repositorio Epel.
$ sudo dnf install epel-release -y
A continuación, instala el repositorio Remi.
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Verifica los flujos de PHP disponibles.
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
php remi-8.3 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
La versión predeterminada es 8.1. En el momento de escribir este tutorial, Zabbix es compatible con PHP 8.2. Por lo tanto, habilita el repositorio PHP 8.2 de Remi. La próxima versión de Zabbix admitirá PHP 8.3, así que puedes habilitar eso si tu versión de Zabbix es 6.0.26 o superior.
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.2
Ahora, podemos proceder a instalar Zabbix.
Paso 4 - Instalar el servidor Zabbix
Los paquetes de Zabbix se proporcionan por defecto en el repositorio EPEL. Antes de proceder con nuestra instalación, necesitamos deshabilitarlos. Abre el archivo /etc/yum.repos.d/epel.repo para editar y agrega la siguiente línea bajo la sección [epel].
[epel]
...
excludepkgs=zabbix*
Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
La última versión de Zabbix es 6.4.x, pero nos quedaremos usando la versión LTS (Soporte a Largo Plazo) que es mucho más estable para un entorno de producción.
Instala el repositorio de Zabbix.
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
Elimina toda la caché de RPM.
$ sudo dnf clean all
Instala el servidor Zabbix, frontend y agente. Usaremos el servidor PostgreSQL para nuestro propósito y, por lo tanto, necesitamos el paquete zabbix-web-pgsql. Si estás usando MySQL/MariaDB/Percona, entonces necesitarás instalar el paquete zabbix-web-mysql.
$ sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
Paso 5 - Instalar y configurar PostgreSQL
Zabbi funciona con PostgreSQL 13 y superior. Rocky Linux 9 se envía con PostgreSQL 13 por defecto. Sin embargo, usaremos PostgreSQL 16 para nuestro tutorial.
Instala el archivo RPM del repositorio de PostgreSQL.
$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Deshabilita el módulo de PostgreSQL incorporado.
$ sudo dnf -qy module disable postgresql
Ahora, puedes instalar PostgreSQL usando el siguiente comando.
$ sudo dnf install -y postgresql16-server postgresql16-contrib
Inicializa la base de datos.
$ sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
Habilita el servicio de PostgreSQL.
$ sudo systemctl enable postgresql-16
Inicia el servicio de PostgreSQL.
$ sudo systemctl start postgresql-16
Verifica el estado del servicio de PostgreSQL.
$ sudo systemctl status postgresql-16
? postgresql-16.service - PostgreSQL 16 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-16.service; enabled; preset: disabled)
Active: active (running) since Thu 2024-01-18 14:54:46 UTC; 10s ago
Docs: https://www.postgresql.org/docs/16/static/
Process: 3407 ExecStartPre=/usr/pgsql-16/bin/postgresql-16-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 3412 (postgres)
Tasks: 7 (limit: 24694)
Memory: 17.4M
CPU: 117ms
CGroup: /system.slice/postgresql-16.service
??3412 /usr/pgsql-16/bin/postgres -D /var/lib/pgsql/16/data/
??3413 "postgres: logger "
??3414 "postgres: checkpointer "
??3415 "postgres: background writer "
??3417 "postgres: walwriter "
??3418 "postgres: autovacuum launcher "
??3419 "postgres: logical replication launcher "
Crea el usuario de base de datos Zabbix.
$ sudo -u postgres createuser --pwprompt zabbix
Se te pedirá la contraseña.
Enter password for new role:
Enter it again:
Crea la base de datos Zabbix.
$ sudo -u postgres createdb -O zabbix zabbix
Importa el esquema inicial y los datos de la base de datos. Nuevamente se te pedirá tu contraseña.
$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Este proceso puede tardar un par de minutos en finalizar.
Abre el archivo /etc/zabbix/zabbix_server.conf para editar.
$ sudo nano /etc/zabbix/zabbix_server.conf
Encuentra la variable DBPassword, descoméntala eliminando el hash (#) frente a ella y establece su valor en la contraseña elegida en el paso anterior.
DBPassword=psqlpassword
Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Inicia y habilita los servicios del servidor y agente Zabbix.
$ sudo systemctl enable zabbix-server zabbix-agent --now
Paso 6 - Configurar PHP
Zabbix instala archivos de configuración de PHP y Nginx que utilizaremos. Sin embargo, necesitamos hacer algunas ediciones antes de poder usarlos.
Primero, necesitamos abrir /etc/php-fpm.d/zabbix.conf para editar.
$ sudo nano /etc/php-fpm.d/zabbix.conf
Cambia los valores de user = apache, y group = apache a nginx como se muestra a continuación.
user = nginx
group = nginx
Esto se debe a que, dado que estamos usando Nginx de su repositorio oficial, se ejecuta bajo el usuario nginx y no apache, que es lo que la copia de distribución de Nginx ejecuta.
También puedes editar cualquier otro valor relacionado con PHP o agregar cualquier definición personalizada aquí. Una vez terminado, guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Inicia y habilita el servicio PHP-FPM.
$ sudo systemctl enable php-fpm --now
Paso 7 - Instalar SSL
Necesitamos instalar Certbot para generar el certificado SSL. Usaremos el instalador de paquetes Snapd para eso. Dado que Rocky Linux no se envía con él, instala el instalador Snapd. Requiere el repositorio EPEL (Paquetes Adicionales para Linux Empresarial) para funcionar. Pero como ya lo instalamos en el paso 3, podemos avanzar directamente.
Instala Snapd.
$ sudo dnf install -y snapd
Habilita e inicia el servicio Snap.
$ sudo systemctl enable snapd --now
Instala el paquete central de Snap y asegúrate de que tu versión de Snapd esté actualizada.
$ sudo snap install core && sudo snap refresh core
Crea los enlaces necesarios para que Snapd funcione.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Instala Certbot.
$ sudo snap install --classic certbot
Usa el siguiente comando para asegurarte de que el comando Certbot se pueda ejecutar creando un enlace simbólico al directorio /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifica si Certbot está funcionando correctamente.
$ certbot --version
certbot 2.8.0
Ejecuta el siguiente comando para generar un certificado SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d zabbix.example.com
El comando anterior descargará un certificado en el directorio /etc/letsencrypt/live/zabbix.example.com en tu servidor.
Genera un certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Verifica el servicio programador de renovación de Certbot.
$ sudo systemctl list-timers
Encontrarás snap.certbot.renew.service como uno de los servicios programados para ejecutarse.
NEXT LEFT LAST PASSED UNIT ACTIVATES -------------------------------------------------------------------------------------------------------------------------------------
Sat 2024-01-20 10:04:02 UTC 1min 32s left Sat 2024-01-20 08:52:11 UTC 1h 10min ago dnf-makecache.timer dnf-makecache.service
Sun 2024-01-21 00:00:00 UTC 13h left Sat 2024-01-20 00:00:10 UTC 10h ago logrotate.timer logrotate.service
Sat 2024-01-20 21:13:00 UTC 11h left Sat 2024-01-20 08:19:11 UTC 1h 43min ago snap.certbot.renew.timer snap.certbot.renew.service
Haz una prueba del proceso para verificar si la renovación de SSL está funcionando bien.
$ sudo certbot renew --dry-run
Si no ves errores, estás listo. Tu certificado se renovará automáticamente.
Paso 8 - Configurar Nginx
Zabbix instala un archivo de configuración Nginx predeterminado. Necesitamos editarlo para agregar el código para habilitar los certificados SSL. También necesitamos cambiar el puerto listen y agregar código para redirigir enlaces HTTP a HTTPS.
Abre el archivo /etc/nginx/conf.d/zabbix.conf para editar.
$ sudo nano /etc/nginx/conf.d/zabbix.conf
Edita el código para que el archivo se vea como el siguiente.
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
root /usr/share/zabbix;
index index.php;
access_log /var/log/nginx/zabbix.access.log;
error_log /var/log/nginx/zabbix.error.log;
ssl_certificate /etc/letsencrypt/live/zabbix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zabbix.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/zabbix.example.com/chain.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location = /favicon.ico {
log_not_found off;
}
location / {
try_files $uri $uri/ =404;
}
location /assets {
access_log off;
expires 10d;
}
location ~ \.ht {
deny all;
}
location ~ /(api/|conf[^\.]|include|locale) {
deny all;
return 404;
}
location /vendor {
deny all;
return 404;
}
location ~ [^/\.php(/|$) {
fastcgi_pass unix:/run/php-fpm/zabbix.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /usr/share/zabbix;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
# enforce HTTPS
server {
listen 80;
listen [::]:80;
server_name zabbix.example.com;
return 301 https://$host$request_uri;
}
Una vez terminado, guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Abre el archivo /etc/nginx/nginx.conf para editar.
$ sudo nano /etc/nginx/nginx.conf
Agrega la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Verifica tu configuración de Nginx.
$ sudo nginx -t
Inicia y habilita el servicio de Nginx.
$ sudo systemctl enable nginx --now
Paso 9 - Acceder al frontend de Zabbix
Antes de instalar el frontend de Zabbix, establece el permiso en el directorio /etc/zabbix/web para que Nginx pueda acceder a él.
$ sudo chown -R nginx:nginx /etc/zabbix/web
Abre la URL https://zabbix.example.com en tu navegador y obtendrás la siguiente pantalla.

Haz clic en el botón Next step para finalizar la instalación de Zabbix. La siguiente página verifica los requisitos del sistema y si todos están satisfechos.

Si no hay ningún problema, haz clic en el botón Next step para continuar. A continuación, se te pedirá que ingreses tus credenciales de base de datos. Desmarca la opción Database TLS encryption ya que no la hemos configurado.

Presiona el botón Next step para continuar. Ingresa el nombre de tu servidor Zabbix. Sin embargo, es opcional, pero si se configura, se mostrará en la barra de menú y en los títulos de las páginas.

Presiona el botón Next step para continuar. Se te pedirá que confirmes todas las configuraciones.

Si todo está bien, presiona el botón Next step para continuar. Deberías ver el mensaje que te informa que la instalación fue exitosa.

Haz clic en el botón Finish para completar el proceso. Serás llevado a la página de inicio de sesión.

El nombre de usuario predeterminado es Admin y la contraseña es zabbix. Ingresa la información de inicio de sesión y haz clic en el botón Sign in para acceder al panel de Zabbix.

Paso 10 - Configurar SELinux
Habilita el demonio HTTP para conectarse a Zabbix.
$ sudo setsebool -P httpd_can_connect_zabbix 1
Permite que Zabbix se conecte a todos los puertos TCP.
$ sudo setsebool -P zabbix_can_network on
Habilita el daemons_enable_cluster_mode para evitar errores del administrador de HA.
$ sudo setsebool -P daemons_enable_cluster_mode on
Crea un paquete de política SELinux personalizado utilizando el registro de auditoría.
$ sudo grep "denied.*zabbix" /var/log/audit/audit.log | audit2allow -M zabbix_policy
****************** IMPORTANTE *********************
Para hacer que este paquete de política esté activo, ejecuta:
semodule -i zabbix_policy.pp
Instala el paquete de política SELinux personalizado creado.
$ sudo semodule -i zabbix_policy.pp
Ejecuta el comando para verificar errores de base de datos.
$ sudo sealert -a /var/log/audit/audit.log
Sugerirá muchas reglas para aplicar.
Ejecuta los siguientes comandos.
$ sudo ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
$ sudo semodule -X 300 -i my-phpfpm.pp
$ sudo ausearch -c 'zabbix_agentd' --raw | audit2allow -M my-zabbixagentd
$ sudo semodule -X 300 -i my-zabbixagentd.pp
Aplica la política para permitir que Nginx dé acceso a PostgreSQL.
$ sudo setsebool -P httpd_can_network_connect_db 1
Aplica la política para permitir que se realicen conexiones a hosts externos.
$ sudo setsebool -P httpd_can_network_connect 1
Establece SELinux en modo de aplicación.
$ sudo setenforce 1 && sudo sed -i 's/^SELINUX=.*/SELINUX=enforcing/g' /etc/selinux/config
Paso 11 - Instalar el agente Zabbix en un sistema remoto
La tarea principal del agente Zabbix es recopilar información del sistema y enviarla al servidor Zabbix central para su análisis. Instalaremos el agente en un sistema Rocky Linux 9, pero puedes hacerlo en cualquier distribución.
Paso 11.1 - Configurar el Firewall en el sistema remoto
Abre el puerto 10050 para permitir que el agente Zabbix se conecte al servidor.
$ sudo firewall-cmd --add-port=10050/tcp --permanent --zone=public
$ sudo firewall-cmd --reload
Paso 11.2 - Instalar el agente Zabbix
Necesitas repetir el paso 4 excepto la última declaración de instalación. Eso significa, editar el archivo /etc/yum.repos.d/epel.repo y agregar la siguiente línea en la sección [epel].
[epel]
...
excludepkgs=zabbix*
A continuación, instala el repositorio Zabbix y limpia la caché de RPM.
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
$ sudo dnf clean all
Instala el agente Zabbix.
$ sudo dnf install zabbix-agent
Paso 11.3 Configurar el agente Zabbix
Zabbix admite cifrado basado en certificados, pero por la simplicidad de este tutorial, utilizaremos claves precompartidas (PSK) para asegurar la conexión entre el servidor y el agente.
Genera un archivo PSK.
$ sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"
Muestra la clave para copiar.
$ cat /etc/zabbix/zabbix_agentd.psk
797c84746dfe86f71b0f207785906d2bb886be27149b296d86df6b1ec9de6bbe
Copia esta clave porque la necesitaremos más tarde.
El agente Zabbix almacena su configuración en el archivo /etc/zabbix/zabbix-agentd.conf. Ábrelo para editar.
$ sudo nano /etc/zabbix/zabbix_agentd.conf
Descomenta las siguientes variables y actualiza sus valores como se muestra a continuación.
Server=
ServerActive=
HostMetadata=ZabbixLinuxClient
Hostname=zabbixclient.example.com
Pon la dirección IP de tu servidor Zabbix como valor para las variables Server y ServerActive. La variable HostMetadata puede ser cualquier cosa que puedas usar para identificar el sistema. También se utiliza en el proceso de auto-registro en el frontend de Zabbix, del que hablaremos más adelante. El elemento Hostname se refiere al nombre del sistema del nodo del agente Zabbix.
Puedes averiguar el nombre del host usando el siguiente comando.
$ cat /etc/hostname
A continuación, encuentra la sección que configura una conexión segura entre el servidor y el agente. Encuentra la variable TLSConnect y cambia su valor de unencrypted a psk como se muestra a continuación.
...
### Opción: TLSConnect
# Cómo debe conectarse el agente al servidor o proxy. Usado para verificaciones activas.
# Solo se puede especificar un valor:
# unencrypted - conectarse sin cifrado
# psk - conectarse usando TLS y una clave precompartida
# cert - conectarse usando TLS y un certificado
#
# Obligatorio: sí, si se definen parámetros de certificado TLS o PSK (incluso para conexión 'sin cifrado')
# Predeterminado:
# TLSConnect=psk
...
A continuación, localiza la sección TLSAccept y cambia su valor a psk como se muestra a continuación.
...
### Opción: TLSAccept
# Qué conexiones entrantes aceptar.
# Se pueden especificar múltiples valores, separados por comas:
# unencrypted - aceptar conexiones sin cifrado
# psk - aceptar conexiones aseguradas con TLS y una clave precompartida
# cert - aceptar conexiones aseguradas con TLS y un certificado
#
# Obligatorio: sí, si se definen parámetros de certificado TLS o PSK (incluso para conexión 'sin cifrado')
# Predeterminado:
# TLSAccept=psk
...
A continuación, encuentra la sección TLSPSKIdentity y cambia su valor a PSK 001 como se muestra.
...
### Opción: TLSPSKIdentity
# Cadena única, sensible a mayúsculas y minúsculas, utilizada para identificar la clave precompartida.
#
# Obligatorio: no
# Predeterminado:
# TLSPSKIdentity=PSK 001
...
Esta es la ID de PSK que usarás para agregar el host a través del frontend web de Zabbix.
Finalmente, localiza la sección TLSPSKFile y cambia su valor a la ubicación del archivo PSK como se muestra.
...
### Opción: TLSPSKFile
# Ruta completa de un archivo que contiene la clave precompartida.
#
# Obligatorio: no
# Predeterminado:
# TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
Una vez terminado, guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Paso 11.4 - Iniciar el agente Zabbix
Inicia y habilita el servicio del agente Zabbix.
$ sudo systemctl enable zabbix-agent --now
Paso 12 - Agregar el cliente Zabbix al frontend de Zabbix para monitoreo
Podemos agregar un nuevo host a los grupos de hosts definidos existentes o crear un nuevo grupo de hosts. Los grupos de hosts te permiten categorizar los tipos de nodos que estás monitoreando. Para crear un nuevo grupo de hosts, abre la opción Host groups en el menú Configuration.
Agrega el nombre del grupo en el cuadro y haz clic en el botón Apply para crear el grupo.
Para crear un nuevo host, haz clic en la opción Hosts en el menú Configuration, y haz clic en el botón Create host en la parte superior derecha.

Agrega el nombre del host del nodo Zabbix.
Escribe Linux by Zabbix agent en la sección Templates y selecciona la plantilla del menú desplegable.
De manera similar, escribe Linux Servers en la sección Groups y selecciónalo.
Haz clic en el botón Add en la sección Interfaces y selecciona Agent.
Luego agrega la dirección IP del nodo cliente Zabbix. Una vez que hayas terminado, el popup completo de New host debería verse como el siguiente.

A continuación, cambia a la pestaña de Cifrado. Selecciona PSK para ambas opciones Connections to host y Connections from host. Establece la PSK Identity en PSK 001, que es el valor que establecimos en el paso 11.3 para la variable TLSPSKIdentity antes. Luego establece el valor de PSK como la clave que generaste en la máquina del agente antes.

Una vez terminado, haz clic en el botón Add para finalizar la adición del host.
Deberías ver el nuevo host en la lista con una etiqueta verde que indica que el agente está conectado al servidor y está funcionando como se esperaba.

Paso 13 - Configurar notificaciones por correo electrónico
Zabbix admite muchos tipos de notificaciones como correo electrónico, Slack, Telegram, SMS, etc. Para el propósito de nuestro tutorial, configuraremos notificaciones por correo electrónico. Visita el frontend de Zabbix, haz clic en Administration, y luego en Media types en el menú de la izquierda. Verás dos tipos de correo electrónico, uno para correo electrónico en texto plano y el otro para correo electrónico HTML.

Haz clic en la opción Email (HTML) y obtendrás la siguiente página.

Ingresa los detalles de tu servidor SMTP. Para nuestro tutorial, estamos usando el servicio Amazon SES. Haz clic en el botón Update una vez que hayas terminado para guardar los detalles. Serás llevado de regreso a la página de Media types. Haz clic en el botón Test en la página para probar la configuración del correo electrónico. Creará un popup. Completa tu dirección de correo electrónico y haz clic en el botón Test para enviar un correo electrónico de prueba.

Deberías ver un mensaje exitoso en el popup notificando que funcionó bien y deberías recibir el siguiente correo electrónico en tu bandeja de entrada. Cierra el popup haciendo clic en el botón Cancel.

Paso 14 - Crear un nuevo usuario
El usuario predeterminado de Zabbix no está configurado para recibir ningún tipo de notificación. Si bien podemos hacerlo, el usuario predeterminado también es inseguro de usar. La mejor opción es crear un nuevo usuario y luego deshabilitar el usuario predeterminado.
Visita la sección Administration >> Users del menú y haz clic en el botón Create user en la parte superior derecha para abrir la siguiente página.

Completa los detalles del usuario. Selecciona Zabbix administrators como el grupo de usuarios. Una vez terminado, haz clic en la pestaña Media. Haz clic en el botón Add y selecciona Email (HTML) como el tipo.

Ingresa tu dirección de correo electrónico en el campo Send to y haz clic en el botón Add para agregar la opción de correo electrónico. A continuación, cambia a la pestaña Permissions y haz clic en el botón Select para agregar el Super admin role.

Haz clic en el botón Add para finalizar la adición del usuario. A continuación, necesitas cerrar sesión en el frontend, volver a iniciar sesión como el nuevo usuario y regresar a la página de usuarios. Haz clic en el usuario Admin, selecciona el grupo Disabled, y actualiza el usuario. Esto deshabilitará el usuario predeterminado para que no se use.
Paso 15 - Enviar una alerta de prueba
Por defecto, Zabbix rastrea la cantidad de espacio libre en el servidor. Detecta todos los montajes de disco y realiza verificaciones regularmente.
El primer paso es habilitar el disparador de notificación que permite a Zabbix enviar notificaciones a todos los administradores. Zabbix ya tiene el disparador predeterminado configurado. Necesitamos habilitarlo para que funcione. Visita Configuration >> Actions >> Trigger actions y haz clic en el estado Disabled para cambiarlo a Enabled como se muestra.

A continuación, inicia sesión en el nodo Zabbix y crea un archivo temporal lo suficientemente grande como para activar una alerta de uso de disco.
Primero, determina el espacio libre en el servidor.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 780M 51M 730M 7% /run
/dev/vda2 94G 12G 78G 13% /
/dev/vda1 260M 7.0M 253M 3% /boot/efi
tmpfs 390M 4.0K 390M 1% /run/user/1001
Esto muestra que tenemos alrededor de 78 GB de espacio libre. A continuación, usa el comando fallocate para preasignar más del 80% del espacio en disco. Es lo suficientemente grande como para activar la alerta.
$ fallocate -l 74G /tmp/temp.img
Verifica el uso del disco nuevamente.
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 780M 54M 726M 7% /run
/dev/vda2 94G 86G 3.9G 96% /
/dev/vda1 260M 7.0M 253M 3% /boot/efi
tmpfs 390M 4.0K 390M 1% /run/user/1001
Zabbix activará una alerta sobre el espacio en disco y enviará una alerta por correo electrónico al respecto. El correo electrónico se verá como el siguiente.

También puedes verificar el panel para la alerta, que debería aparecer en segundos.

Elimina el archivo temporal cuando hayas terminado.
$ rm -f /tmp/temp.img
Deberías recibir otro correo electrónico notificándote que el problema se ha resuelto.

Paso 16 - Configurar el auto registro para nodos Linux
Cuando tienes que agregar múltiples nodos al servidor Zabbix, el proceso puede volverse un poco tedioso. Afortunadamente, el frontend de Zabbix te permite automatizar el proceso utilizando el auto registro.
Visita Actions >> Autoregistration actions y haz clic en el botón Create action en la parte superior derecha.

Una vez en la nueva pantalla, dale un nombre (Auto registration of Linux servers) a la acción.
Haz clic en el botón Add debajo de Conditions para agregar una condición y elige Host metadata como el tipo, contains como el operador, y Linux como el valor.

Haz clic en Add para continuar y la página de crear acción debería verse como la siguiente.

Haz clic en la pestaña Operations, selecciona Add to host group como la operación y selecciona Linux servers como los Host groups. Haz clic en el botón Add para finalizar.

Si deseas usar cifrado PSK, también puedes configurarlo. Visita el menú Administration >> General >> Autoregistration y habilita ambas opciones de cifrado. Ingresa una ID de PSK y una clave PSK creadas en el servidor Zabbix. Puedes usar esta ID de PSK y clave en cada nodo y estarán cifradas usando estos valores.

A partir de ahora, cada vez que instales y configures el agente Zabbix en un servidor Linux, se agregará automáticamente al frontend de Zabbix.
Conclusión
Esto concluye nuestro tutorial sobre la instalación y configuración de un servidor Zabbix en un sistema Rocky Linux 9. También instalamos un agente Zabbix en un servidor remoto para conectarlo con el servidor. Si tienes alguna pregunta, publícalas en los comentarios a continuación.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.