Dopo 6 mesi di sviluppo nuova versione del sistema di monitoraggio , il cui codice è sotto licenza GPLv2. Zabbix è composto da tre componenti di base: un server per coordinare l'esecuzione dei controlli, generare le richieste di verifica e accumulare statistiche; agenti per effettuare controlli sui host esterni; un frontend per gestire il sistema.
Per ridurre il carico sul server centrale e formare una rete di monitoraggio distribuita, può essere implementata una serie di proxy server che aggregano i dati sui controlli di un gruppo di host. I dati possono essere memorizzati nei database MySQL, PostgreSQL, TimescaleDB, DB2 e Oracle. Senza agenti, il server Zabbix può ricevere dati tramite protocolli come SNMP, IPMI, JMX, SSH/Telnet, ODBC, eseguire test di disponibilità per applicazioni Web e sistemi di virtualizzazione.
:
- È stato presentato un nuovo tipo di agente — zabbix_agent2, sviluppato in Go, che fornisce un framework per lo sviluppo di plugin per il monitoraggio di vari servizi e applicazioni. Il nuovo agente include un pianificatore integrato con supporto per la definizione di orari flessibili per l'esecuzione delle verifiche e può tenere traccia dello stato tra le verifiche (ad esempio, mantenendo una connessione aperta a un database). Per risparmiare traffico, è supportata l'invio dei dati ricevuti in modalità batch. Il nuovo agente può essere utilizzato per sostituire in modo trasparente il vecchio, al momento solo sulla piattaforma Linux;
- È stata aggiunta la possibilità di utilizzare e gestori personalizzati per azioni e notifiche in caso di guasti dei servizi monitorati. I gestori possono essere creati in JavaScript e utilizzati per interagire con servizi esterni di invio di notifiche o sistemi di tracciamento degli errori. Ad esempio, è possibile scrivere un gestore per inviare messaggi sui problemi a una chat aziendale;
- È stata implementata la supporto ufficiale per i database come repository per i dati delle verifiche. A differenza delle versioni precedenti supportate
MySQL, PostgreSQL, Oracle e DB2, il database TimescaleDB è progettato specificamente per memorizzare e gestire dati sotto forma di serie temporali (fette di valori misurati a intervalli regolari, con il tempo che genera un insieme corrispondente di valori). TimescaleDB consente di migliorare notevolmente nella gestione di tali dati, dimostrando un livello di prestazioni quasi lineare. Inoltre, TimescaleDB supporta funzionalità come la pulizia automatica dei vecchi record; - specifiche per la formattazione dei template per la standardizzazione delle impostazioni. La struttura dei file XML/JSON è stata adattata per la modifica manuale del template in un normale editor di testo. I template esistenti sono stati aggiornati in conformità con le specifiche proposte;
- È stata realizzata una base di conoscenza per documentare gli elementi verificabili e i trigger, che possono essere dotati di una descrizione dettagliata, di chiarimenti sugli obiettivi di raccolta delle informazioni e di istruzioni su cosa fare in caso di problemi;
- Sono state presentate funzionalità avanzate per la visualizzazione dello stato dell'infrastruttura. È stata aggiunta la possibilità di modificare i parametri dei widget con un clic. I set di grafici sono ottimizzati per la visualizzazione su schermi widescreen e su grandi pannelli a muro. Tutti i widget sono adattati per la visualizzazione in modalità senza intestazione. È stato aggiunto un nuovo widget per visualizzare prototipi di grafici. È stata introdotta una nuova modalità di visualizzazione aggregata nel widget con statistiche riassuntive sui problemi;
- Le diagrammi a barre e i grafici ora supportano la visualizzazione dei dati elaborati tramite diverse funzioni aggregate, facilitando così l'analisi dei dati su intervalli di tempo più lunghi e semplificando la pianificazione. Sono supportate le seguenti funzioni: min,
max,
avg,
count,
sum,
first e
last; - È stata aggiunta la possibilità di registrare automaticamente nuovi dispositivi utilizzando chiavi PSK (Pre-shared key) con crittografia delle impostazioni per l'host aggiunto;
- È stata aggiunta la supporto per una sintassi JSONPath avanzata, che consente di organizzare un preprocessing complesso dei dati in formato JSON, inclusa l'aggregazione e le operazioni di ricerca;
- È stata aggiunta la possibilità di allegare descrizioni ai macro personalizzati;
- È stata migliorata l'efficienza della raccolta e della determinazione dei dati relativi a WMI, JMX e ODBC, grazie all'aggiunta di nuovi controlli che restituiscono array di oggetti in formato JSON. È stata anche aggiunta la supporto per i store VMWare e i servizi systemd, oltre alla possibilità di convertire i dati CSV in JSON;
- Il limite massimo per il numero di elementi dipendenti è stato aumentato a 10.000;
- Supporto aggiunto per nuove piattaforme: SUSE Linux Enterprise Server 15, Debian 10, Raspbian 10, macOS e RHEL 8. Per Windows è stato preparato un pacchetto con l'agente in formato MSI. È stata aggiunta la supporto per il rapido provisioning del sistema di monitoraggio in un contenitore isolato o in ambienti cloud AWS,
Google Cloud Platform,
Digital Ocean e Docker.
Fonte: opennet.ru
