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, sono memorizzate 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 della distribuzione 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: lo Zabbix agent (leggero, supportato su molte piattaforme, scritto in C) e lo 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, è necessario prima avere un item per creare un trigger. È necessario avere un trigger per creare un'azione. Quindi, se si desidera ricevere un avviso che il carico della CPU su Server X è troppo elevato, è necessario prima creare una voce host per Server X, seguita da un item per monitorarne la CPU, quindi 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.