Zabbix

Zabbix

Oggi ci soffermiamo su Zabbix che è una potente risorsa per il monitoring dei server.

Ogni amministratore di sistema deve monitorare i propri server anche per valutare le performance e le funzionalità.

In effetti, le attività per il controllo delle funzionalità dei servizi, aggiornamenti, performance, ecc. richiedono tempo e, a volte, può anche capitare di restare impegnati più di quanto si pensava o si era programmato.

Zabbix fondamentalmente è strutturato in una componente server e una parte client sui quali vanno installati gli Agent.

Immaginando di installare la componente server su una macchina o VM, per monitorare altri server è necessario installare su ciascuno di essi uno Zabbix Agent. Infatti, ciascun agent invia le informazioni al server Zabbix che le raccoglie e le elabora.

In questo modo è possibile effettuare il monitoring delle risorse e Zabbix - in presenza di eventuali anomalie - invia automaticamente avvisi all’amministratore di sistema che, così, può intervenire.

Installare Zabbix (server)

La prima cosa da fare è installare Zabbix nella sua componente server e per far ciò è preferibile farlo su una macchina o VM che sia esterna all’infrastruttura che intendiamo monitorare. Questa soluzione è motivata dall’intento di evitare che, qualora si verificassero incidenti (ad esempio attacchi o mancanza di energia elettrica), si interrompesse il monitoring della componente server, rendendo vano il servizio di alert al sysadmin. Diversamente, collocando Zabbix server al di fuori dell’infrastruttura da monitorare, in presenza di eventuali incidenti, l’amministratore di sistema verrebbe comunque informato.

Sul sito ufficiale di Zabbix sono presenti le istruzioni per l’installazione sia della componente server sia per gli agent; inoltre, sempre sul sito ufficiale è presente la documentazione di riferimento.

Individuare la piattaforma sulla quale installare

Le istruzioni ufficiali impongono - ovviamente - l’individuazione delle caratteristiche della piattaforma sulla quale si intende installare Zabbix.

Selezionate le caratteristiche del sistema operativo, del tipo di database (scegliendo tra MySQL e Postgresql) e del web service che si intende utilizzare (Apache o NGINX), automaticamente nella parte sottostante della pagina vengono evidenziate le istruzioni dettagliate per l’installazione.

Completata la parte di installazione del server, si sarà in grado di accedere alla piattaforma via browser e configurare.

Nella fase di configurazione è decisivo creare gli “host” dove sono o saranno installati gli agent.

Quindi si deve selezionare la voce Configuration e quindi Hosts e si visualizzerà la seguente immagine

Conf01

Clicare sul pulsante “Create host” (in alto a destra) e si aprirà la seguente finestra

Conf01

Quindi nel campo “Host name” scrivere il nome che si intende attribuire a quell’host, come nell’immagine che segue ove, a titolo esemplificativo, è presente “ABC”

Conf01

Installare gli Agent

La fase successiva, dopo l’installazione della componente server, è l’installazione degli Agent e anche per questa attività sono disponibili le istruzioni ufficiali di Zabbix.

Configurazione degli Agent

Una volta installati gli agent, bisogna configurarli.
Il file di configurazione zabbix_agentd.conf viene installato in /etc/zabbix/ e pertanto si dovrà editarlo mediante:

nano /etc/zabbix/zabbix_agentd.conf

Gli interventi da effettuare sono i seguenti:

  • al termine del blocco seguente, aggiungere (nel blocco riportato è già presente) Server=000.000.000.000 dove “000.000.000.000” è l’indirizzo IP del server sul quale è installato Zabbix.
### Option: Server
#       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
#       and '::/0' will allow any IPv4 or IPv6 address.
#       '0.0.0.0/0' can be used to allow any IPv4 address.
#       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=

Server=000.000.000.000
  • al termine del blocco seguente, aggiungere (nel blocco riportato è già presente) Server=000.000.000.000 dove “000.000.000.000” è l’indirizzo IP del server sul quale è installato Zabbix.
### Option: ServerActive
#       List of comma delimited IP:port (or DNS name:port) pairs of Zabbix servers and Zabbix proxies for active checks.
#       If port is not specified, default port is used.
#       IPv6 addresses must be enclosed in square brackets if port for that host is specified.
#       If port is not specified, square brackets for IPv6 addresses are optional.
#       If this parameter is not specified, active checks are disabled.
#       Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
#
# Mandatory: no
# Default:
# ServerActive=

ServerActive=93.151.251.105
  • al termine del blocco seguente, aggiungere (nel blocco riportato è già presente) Hostname=nomeserveragent dove “nomeserveragent” è il nome attribuito al server sul quale è installato l’agent durante la configurazione del server Zabbix via browser.
### Option: Hostname
#       Unique, case sensitive hostname.
#       Required for active checks and must match hostname as configured on the server.
#       Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=

Hostname=nomeserveragent

In questo modo si sono completate le procedure.

Un sentito ringraziamento all’Amico Zac per il suggerimento e il supporto.


Se questa risorsa è stata utile, potreste contribuire con

Buy me a coffee

o donare via

Liberapay


Follow us on Mastodon

Stay tuned!