Zabbix Setup · 22 min read · Oct 09, 2025
Come installare e configurare Zabbix Server e Client su Rocky Linux 9

Zabbix è una soluzione di monitoraggio gratuita e open-source per l’infrastruttura IT come reti, server, macchine virtuali e servizi cloud. Il suo nucleo è scritto in C e Java con il frontend scritto in PHP. Il frontend fornisce un’interfaccia web per tracciare e monitorare metriche come l’utilizzo della rete, il carico della CPU, lo spazio su disco, ecc., e inviare notifiche basate su trigger personalizzati.
Zabbix opera come un modello Client/Server. I client o agenti disponibili per vari sistemi operativi contattano il server per inviare i dati. Per i sistemi senza un agente, Zabbix offre l’opzione di utilizzare protocolli di monitoraggio generici come il Simple Network Management Protocol (SNMP) o l’Intelligent Platform Management Interface (IPMI).
In questo tutorial, imparerai come installare il Server Zabbix e il client su un server Rocky Linux 9.
Prerequisiti
- Due server che eseguono Rocky Linux 9. Uno funzionerà come server e l’altro sarà il client che monitoreremo utilizzando il server.
- Un utente non root con privilegi sudo.
- Un Nome di Dominio Completo (FQDN) come
zabbix.example.comche punta al tuo server. - Un account SMTP con un servizio email come Amazon SES o Mailgun.
- Tutto è aggiornato.
$ sudo dnf update - Alcuni pacchetti essenziali sono richiesti per il tutorial e per il funzionamento del Server Zabbix. Alcuni di questi saranno già presenti sul tuo server.
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
Passo 1 - Configurare il Firewall
Il primo passo è configurare il firewall. Rocky Linux utilizza Firewalld Firewall. Controlla lo stato del firewall.
$ sudo firewall-cmd --state
running
Il firewall funziona con diverse zone, e la zona pubblica è quella predefinita che utilizzeremo. Elenca tutti i servizi e le porte attive sul firewall.
$ sudo firewall-cmd --permanent --list-services
Dovrebbe mostrare il seguente output.
cockpit dhcpv6-client ssh
Le porte 10050 e 10051 sono necessarie per il server Zabbix per connettersi con l’agente.
$ sudo firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
Consenti le porte HTTP e HTTPS.
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Controlla nuovamente lo stato del firewall.
$ sudo firewall-cmd --permanent --list-all
Dovresti vedere un output simile.
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:
Ricarica il firewall per abilitare le modifiche.
$ sudo firewall-cmd --reload
Passo 2 - Imposta SELinux in modalità permissiva
Configura SELinux per lavorare in modalità permissiva. In questa modalità, SELinux non bloccherà alcun processo ma registrerà tutto nel file di log di audit. Useremo questo in seguito per impostare le regole di SELinux.
$ sudo setenforce 0 && sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
Controlla lo stato di 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
Passo 3 - Configurare il repository Nginx e PHP
Il pacchetto Zabbix installerà automaticamente PHP e Nginx. Ma installerà versioni più vecchie di essi. Pertanto, dobbiamo assicurarci che il processo installi l’ultima versione disponibile.
Crea e apri il file /etc/yum.repos.d/nginx.repo per la modifica.
$ sudo nano /etc/yum.repos.d/nginx.repo
Incolla il seguente codice al suo interno.
[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 volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Abilita il repository principale di Nginx.
$ sudo dnf config-manager --enable nginx-mainline
Successivamente, dobbiamo configurare il repository PHP.
Il primo passo è ottenere il repository Epel.
$ sudo dnf install epel-release -y
Successivamente, installa il repository Remi.
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Controlla i flussi PHP disponibili.
$ 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 versione predefinita è 8.1. Al momento della scrittura di questo tutorial, Zabbix è compatibile con PHP 8.2. Pertanto, abilita il repository PHP 8.2 di Remi. La prossima versione di Zabbix supporterà PHP 8.3, quindi puoi abilitarlo se la tua versione di Zabbix è 6.0.26 o superiore.
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.2
Ora possiamo procedere con l’installazione di Zabbix.
Passo 4 - Installare il Server Zabbix
I pacchetti Zabbix sono forniti per impostazione predefinita nel repository EPEL. Prima di procedere con la nostra installazione, dobbiamo disabilitarli. Apri il file /etc/yum.repos.d/epel.repo per la modifica e aggiungi la seguente riga sotto la sezione [epel].
[epel]
...
excludepkgs=zabbix*
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
L’ultima versione di Zabbix è 6.4.x, ma ci atteniamo all’uso della release LTS (Long-term support) che è molto più stabile per un ambiente di produzione.
Installa il repository di Zabbix.
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
Rimuovi tutta la cache RPM.
$ sudo dnf clean all
Installa il server Zabbix, il frontend e l’agente. Useremo il server PostgreSQL per il nostro scopo e quindi abbiamo bisogno del pacchetto zabbix-web-pgsql. Se stai usando MySQL/MariaDB/Percona server, allora dovrai installare il pacchetto zabbix-web-mysql.
$ sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
Passo 5 - Installare e configurare PostgreSQL
Zabbix funziona con PostgreSQL 13 e versioni superiori. Rocky Linux 9 include PostgreSQL 13 per impostazione predefinita. Tuttavia, utilizzeremo PostgreSQL 16 per il nostro tutorial.
Installa il file RPM del repository PostgreSQL.
$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Disabilita il modulo PostgreSQL integrato.
$ sudo dnf -qy module disable postgresql
Ora puoi installare PostgreSQL utilizzando il comando qui sotto.
$ sudo dnf install -y postgresql16-server postgresql16-contrib
Inizializza il database.
$ sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
Abilita il servizio PostgreSQL.
$ sudo systemctl enable postgresql-16
Avvia il servizio PostgreSQL.
$ sudo systemctl start postgresql-16
Controlla lo stato del servizio 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 l’utente del database Zabbix.
$ sudo -u postgres createuser --pwprompt zabbix
Ti verrà chiesto di inserire la password.
Enter password for new role:
Enter it again:
Crea il database Zabbix.
$ sudo -u postgres createdb -O zabbix zabbix
Importa lo schema iniziale e i dati del database. Ti verrà nuovamente chiesto di inserire la password.
$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Questo processo può richiedere un paio di minuti per completarsi.
Apri il file /etc/zabbix/zabbix_server.conf per la modifica.
$ sudo nano /etc/zabbix/zabbix_server.conf
Trova la variabile DBPassword, decommentala rimuovendo l’hash (#) davanti ad essa e imposta il suo valore sulla password scelta nel passaggio precedente.
DBPassword=psqlpassword
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Avvia e abilita i servizi del server e dell’agente Zabbix.
$ sudo systemctl enable zabbix-server zabbix-agent --now
Passo 6 - Configurare PHP
Zabbix installa i file di configurazione di PHP e Nginx che utilizzeremo. Tuttavia, dobbiamo apportare alcune modifiche prima di poterli utilizzare.
Prima di tutto, dobbiamo aprire /etc/php-fpm.d/zabbix.conf per la modifica.
$ sudo nano /etc/php-fpm.d/zabbix.conf
Cambia i valori di user = apache e group = apache in nginx come mostrato di seguito.
user = nginx
group = nginx
Questo perché, poiché stiamo utilizzando Nginx dal suo repository ufficiale, esso viene eseguito sotto l’utente nginx e non apache, che è quello sotto cui viene eseguita la copia distribuita di Nginx.
Puoi anche modificare altri valori relativi a PHP o aggiungere eventuali definizioni personalizzate qui. Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Avvia e abilita il servizio PHP-FPM.
$ sudo systemctl enable php-fpm --now
Passo 7 - Installare SSL
Dobbiamo installare Certbot per generare il certificato SSL. Utilizzeremo il gestore pacchetti Snapd per questo. Poiché Rocky Linux non lo include, installa il gestore Snapd. Richiede il repository EPEL (Extra Packages for Enterprise Linux) per funzionare. Ma poiché lo abbiamo già installato nel passo 3, possiamo procedere direttamente.
Installa Snapd.
$ sudo dnf install -y snapd
Abilita e avvia il servizio Snap.
$ sudo systemctl enable snapd --now
Installa il pacchetto core di Snap e assicurati che la tua versione di Snapd sia aggiornata.
$ sudo snap install core && sudo snap refresh core
Crea i collegamenti necessari affinché Snapd funzioni.
$ 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
Installa Certbot.
$ sudo snap install --classic certbot
Usa il seguente comando per assicurarti che il comando Certbot possa essere eseguito creando un collegamento simbolico nella directory /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifica se Certbot funziona correttamente.
$ certbot --version
certbot 2.8.0
Esegui il seguente comando per generare un certificato SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d zabbix.example.com
Il comando sopra scaricherà un certificato nella directory /etc/letsencrypt/live/zabbix.example.com sul tuo server.
Genera un certificato Diffie-Hellman group.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Controlla il servizio di pianificazione del rinnovo di Certbot.
$ sudo systemctl list-timers
Troverai snap.certbot.renew.service come uno dei servizi programmati per l’esecuzione.
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
Esegui un test del processo per controllare se il rinnovo SSL funziona correttamente.
$ sudo certbot renew --dry-run
Se non vedi errori, sei a posto. Il tuo certificato si rinnoverà automaticamente.
Passo 8 - Configurare Nginx
Zabbix installa un file di configurazione Nginx predefinito. Dobbiamo modificarlo per aggiungere il codice per abilitare i certificati SSL. Dobbiamo anche cambiare la porta listen e aggiungere codice per reindirizzare i link HTTP a HTTPS.
Apri il file /etc/nginx/conf.d/zabbix.conf per la modifica.
$ sudo nano /etc/nginx/conf.d/zabbix.conf
Modifica il codice in modo che il file appaia come segue.
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 volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Apri il file /etc/nginx/nginx.conf per la modifica.
$ sudo nano /etc/nginx/nginx.conf
Aggiungi la seguente riga prima della riga include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Verifica la tua configurazione Nginx.
$ sudo nginx -t
Avvia e abilita il servizio Nginx.
$ sudo systemctl enable nginx --now
Passo 9 - Accedere al frontend di Zabbix
Prima di installare il frontend di Zabbix, imposta i permessi sulla directory /etc/zabbix/web in modo che Nginx possa accedervi.
$ sudo chown -R nginx:nginx /etc/zabbix/web
Apri l’URL https://zabbix.example.com nel tuo browser e vedrai la seguente schermata.

Clicca sul pulsante Next step per completare l’installazione di Zabbix. La pagina successiva controlla i requisiti di sistema e se sono tutti soddisfatti.

Se non ci sono problemi, clicca sul pulsante Next step per procedere. Successivamente, ti verrà chiesto di inserire le credenziali del tuo database. Deseleziona l’opzione Database TLS encryption poiché non l’abbiamo configurata.

Premi il pulsante Next step per procedere. Inserisci il nome del tuo server Zabbix. È comunque facoltativo, ma se configurato, verrà visualizzato nella barra dei menu e nei titoli delle pagine.

Premi il pulsante Next step per procedere. Ti verrà chiesto di confermare tutte le impostazioni.

Se tutto è a posto, premi il pulsante Next step per procedere. Dovresti vedere il messaggio che ti informa che l’installazione è avvenuta con successo.

Clicca sul pulsante Finish per completare il processo. Sarai portato alla pagina di accesso.

Il nome utente predefinito è Admin e la password è zabbix. Inserisci le informazioni di accesso e clicca sul pulsante Sign in per accedere alla dashboard di Zabbix.

Passo 10 - Configurare SELinux
Abilita il demone HTTP per connettersi a Zabbix.
$ sudo setsebool -P httpd_can_connect_zabbix 1
Consenti a Zabbix di connettersi a tutte le porte TCP.
$ sudo setsebool -P zabbix_can_network on
Abilita daemons_enable_cluster_mode per evitare errori del gestore HA.
$ sudo setsebool -P daemons_enable_cluster_mode on
Crea un pacchetto di policy SELinux personalizzato utilizzando il log di audit.
$ sudo grep "denied.*zabbix" /var/log/audit/audit.log | audit2allow -M zabbix_policy
****************** IMPORTANTE *********************
Per rendere attivo questo pacchetto di policy, esegui:
semodule -i zabbix_policy.pp
Installa il pacchetto di policy SELinux personalizzato creato.
$ sudo semodule -i zabbix_policy.pp
Esegui il comando per controllare eventuali errori nel database.
$ sudo sealert -a /var/log/audit/audit.log
Ti suggerirà molte regole da applicare.
Esegui i seguenti comandi.
$ 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
Applica la policy per consentire a Nginx di dare accesso a PostgreSQL.
$ sudo setsebool -P httpd_can_network_connect_db 1
Applica la policy per consentire le connessioni verso host esterni.
$ sudo setsebool -P httpd_can_network_connect 1
Imposta SELinux in modalità enforcing.
$ sudo setenforce 1 && sudo sed -i 's/^SELINUX=.*/SELINUX=enforcing/g' /etc/selinux/config
Passo 11 - Installare l’agente Zabbix su un sistema remoto
Il compito principale dell’agente Zabbix è raccogliere informazioni dal sistema e inviarle al server Zabbix centrale per l’analisi. Installeremo l’agente su un sistema Rocky Linux 9, ma puoi farlo su qualsiasi distribuzione.
Passo 11.1 - Configurare il Firewall sul sistema remoto
Apri la porta 10050 per consentire all’agente Zabbix di connettersi al server.
$ sudo firewall-cmd --add-port=10050/tcp --permanent --zone=public
$ sudo firewall-cmd --reload
Passo 11.2 - Installare l’agente Zabbix
Devi ripetere il passo 4, tranne l’ultima istruzione di installazione. Ciò significa modificare il file /etc/yum.repos.d/epel.repo e aggiungere la seguente riga nella sezione [epel].
[epel]
...
excludepkgs=zabbix*
Successivamente, installa il repository Zabbix e pulisci la cache 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
Installa l’agente Zabbix.
$ sudo dnf install zabbix-agent
Passo 11.3 Configurare l’agente Zabbix
Zabbix supporta la crittografia basata su certificati, ma per semplificare il tutorial, utilizzeremo chiavi precondivise (PSK) per proteggere la connessione tra il server e l’agente.
Genera un file PSK.
$ sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"
Mostra la chiave per la copia.
$ cat /etc/zabbix/zabbix_agentd.psk
797c84746dfe86f71b0f207785906d2bb886be27149b296d86df6b1ec9de6bbe
Copia questa chiave perché ne avremo bisogno in seguito.
L’agente Zabbix memorizza la sua configurazione nel file /etc/zabbix/zabbix-agentd.conf. Aprilo per la modifica.
$ sudo nano /etc/zabbix/zabbix_agentd.conf
Decommenta le seguenti variabili e aggiorna i loro valori come mostrato di seguito.
Server=
ServerActive=
HostMetadata=ZabbixLinuxClient
Hostname=zabbixclient.example.com
Metti l’indirizzo IP del tuo server Zabbix come valore per le variabili Server e ServerActive. La variabile HostMetadata può essere qualsiasi cosa tu possa usare per identificare il sistema. Viene utilizzata anche nel processo di auto-registrazione sul frontend di Zabbix di cui parleremo più avanti. L’elemento Hostname si riferisce al nome host del nodo dell’agente Zabbix.
Puoi scoprire il nome host utilizzando il seguente comando.
$ cat /etc/hostname
Successivamente, trova la sezione che configura una connessione sicura tra il server e l’agente. Trova la variabile TLSConnect e cambia il suo valore da unencrypted a psk come mostrato di seguito.
...
### Option: TLSConnect
# Come l'agente dovrebbe connettersi al server o proxy. Utilizzato per controlli attivi.
# Può essere specificato solo un valore:
# unencrypted - connettersi senza crittografia
# psk - connettersi utilizzando TLS e una chiave precondivisa
# cert - connettersi utilizzando TLS e un certificato
#
# Obbligatorio: sì, se i parametri TLS certificate o PSK sono definiti (anche per la connessione 'unencrypted')
# Predefinito:
# TLSConnect=psk
...
Successivamente, trova la sezione TLSAccept e cambia il suo valore in psk come mostrato di seguito.
...
### Option: TLSAccept
# Quali connessioni in entrata accettare.
# Possono essere specificati più valori, separati da virgola:
# unencrypted - accettare connessioni senza crittografia
# psk - accettare connessioni protette con TLS e una chiave precondivisa
# cert - accettare connessioni protette con TLS e un certificato
#
# Obbligatorio: sì, se i parametri TLS certificate o PSK sono definiti (anche per la connessione 'unencrypted')
# Predefinito:
# TLSAccept=psk
...
Successivamente, trova la sezione TLSPSKIdentity e cambia il suo valore in PSK 001 come mostrato.
...
### Option: TLSPSKIdentity
# Stringa unica, sensibile al maiuscolo/minuscolo, utilizzata per identificare la chiave precondivisa.
#
# Obbligatorio: no
# Predefinito:
# TLSPSKIdentity=PSK 001
...
Questa è l’ID PSK che utilizzerai per aggiungere l’host tramite il frontend web di Zabbix.
Infine, trova la sezione TLSPSKFile e cambia il suo valore nella posizione del file PSK come mostrato.
...
### Option: TLSPSKFile
# Percorso completo di un file contenente la chiave precondivisa.
#
# Obbligatorio: no
# Predefinito:
# TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Passo 11.4 - Avviare l’agente Zabbix
Avvia e abilita il servizio dell’agente Zabbix.
$ sudo systemctl enable zabbix-agent --now
Passo 12 - Aggiungere il client Zabbix al frontend di Zabbix per il monitoraggio
Possiamo aggiungere un nuovo host ai gruppi di host già definiti o creare un nuovo gruppo di host. I gruppi di host ti consentono di categorizzare i tipi di nodi che stai monitorando. Per creare un nuovo gruppo di host, apri l’opzione Gruppi di host nel menu Configurazione.
Aggiungi il nome del gruppo nella casella e fai clic sul pulsante Applica per creare il gruppo.
Per creare un nuovo host, fai clic sull’opzione Host nel menu Configurazione e fai clic sul pulsante Crea host in alto a destra.

Aggiungi il nome host del nodo Zabbix.
Digita Linux by Zabbix agent nella sezione Modelli e seleziona il modello dal menu a discesa.
Allo stesso modo, digita Linux Servers nella sezione Gruppi e selezionalo.
Fai clic sul pulsante Aggiungi nella sezione Interfacce e seleziona Agente.
Quindi aggiungi l’indirizzo IP del nodo client Zabbix. Una volta terminato, il popup completo Nuovo host dovrebbe apparire come segue.

Successivamente, passa alla scheda Crittografia. Seleziona PSK per entrambe le opzioni Connessioni all’host e Connessioni dall’host. Imposta l’ID PSK su PSK 001, che è il valore che abbiamo impostato nel passo 11.3 per la variabile TLSPSKIdentity prima. Quindi imposta il valore PSK come la chiave che hai generato sulla macchina dell’agente prima.

Una volta terminato, fai clic sul pulsante Aggiungi per completare l’aggiunta dell’host.
Dovresti vedere il nuovo host nell’elenco con un’etichetta verde che indica che l’agente è connesso al server e sta funzionando come previsto.

Passo 13 - Configurare le notifiche via email
Zabbix supporta molti tipi di notifiche come email, Slack, Telegram, SMS, ecc. Per il nostro tutorial, configureremo le notifiche via email. Visita il frontend di Zabbix, fai clic su Amministrazione, e poi su Tipi di media nel menu a sinistra. Vedrai due tipi di email, una per email in testo semplice e l’altra per email HTML.

Fai clic sull’opzione Email (HTML) e vedrai la seguente pagina.

Inserisci i dettagli del tuo server SMTP. Per il nostro tutorial, stiamo utilizzando il servizio Amazon SES. Fai clic sul pulsante Aggiorna una volta terminato per salvare i dettagli. Sarai riportato alla pagina Tipi di media. Fai clic sul pulsante Test sulla pagina per testare le impostazioni email. Si aprirà un popup. Compila il tuo indirizzo email e fai clic sul pulsante Test per inviare un’email di prova.

Dovresti vedere un messaggio di successo nel popup che ti informa che ha funzionato bene e dovresti ricevere la seguente email nella tua casella di posta. Chiudi il popup facendo clic sul pulsante Annulla.

Passo 14 - Creare un nuovo utente
L’utente predefinito di Zabbix non è configurato per ricevere alcun tipo di notifica. Anche se possiamo farlo, l’utente predefinito non è sicuro da utilizzare. L’opzione migliore è creare un nuovo utente e poi disabilitare l’utente predefinito.
Visita la sezione Amministrazione >> Utenti del menu e fai clic sul pulsante Crea utente in alto a destra per aprire la seguente pagina.

Compila i dettagli dell’utente. Seleziona Amministratori Zabbix come gruppo utente. Una volta terminato, fai clic sulla scheda Media. Fai clic sul pulsante Aggiungi e seleziona Email (HTML) come tipo.

Inserisci il tuo indirizzo email nel campo Invia a e fai clic sul pulsante Aggiungi per aggiungere l’opzione email. Successivamente, passa alla scheda Permessi e fai clic sul pulsante Seleziona per aggiungere il Ruolo Super admin.

Fai clic sul pulsante Aggiungi per completare l’aggiunta dell’utente. Successivamente, devi disconnetterti dal frontend, accedere di nuovo come nuovo utente e tornare alla pagina degli utenti. Fai clic sull’utente Admin, seleziona il gruppo Disabilitato e aggiorna l’utente. Questo disabiliterà l’utente predefinito dall’essere utilizzato.
Passo 15 - Inviare un avviso di prova
Per impostazione predefinita, Zabbix tiene traccia della quantità di spazio libero sul server. Rileva tutti i montaggi del disco e esegue controlli regolarmente.
Il primo passo è abilitare il trigger di notifica che consente a Zabbix di inviare notifiche a tutti gli amministratori. Zabbix ha già configurato il trigger predefinito. Dobbiamo abilitarlo per farlo funzionare. Visita Configurazione >> Azioni >> Azioni di trigger e fai clic sullo stato Disabilitato per cambiarlo in Abilitato come mostrato.

Successivamente, accedi al nodo Zabbix e crea un file temporaneo abbastanza grande da attivare un avviso di utilizzo del disco.
Per prima cosa, determina lo spazio libero sul server.
$ 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
Questo mostra che abbiamo circa 78 GB di spazio libero. Successivamente, utilizza il comando fallocate per pre-allocare più del 80% dello spazio su disco. È abbastanza grande da attivare l’avviso.
$ fallocate -l 74G /tmp/temp.img
Controlla nuovamente l’utilizzo del disco.
$ 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 attiverà un avviso riguardo allo spazio su disco e invierà un’email di avviso riguardo a ciò. L’email apparirà come segue.

Puoi anche controllare la dashboard per l’avviso che dovrebbe apparire entro pochi secondi.

Elimina il file temporaneo quando hai finito.
$ rm -f /tmp/temp.img
Dovresti ricevere un’altra email che ti informa che il problema è stato risolto.

Passo 16 - Configurare la registrazione automatica per i nodi Linux
Quando devi aggiungere più nodi al server Zabbix, il processo può diventare un po’ tedioso. Fortunatamente, il frontend di Zabbix ti consente di automatizzare il processo utilizzando la registrazione automatica.
Visita Azioni >> Azioni di registrazione automatica e fai clic sul pulsante Crea azione in alto a destra.

Una volta sulla nuova schermata, dai un nome ( Registrazione automatica dei server Linux) all’azione.
Fai clic sul pulsante Aggiungi sotto Condizioni per aggiungere una condizione e scegli Host metadata come tipo, contiene come operatore e Linux come valore.

Fai clic su Aggiungi per procedere e la pagina di creazione dell’azione dovrebbe apparire come segue.

Fai clic sulla scheda Operazioni, seleziona Aggiungi al gruppo di host come Operazione e seleziona Linux servers come Gruppi di host. Fai clic sul pulsante Aggiungi per finire.

Se desideri utilizzare la crittografia PSK, puoi configurarlo anche. Visita il menu Amministrazione >> Generale >> Registrazione automatica e abilita entrambe le opzioni di crittografia. Inserisci un ID PSK e una chiave PSK creati sul server Zabbix. Puoi utilizzare questo ID PSK e chiave su ogni nodo e saranno crittografati utilizzando questi valori.

Da qui in poi, ogni volta che installerai e configurerai l’agente Zabbix su un server Linux, verrà automaticamente aggiunto al frontend di Zabbix.
Conclusione
Questo conclude il nostro tutorial su come installare e configurare un server Zabbix su un sistema Rocky Linux 9. Abbiamo anche installato un agente Zabbix su un server remoto per connetterci al server. Se hai domande, postale nei commenti qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.