Zabbix

Introducció

Zabbix és una plataforma de monitoratge de codi obert que permet supervisar l’estat de servidors, dispositius de xarxa, serveis i aplicacions. Ofereix recollida de mètriques, generació d’alertes, dashboards gràfics i gestió centralitzada d’inventari d’infraestructura.

Zabbix logo

L’arquitectura de Zabbix es compon de:

En aquest document instal·larem Zabbix Server, Frontend i Agent en un servidor Ubuntu 26.04, amb MariaDB com a base de dades i Apache com a servidor web. El nom d’equip utilitzat és zabbix.thos.local.

Requisits previs

Escenari

Rol Hostname IP
Server zabbix.thos.local 10.0.2.10
Client client.thos.local 10.0.2.14

1. Instal·la el dipòsit oficial de Zabbix

Zabbix recomana utilitzar el seu dipòsit oficial en lloc dels paquets d’Ubuntu, ja que sol oferir versions més actualitzades.

Des de Zabbix Download pots configurar el dipòsit per a la teva plataforma:

Configurador del dipòsit
Consell

Comprova a la web oficial de Zabbix quina és la versió més recent i l’enllaç exacte per a la teva versió d’Ubuntu abans de descarregar el paquet.

Descarrega Zabbix:

wget -c https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu26.04_all.deb

Instal·la el paquet descarregat:

sudo apt install ./zabbix-release_latest_7.4+ubuntu26.04_all.deb

2. Instal·la els components

Actualitza la llista de paquets:

sudo apt update

Actualitza els paquets:

sudo apt upgrade

Instal·la el servidor, el frontend (amb Apache) i l’agent:

sudo apt install zabbix-server-mysql zabbix-frontend-php \
  zabbix-apache-conf zabbix-sql-scripts zabbix-agent php-fpm

3. Instal·la i configura MariaDB

Instal·la MariaDB;

sudo apt install mariadb-server

Habilitat l’engegada del servei ara i a l’arrencada:

sudo systemctl enable --now mariadb

Assegura MariaDB:

sudo mariadb-secure-installation

Durant l’assistent mariadb-secure-installation, respon afirmativament a les preguntes de seguretat habituals (eliminar usuaris anònims, deshabilitar accés root remot, eliminar base de dades de prova, etc.).

3.1. Crea la base de dades

Accedeix a MariaDB com a root:

sudo mysql -u root -p

Executa les sentències següents:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'contrasenya';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
QUIT;
⚠️
Avís

Substitueix contrasenya per una contrasenya robusta pròpia i no la deixis mai en text pla en documentació pública.

3.2. Importa l’esquema inicial

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | sudo mysql --default-character-set=utf8mb4 -u zabbix -p zabbix
💡
Nota

Has de posar la contrasenya de l’usuari zabbix amb privilegis a la base de dades. En aquest cas: ‘contrasenya’.

Un cop importat, desactiva el paràmetre temporal que has activat abans:

sudo mysql -uroot -p -e "SET GLOBAL log_bin_trust_function_creators = 0;"

4. Configura Zabbix Server

Edita el fitxer de configuració del servidor:

sudo nano /etc/zabbix/zabbix_server.conf

Localitza i ajusta els paràmetres de connexió a la base de dades:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=contrasenya

5. Configura proxy i PHP

Habilita els mòduls del proxy:

sudo a2enmod proxy proxy_http proxy_fcgi setenvif

Activa la configuració de PHP-FPM:

sudo a2enconf php8.5-fpm

Habilita ara PHP-FPM i en l’engegada:

sudo systemctl enable --now php8.5-fpm

6. Arrencada dels serveis

Reinicia el servei Apache:

sudo systemctl restart apache2

Reinicia els serveis de Zabix:

sudo systemctl restart zabbix-server zabbix-agent

Habilita l’engegada del servei a l’arrencada:

sudo systemctl enable zabbix-server zabbix-agent apache2

Comprova l’estat dels serveis:

sudo systemctl status zabbix-server --no-pager

Sortida esperada:

