4 Panoramica di Zabbix

Architettura

Zabbix è composto da diversi componenti software principali. Le loro responsabilità sono descritte di seguito.

Server

Zabbix server è il componente centrale a cui gli agent segnalano informazioni e statistiche sulla disponibilità e sull'integrità. Il server è il repository centrale in cui vengono memorizzati tutti i dati di configurazione, statistici e operativi.

Archiviazione del database

Tutte le informazioni di configurazione, così come i dati raccolti da Zabbix, vengono memorizzati in un database.

Interfaccia web

Per un accesso semplice a Zabbix da qualsiasi luogo e da qualsiasi piattaforma, viene fornita l'interfaccia basata sul web. L'interfaccia fa parte di Zabbix server e di solito (ma non necessariamente) viene eseguita sulla stessa macchina fisica su cui è in esecuzione il server.

Proxy

Zabbix proxy può raccogliere dati sulle prestazioni e sulla disponibilità per conto di Zabbix server. Un proxy è una parte opzionale dell'installazione di Zabbix; tuttavia, può essere molto utile per distribuire il carico di un singolo Zabbix server.

Agent

Gli agent Zabbix vengono distribuiti sui target di monitoraggio per monitorare attivamente le risorse e le applicazioni locali e inviare i dati raccolti a Zabbix server. A partire da Zabbix 4.4, sono disponibili due tipi di agent: Zabbix agent (leggero, supportato su molte piattaforme, scritto in C) e Zabbix agent 2 (estremamente flessibile, facilmente estendibile con plugin, scritto in Go).

Flusso dei dati

Inoltre è importante fare un passo indietro e osservare il flusso complessivo dei dati all'interno di Zabbix. Per creare un item che raccolga dati, è necessario prima creare un host. Passando all'altro estremo dello spettro di Zabbix, per creare un trigger è necessario prima avere un item. Per creare un'azione è necessario avere un trigger. Quindi, se si desidera ricevere un avviso che segnali che il carico della CPU su Server X è troppo elevato, è necessario prima creare una voce host per Server X, quindi un item per monitorarne la CPU, poi un trigger che si attivi se la CPU è troppo alta, seguito da un'azione che invii un'email. Anche se possono sembrare molti passaggi, con l'uso dei template in realtà non lo sono. Tuttavia, grazie a questo design, è possibile creare una configurazione molto flessibile.