● zabbix-server.service - Zabbix Server
     Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; preset: enabled)
     Active: active (running) since Wed 2026-08-12 10:13:57 UTC; 18s ago
 Invocation: 5511d14fdb8e4b5ebfb592285ce12ef4
   Main PID: 15324 (zabbix_server)
      Tasks: 77 (limit: 1718)
     Memory: 58.2M (peak: 58.3M)
        CPU: 272ms
     CGroup: /system.slice/zabbix-server.service
             ├─15324 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
             ├─15326 "/usr/sbin/zabbix_server: ha manager"
             ├─15328 "/usr/sbin/zabbix_server: service manager #1 [processed 0 events, updated 0 event tags, deleted 0 problems, synced 0 service updates, idle 5.03440…
             ├─15329 "/usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.020385 sec, idle 10 sec]"
             ├─15349 "/usr/sbin/zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.033420 sec during 5.033570 sec]"
             ├─15350 "/usr/sbin/zabbix_server: alerter #1 started"
             ├─15351 "/usr/sbin/zabbix_server: alerter #2 started"
             ├─15352 "/usr/sbin/zabbix_server: alerter #3 started"
             ├─15353 "/usr/sbin/zabbix_server: preprocessing manager #1 [queued 0, processed 0 values, idle 5.243349 sec during 5.243545 sec]"
             ├─15354 "/usr/sbin/zabbix_server: lld manager #1 [processed 0 LLD rules, idle 5.027859sec during 5.027999 sec]"
             ├─15355 "/usr/sbin/zabbix_server: lld worker #1 [processed 0 LLD rules, idle 7.048790 sec during 7.050201 sec]"
             ├─15356 "/usr/sbin/zabbix_server: lld worker #2 [processed 0 LLD rules, idle 18.107309 sec during 18.108282 sec]"
             ├─15359 "/usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]"
             ├─15362 "/usr/sbin/zabbix_server: timer #1 [updated 0 hosts, suppressed 0 events in 0.001623 sec, idle 59 sec]"
             ├─15363 "/usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000029 sec, idle 5 sec]"
             ├─15365 "/usr/sbin/zabbix_server: browser poller #1 [got 0 values in 0.000108 sec, idle 5 sec]"
             ├─15366 "/usr/sbin/zabbix_server: discovery manager #1 [processing 0 rules, 0 unsaved checks]"
             ├─15367 "/usr/sbin/zabbix_server: history syncer #1 [processed 1 values, 0+0 triggers in 0.000295 (0.000,0.000,0.000,0.000,0.000) sec, idle 1 sec]"
             ├─15368 "/usr/sbin/zabbix_server: history syncer #2 [processed 0 values, 0+0 triggers in 0.000013 (0.000,0.000,0.000,0.000,0.000) sec, idle 1 sec]"
             ├─15369 "/usr/sbin/zabbix_server: history syncer #3 [processed 0 values, 0+0 triggers in 0.000038 (0.000,0.000,0.000,0.000,0.000) sec, idle 1 sec]"
             ├─15370 "/usr/sbin/zabbix_server: history syncer #4 [processed 0 values, 0+0 triggers in 0.000034 (0.000,0.000,0.000,0.000,0.000) sec, idle 1 sec]"
             ├─15372 "/usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.001500 sec, idle 3 sec]"
             ├─15373 "/usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000319 sec, idle 5 sec]"
             ├─15374 "/usr/sbin/zabbix_server: self-monitoring [processed data in 0.000040 sec, idle 1 sec]"
             ├─15375 "/usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.000595 sec, idle 5 sec]"
             ├─15376 "/usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000019 sec, idle 5 sec]"
             ├─15378 "/usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000010 sec, idle 5 sec]"
             ├─15382 "/usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000010 sec, idle 5 sec]"
             ├─15383 "/usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000012 sec, idle 5 sec]"
             ├─15384 "/usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000011 sec, idle 5 sec]"
             ├─15385 "/usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000245 sec, idle 5 sec]"
             ├─15387 "/usr/sbin/zabbix_server: trapper #1 [processed data in 0.000387 sec, waiting for connection]"
             ├─15389 "/usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]"
             ├─15390 "/usr/sbin/zabbix_server: trapper #3 [processed data in 0.000395 sec, waiting for connection]"
             ├─15391 "/usr/sbin/zabbix_server: trapper #4 [processed data in 0.000243 sec, waiting for connection]"
             ├─15392 "/usr/sbin/zabbix_server: trapper #5 [processed data in 0.000374 sec, waiting for connection]"
             ├─15393 "/usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000014 sec, idle 5 sec]"
             ├─15394 "/usr/sbin/zabbix_server: alert syncer [queued 0 alerts(s), flushed 0 result(s) in 0.000001 sec, idle 1 sec]"
             ├─15400 "/usr/sbin/zabbix_server: history poller #1 [got 0 values in 0.000010 sec, idle 5 sec]"
             ├─15401 "/usr/sbin/zabbix_server: history poller #2 [got 0 values in 0.000010 sec, idle 5 sec]"
             ├─15402 "/usr/sbin/zabbix_server: history poller #3 [got 0 values in 0.000011 sec, idle 5 sec]"
             ├─15403 "/usr/sbin/zabbix_server: history poller #4 [got 0 values in 0.000213 sec, idle 5 sec]"
             ├─15404 "/usr/sbin/zabbix_server: history poller #5 [got 0 values in 0.000021 sec, idle 5 sec]"
             ├─15405 "/usr/sbin/zabbix_server: availability manager #1 [queued 0, processed 0 values, idle 5.027777 sec during 5.027868 sec]"
             ├─15429 "/usr/sbin/zabbix_server: trigger housekeeper [startup idle for 60 second(s)]"
             ├─15431 "/usr/sbin/zabbix_server: odbc poller #1 [got 0 values in 0.000028 sec, idle 5 sec]"
             ├─15432 "/usr/sbin/zabbix_server: http agent poller #1 [got 0 values, queued 0 in 5 sec, awaiting 0]"
             ├─15433 "/usr/sbin/zabbix_server: agent poller #1 [got 3 values, queued 3 in 5 sec, awaiting 0]"
             ├─15436 "/usr/sbin/zabbix_server: snmp poller #1 [got 0 values, queued 0 in 5 sec, awaiting 0]"
             ├─15438 "/usr/sbin/zabbix_server: configuration syncer worker [synced 0, updated 0 item names in 0.002852 sec, idle]"
             ├─15440 "/usr/sbin/zabbix_server: internal poller #1 [got 1 values in 0.002534 sec, idle 1 sec]"
             └─15441 "/usr/sbin/zabbix_server: proxy group manager #1 started"

d’ag. 12 10:13:57 zabbix systemd[1]: Starting zabbix-server.service - Zabbix Server...
d’ag. 12 10:13:57 zabbix systemd[1]: Started zabbix-server.service - Zabbix Server.

7. Assistent de configuració web

Obre un navegador i accedeix a:

http://zabbix.thos.local/zabbix

L’assistent d’instal·lació et guiarà pels passos següents:

  1. Benvinguda: pantalla inicial, fes clic a Next step.

    Benvinguda
  2. Comprovació de requisits previs: verifica que tots els mòduls PHP necessaris estan instal·lats i en verd.

    Comprovació de requisits
  3. Configuració de la base de dades: introdueix les dades de connexió (zabbix / usuari / contrasenya).

    Configuració de la connexió de base de dades
  4. Detalls del servidor Zabbix: nom del servidor i port (per defecte 10051).

    Nom del servidor
  5. Resum: revisa la configuració abans de confirmar.

    Resum de preinstal·lació
  6. Finalització: es genera el fitxer /etc/zabbix/web/zabbix.conf.php.

    Finalització

Les credencials per defecte del frontend són:

Inici de sessió

Tauler de control
⚠️
Avís

Canvia la contrasenya de l’usuari Admin immediatament després del primer accés, des d’Usuaris → Usuaris → Admin → Canvia la paraula de pas.

Canvia la contrasenya

8. Configuració de l’agent Zabbix en un host monitorat

A cada equip que vulguis monitorar, instal·la l’agent:

sudo apt install zabbix-agent

Edita el fitxer de configuració de l’agent:

sudo nano /etc/zabbix/zabbix_agentd.conf

Ajusta els paràmetres principals:

Server=10.0.2.10
ServerActive=10.0.2.10
Hostname=client.thos.local
💡
Nota

Server defineix des d’on s’accepten connexions de comprovacions passives. ServerActive indica cap a on l’agent envia dades de comprovacions actives.

Reinicia el servei:

sudo systemctl restart zabbix-agent

Habilita l’engegada del servei a l’arrencada:

sudo systemctl enable zabbix-agent

Comprova l’estat del servei:

sudo systemctl status zabbix-agent

Sortida esperada:

● zabbix-agent.service - Zabbix Agent
     Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; preset: enabled)
     Active: active (running) since Wed 2026-08-12 12:24:56 CEST; 20s ago
 Invocation: ec1456c9bc14475f801cc7614f31e79d
       Docs: man:zabbix_agentd
   Main PID: 4619 (zabbix_agentd)
      Tasks: 13 (limit: 4024)
     Memory: 6M (peak: 6.5M)
        CPU: 29ms
     CGroup: /system.slice/zabbix-agent.service
             ├─4619 /usr/sbin/zabbix_agentd --foreground
             ├─4621 "/usr/sbin/zabbix_agentd: collector [idle 1 sec]"
             ├─4622 "/usr/sbin/zabbix_agentd: listener #1 [waiting for connection]"
             ├─4623 "/usr/sbin/zabbix_agentd: listener #2 [waiting for connection]"
             ├─4624 "/usr/sbin/zabbix_agentd: listener #3 [waiting for connection]"
             ├─4625 "/usr/sbin/zabbix_agentd: listener #4 [waiting for connection]"
             ├─4626 "/usr/sbin/zabbix_agentd: listener #5 [waiting for connection]"
             ├─4627 "/usr/sbin/zabbix_agentd: listener #6 [waiting for connection]"
             ├─4628 "/usr/sbin/zabbix_agentd: listener #7 [waiting for connection]"
             ├─4629 "/usr/sbin/zabbix_agentd: listener #8 [waiting for connection]"
             ├─4630 "/usr/sbin/zabbix_agentd: listener #9 [waiting for connection]"
             ├─4631 "/usr/sbin/zabbix_agentd: listener #10 [waiting for connection]"
             └─4632 "/usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]"

d’ag. 12 12:24:56 client systemd[1]: Started zabbix-agent.service - Zabbix Agent.
d’ag. 12 12:24:56 client zabbix_agentd[4619]: Starting Zabbix Agent [client.thos.local]. Zabbix 7.0.22 (revision 70c23564978).
d’ag. 12 12:24:56 client zabbix_agentd[4619]: Press Ctrl+C to exit.

9. Alta d’un host des del frontend

  1. Ves a Monitorant → Equips → Creeu un equip.

    Afegeix un equip
  2. Introdueix el nom del host (ha de coincidir amb Hostname de l’agent).

  3. Assigna un grup de hosts (p. ex. Linux servers).

  4. A la pestanya Interfaces, afegeix una interfície tipus Agent amb la IP del host i el port 10050.

  5. A la pestanya Templates, vincula una plantilla oficial, per exemple Linux by Zabbix agent.

    Configuració del nou equip
  6. Desa els canvis.

Al cap d’uns minuts, el host hauria d’aparèixer amb l’estat Zabbix agent: available (icona verda) a la llista d’hosts.

Disponible

10. Crea accions i notificacions

Per rebre alertes per correu electrònic:

  1. Configuració del mitjà de notificació: Alerts → Media types → Email, configura el servidor SMTP.
  2. Assignació a l’usuari: Users → Users → Admin → Media, afegeix un mitjà de tipus Email amb l’adreça de destí.
  3. Creació d’una acció: Alerts → Actions → Trigger actions → Create action, defineix les condicions (per exemple, severitat ≥ High) i l’operació d’enviar missatge a l’usuari corresponent.

11. Comprova el funcionament

Pots forçar una comprovació ràpida des del servidor per confirmar que l’agent respon correctament:

sudo apt install zabbix-get
zabbix_get -s 10.0.2.14 -k agent.ping

Una resposta 1 confirma que l’agent està actiu i accessible.

12. Resol problemes habituals

Problema Possible causa Solució
L’assistent web no arrenca Apache no reconeix la configuració de Zabbix Comprova que /etc/zabbix/apache.conf estigui inclòs i reinicia Apache
Host en vermell (not available) Firewall bloquejant el port 10050/10051 Obre els ports amb ufw allow 10050/tcp i ufw allow 10051/tcp
Error de connexió a la base de dades Credencials incorrectes a zabbix_server.conf Revisa DBUser/DBPassword i permisos a MariaDB
El servei no arrenca Esquema de BD no importat correctament Revisa /var/log/zabbix/zabbix_server.log per a errors detallats

13. Referències

Versions d’aquest document

Domini Públic (CC0)