A metà maggio è stata rilasciata la versione Zabbix 5.0 e abbiamo organizzato una serie di incontri online in diverse lingue per mostrare chiaramente alla community tutti i cambiamenti e le novità. Ti invitiamo a leggere il rapporto di Alexey Vladyshev, direttore esecutivo e creatore di Zabbix, in cui ha descritto passo dopo passo le novità di Zabbix 5.0.
Zabbix 4.2 e Zabbix 4.4
Cominciamo con le modifiche apparse nella versione Zabbix 4.0 in relazione all'utilizzo delle versioni LTS.
Nella versione Zabbix 4.2, rilasciata nell'aprile 2019, sono apparse le seguenti funzionalità:
Monitoraggio della limitazione ad alta frequenza che fornisce scalabilità e NVPS più elevato, il che significa rilevamento e avviso dei problemi più rapidi senza sovraccaricare Zabbix.
Raccolta di dati utilizzando un agente HTTP.
Supporto per la raccolta dati da Prometheus Pro.
La preelaborazione supporta la convalida e JavaScript, che consente di trasformare tutti i dati raccolti.
Preelaborazione lato proxy, che consente una scalabilità più efficiente con i proxy.
Gestione migliorata dei tag: metainformazioni a livello di evento e problema, con cui è comodo lavorare, poiché i tag sono supportati sia a livello di modello che a livello di host.
Lo scorso settembre è stato rilasciato Zabbix 4.4, che offriva le seguenti funzionalità:
Nuovo agente Zabbix.
Supporto webhook per avvisi e notifiche, consentendo l'integrazione con sistemi esterni.
Supporto TimescaleDB.
La knowledge base integrata per metriche e trigger è diventata visibile agli utenti Zabbix. Ad esempio, gli utenti possono utilizzare le descrizioni degli elementi e attivare le descrizioni in Monitoraggio > Ultimi dati.
Il nuovo standard per i modelli.
Zabbix5.0
Oggi parleremo della versione LTS di Zabbix 5.0, che sarà supportata per 5 anni. Il supporto per la versione 4.4 termina dopo un mese. La versione LTS di Zabbix 3.0 sarà supportata per altri 3,5 anni.
Zabbix fornisce il monitoraggio di molte cose, il cui elenco può essere specificato nella pagina http://www.zabbix.com/integrations, dove vengono presentati modelli e plug-in di monitoraggio, anche per il nuovo agente.
Modelli disponibili per il monitoraggio e l'integrazione
Inoltre, ci sono possibilità di integrazione con diversi sistemi, tra cui sistemi di ticket, sistemi ITSM e sistemi di consegna di messaggi tramite Webhook.
Opzioni di integrazione
Zabbix 5.0 ha ampliato il supporto integrato per l'integrazione con vari sistemi di ticket, nonché sistemi di avviso:
Integrazione con vari sistemi
L'elenco dei modelli integrati per il monitoraggio di applicazioni e dispositivi è stato ampliato:
Modelli integrati per il monitoraggio di applicazioni e dispositivi
Tutti gli aggiornamenti sono disponibili per il download su Repository Git.
Qualsiasi utente o sviluppatore può partecipare a Zabbix con prodotti già pronti - template o plugin, utilizzando una semplice procedura:
Revisione dell'applicazione da parte del team di sviluppo. Se un plug-in o un modello è conforme agli standard Zabbix, viene incluso nel prodotto e il lavoro di tale sviluppatore sarà ufficialmente supportato dal team Zabbix.
Zabbix è un software open source che può essere visualizzato, studiato e modificato. All'utente viene data la possibilità di utilizzare liberamente il prodotto, partecipare al perfezionamento del programma o utilizzare il codice per i propri nuovi programmi. D'altra parte, il team Zabbix fa ogni sforzo per garantire che Zabbix possa essere facilmente installato su varie piattaforme.
Gli sviluppatori Zabbix offrono pacchetti per quasi tutte le distribuzioni più popolari e varie piattaforme di virtualizzazione. Inoltre, Zabbix può essere installato in un cloud pubblico con un clic. Zabbix è disponibile anche sulle piattaforme Red Hat Openshift o OpenStack.
Pacchetti Zabbix per distribuzioni e piattaforme
Supporto Zabbix Agent 2 per Windows e Linux
Il nuovo Zabbix Agent 2 è una delle migliori soluzioni sul mercato.
Offre una struttura basata su plug-in e supporta script di raccolta dati che possono essere eseguiti per ore.
Supporta scansioni attive parallele e connessioni persistenti a sistemi esterni, utile, ad esempio, per un monitoraggio efficace del database.
Supporta trap ed eventi, importante per il monitoraggio, ad esempio, dei dispositivi MQTT.
La nuova versione dell'agente è facile da installare (poiché il nuovo agente supporta tutte le funzionalità precedenti).
Inoltre, il nuovo agente in Zabbix 5.0 offre supporto per l'archiviazione persistente dei dati. In precedenza, le informazioni non inviate venivano archiviate solo nella memoria buffer dell'agente, ma nella nuova versione è possibile configurare la memorizzazione di tali informazioni su disco.
Archiviazione dati persistente
Ciò è importante nel caso di monitoraggio di sistemi critici e comunicazioni instabili, poiché una grande quantità di dati critici viene archiviata prima di essere inviata al server Zabbix. L'opzione è utile anche per le connessioni satellitari che potrebbero non essere disponibili per lunghi periodi di tempo. IMPORTANTE! Zabbix 5.0 mantiene il supporto per Zabbix Agent 1.
Modifiche alla sicurezza in Zabbix 5.0
1. La nuova versione supporta il proxy HTTP per webhook, che consente di effettuare connessioni dal server Zabbix a sistemi di avviso esterni in modo più sicuro e controllato.
Se devi integrare un server Zabbix su una rete locale con un sistema esterno, ad esempio JIRA nel cloud, puoi mantenere la connessione tramite un proxy HTTP, che migliora la controllabilità e l'affidabilità della connessione.
2. Sia per il vecchio che per il nuovo agente, è possibile selezionare quali controlli devono essere disponibili su un particolare agente. Ad esempio, puoi limitare il numero di controlli, creando essenzialmente liste bianche e nere, e definire le chiavi supportate.
Whitelist per controlli relativi a MySQL
AllowKey=mysql[*]
DenyKey=*
Lista nera per negare tutti gli script di shell
DenyKey=system.run[*]
Lista nera per negare l'accesso a /etc/password
DenyKey=vfs.file.contents[/etc/passwd,*]
3. È possibile selezionare algoritmi di crittografia per tutti i componenti Zabbix per evitare l'uso di cifre non sicure per le connessioni TLS. Ciò è importante per monitorare gli ambienti in cui si applicano determinati standard di sicurezza.
Selezione degli algoritmi di crittografia per le connessioni TLS
4. Zabbix 5.0 ha introdotto il supporto per le connessioni crittografate al database. Attualmente sono disponibili solo connessioni crittografate a PostgreSQL e MySQL.
Connessioni al database crittografate
5. Zabbix 5.0 è passato da MD5 a SHA256 per la memorizzazione degli hash delle password degli utenti nel database, poiché questo è l'algoritmo più sicuro al momento.
6. Zabbix 5.0 supporta macro utente segrete per archiviare informazioni sensibili come password e token API a cui gli utenti finali non hanno accesso.
Macro segrete
7. Tutte le connessioni Zabbix ai sistemi esterni e le connessioni interne agli agenti sono sicure. La crittografia è supportata utilizzando certificati TLS o utilizzando una crittografia a chiave pre-condivisa per la connessione ad agenti e proxy o HTTPS. La sicurezza da parte dell'agente può essere migliorata tramite liste bianche e nere. L'interfaccia funziona tramite HTTPS.
Connessioni sicure
8. Supporto SAML per fornire un singolo punto di autenticazione con un fornitore di servizi di identità attendibile, in modo che le credenziali dell'utente non lascino il firewall.
Identità SAML
Il supporto SAML ti consente di integrare Zabbix con vari fornitori di servizi di identità locali e cloud, come Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, nonché Azure, AWS o Google Cloud Platform.
Facilità d'uso di Zabbix 5.0
1. Interfaccia utente ottimizzata per schermi ampi. Abbiamo spostato il menu dall'alto, dove c'è sempre spazio per spazio, al lato sinistro dello schermo. Il menu è ancora visualizzato in modalità completa, minima e nascosta.
Interfaccia ottimizzata per schermo ampio
2. Copia dei widget dai pannelli permette di creare nuovi PANNELLI in tempi molto rapidi. Per fare ciò, è necessario selezionare il widget desiderato nel PANNELLO, fare clic su Copia
Copia di un widget
e inserisci il widget nel pannello desiderato.
Incollare un widget copiato
3. Esporta grafici. Per copiare il grafico e inviarlo, ad esempio, via email, puoi ottenere il grafico in formato PNG selezionando il widget desiderato e cliccando Scarica l'immagine.
Esporta grafici
4. Filtra per tag: problema per gravità e host problema. È diventato possibile, ad esempio, raccogliere dati su tutti i problemi associati a un nodo di rete in un data center.
Filtra per tag
5. Supporto per moduli per estendere l'interfaccia Zabbix. Per installare un modulo indipendente, è necessario copiarlo in una directory specifica. I moduli consentono di espandere le funzionalità esistenti dell'interfaccia, creare nuove pagine, modificare la struttura del menu, ad esempio aggiungere elementi.
Qualsiasi utente può scrivere e integrare un modulo. Per fare ciò, il modulo viene copiato nella cartella dei moduli, dopodiché diventa visibile sull'interfaccia, dove può essere acceso e spento.
Aggiunta di un nuovo modulo
6. Facilità di navigazione attraverso le risorse associate ai nodi della rete. In Monitoraggio > Host viene visualizzato un elenco di dispositivi monitorati da Zabbix: host, servizi, dispositivi di rete, ecc. Inoltre, è disponibile la navigazione rapida verso schermate, grafici e problemi di dispositivi specifici.
Abbiamo rimosso le schede Monitoraggio > Grafici e monitoraggio > Webe tutta la navigazione viene eseguita tramite Monitoraggio > Host. Le informazioni visualizzate possono essere filtrate, anche per tag, che consente di visualizzare i dispositivi disabilitati
Navigazione delle risorse relative ai nodi della rete
Ad esempio, puoi selezionare i dispositivi classificati come servizi per l'utente finale selezionando "Servizi', oltre a stabilire il livello di importanza di questi problemi.
Opzioni di filtraggio
7. Nuova operazione di preelaborazione - 'Sostituisci' ti permette di fare diverse cose utili che prima potevano essere fatte solo utilizzando le espressioni regolari, che sono piuttosto complesse per molti utenti. sostituire ti consente di sostituire effettivamente una stringa o un carattere con un altro, permettendoti di convertire semplicemente i dati ricevuti in formato testo in una rappresentazione numerica.
Sostituisci operatore
8. Operatore JSONPath, che consente di estrarre i nomi degli attributi in un formato conveniente
Operatore per JSONPath
9. Visualizza i messaggi e-mail Zabbix. Nelle versioni precedenti, tutte le email di Zabbix nella cartella Posta in arrivo venivano visualizzati in un elenco. A partire da Zabbix 5.0 i messaggi verranno raggruppati per problema.
Raggruppamento di messaggi e-mail da Zabbix
10. Supporta macro personalizzate per IPMI per nome utente e password. Se vengono utilizzate macro segrete per nome utente e password, l'accesso al loro valore verrà negato.
Supporto per macro personalizzate
11. Modifica in blocco delle macro utente per i nodi di rete. Nella nuova versione puoi aprire un elenco di modelli, selezionare un elenco di host e aggiungere macro o modificare i valori delle macro esistenti,
Aggiunta e modifica di macro personalizzate
ed eliminare anche alcune o tutte le macro dai modelli selezionati per i nodi di rete.
Rimozione di singole o tutte le macro utente
12. Controllo del formato del messaggio a livello del metodo di notifica. In Tipi di supporti è apparsa la scheda Modelli multimediali con modelli di messaggio.
Modelli di metodi di notifica
È possibile definire diversi modelli per diversi tipi di messaggio.
Definizione di un modello per un tipo di messaggio
Nelle versioni precedenti era necessario gestire questi messaggi a livello di azione, definendo i messaggi e gli elementi predefiniti.
Gestione dei modelli a livello di attività
Nella nuova versione, tutto può essere definito a livello globale e, a livello di messaggio, le impostazioni globali possono essere riscritte.
Gestisci i modelli a livello globale
Per la maggior parte degli utenti è sufficiente definire i formati dei modelli a livello del metodo multimediale. Inoltre, dopo aver importato un nuovo metodo di notifica, tutti i formati di modello corrispondenti ne fanno già parte.
13. Utilizzo più ampio di JavaScript. JavaScript viene utilizzato per la preelaborazione di script, webhook, ecc. Sulla riga di comando, lavorare con JavaScript non è facile.
Zabbix 5.0 utilizza una nuova utility: zabbix_js, che esegue JavaScript che accetta i dati, li elabora e genera valori di output.
utilità zabbix_js
Esempi di utilizzo dell'utilità zabbix_js
14. Supporto per operazioni di testo con espressioni trigger consente di verificare le versioni dei componenti installati, confrontare i valori con eventuali costanti e la costante può essere una macro personalizzata,
confrontare l'ultimo valore con quello precedente, ad esempio, quando si tratta di dati di testo,
{host:text.last()}<>{host.text.prev()}
o
{host:text.last(#1)}<>{host.text.prev(#2)}
o confrontare valori di testo di metriche diverse.
{hostA:textA.last()}={hostB:textB.last()}
15. Automazione e scoperta.
Sono disponibili nuovi controlli JMX per recuperare e scoprire un elenco di contatori JMX, che è molto utile, ad esempio, per monitorare le applicazioni Java, nonché per automatizzare la creazione di elementi di monitoraggio, metriche, trigger e grafici.
jmx.get[]
и
jmx.discovery[]
Controlli JMX
La nuova versione ha una chiave per il monitoraggio dei contatori delle prestazioni di Windows, che è supportata dai vecchi e nuovi agenti in russo e inglese e consente, ad esempio, di rilevare il numero di processori, file system, servizi, ecc.
Monitoraggio dei contatori delle prestazioni di Windows utilizzando una chiave perf_counter
Il monitoraggio ODBC è diventato molto più semplice. In precedenza tutti i parametri per il monitoraggio ODBC dovevano essere descritti in un file esterno /etc/odbc.ini, che non era accessibile dall'interfaccia Zabbix. Nella nuova versione quasi tutti i parametri possono far parte della chiave metrica.
Chiave metrica con descrizione dei parametri
Nella nuova versione, puoi impostare il nome e la porta del server a livello di metrica e il nome e la password per l'accesso utilizzando macro segrete per la sicurezza.
Utilizzo di macro segrete
Quando si utilizza il protocollo IPMI per il monitoraggio delle apparecchiature, è diventato possibile creare modelli più semplici per l'utilizzo dell'automazione ipmi.get.
ipmi.get
16. Testare gli elementi di dati dall'interfaccia. Zabbix 5.0 ha introdotto la possibilità di testare alcuni articoli e, cosa ancora più importante, modelli di articoli dall'interfaccia.
Test degli elementi di dati
Eventuali problemi che si presentano vengono visualizzati nell'interfaccia.
Visualizzazione dei problemi nell'interfaccia
Un algoritmo simile viene utilizzato per i modelli di elemento. Inoltre, se un elemento dati non è supportato, puoi scoprire il motivo dell'errore semplicemente facendo clic Test.
17. Testare i metodi di notifica, apparso in Zabbix 4.4, viene preservato, il che è importante quando si integra Zabbix con altri sistemi, ad esempio i sistemi di ticket.
Testare i metodi di notifica
18. Supporto per macro personalizzate per prototipi di articoli. È possibile utilizzare le macro LLD per definire valori macro personalizzati.
Utilizzo delle macro LLD per definire i valori delle macro personalizzate
19. Supporto dati Float64, necessari principalmente per il monitoraggio di valori molto grandi, sono necessari in Zabbix per supportare i dati ricevuti dagli agenti Prometheus.
Se installi Zabbix 5.0, la migrazione automatica dei dati allo standard Float64 non avviene. L'utente ha ancora la possibilità di utilizzare i vecchi tipi di dati. Gli script di migrazione Float64 vengono eseguiti manualmente e modificano i tipi di dati nelle tabelle cronologiche. La sostituzione automatica non viene utilizzata perché richiede molto tempo.
20. Migliorata scalabilità di Zabbix 5.0: ottimizzazione dell'interfaccia ed eliminazione dei colli di bottiglia
Gli elenchi a discesa, ad esempio per la selezione degli host, sono stati eliminati perché questa funzionalità non è scalabile.
Esistono limiti "integrati" per le dimensioni della tabella Panoramica.
Sono apparse nuove opportunità Monitoraggio > Host > Grafici.
È apparsa la funzione di cercapersone (Monitoraggio > Host > Web) dove non lo era.
21. Compressione migliorata
La compressione in Zabbix si basa su un'estensione per PostgreSQL - TimescaleDB (da Zabbix 4.4). TimescaleDB fornisce il partizionamento automatico del database e migliora le prestazioni del database perché le prestazioni di TimescaleDB sono praticamente indipendenti dalle dimensioni del database.
In Zabbix 5.0 Amministrazione > Generale > Pulizie È possibile configurare, ad esempio, la compressione dei dati più vecchi di 7 giorni. Ciò riduce significativamente lo spazio su disco richiesto (di quasi dieci volte, secondo gli utenti), migliorando il risparmio di spazio su disco e le prestazioni.
Compressione con TimescaleDB
22. Configurazione SNMP a livello di interfaccia. In Zabbix 5.0, invece di tre tipi di elementi di dati, ne viene utilizzato solo uno: l'agente SNMP. Tutti gli attributi SNMP sono stati spostati al livello dell'interfaccia host, il che rende possibile semplificare i modelli, passare da una versione SNMP all'altra, ecc.
Configurazione SNMP a livello di interfaccia
23. Dipendenza del monitoraggio della disponibilità dei nodi di rete dalla disponibilità di un proxy consente di visualizzare il problema della disponibilità del proxy come priorità in caso di indisponibilità dei nodi della rete durante il monitoraggio utilizzando un trigger con la funzione nessun dato:
{HostA:item.nodata(1m)}=1
La disponibilità dei nodi di rete è determinata dalla disponibilità del proxy
Funzione nessun dato per impostazione predefinita tiene conto della disponibilità del proxy. Per un controllo più rigoroso che non tenga conto della disponibilità del proxy, viene utilizzato il secondo parametro - rigoroso:
{HostA:item.nodata(1m,strict)}=1
24. Gestione delle regole di rilevamento di basso livello. Zabbix 5.0 ha introdotto un filtro LLD che consente di visualizzare le regole di rilevamento non supportate
Filtro LLD
25. Capacità di non riconoscere il problema (non riconoscimento) consente di correggere gli errori ed è utile quando si creano flussi di lavoro che dipendono dalla conferma del problema.
Non riconoscere il problema
26. Modifica delle regole di rilevamento di basso livello — la possibilità di aggiungere eccezioni durante il rilevamento di oggetti come risultato del monitoraggio dei file system, che consente al rilevamento di basso livello di creare o meno determinati oggetti, trigger, elementi di dati, ecc., modificare la gravità dei problemi, aggiungere tag per determinati oggetti , escludere oggetti, ad esempio file system temporanei, dalla ricerca, modificare l'intervallo di aggiornamento dei dati, ecc.
Esclusione dal rilevamento di basso livello dei file system temporanei
Ad esempio, è possibile modificare il livello di priorità del trigger per i file system Oracle rilevati lasciando allo stesso livello il livello di priorità del trigger per gli altri file system.
Modifica del livello di priorità dei trigger per i singoli file system
27. Nuove macro in Zabbix 5.0 consentono di migliorare la qualità del monitoraggio.
Nuove macro in Zabbix 5.0
28. Altre innovazioni in Zabbix 5.0:
Miglioramenti in Zabbix 5.0
29. Fine del supporto
Funzionalità non supportata
conclusione
L'aggiornamento a Zabbix 5.0 è molto semplice! Installa ed esegui nuovi file binari del server e file frontend e il server aggiornerà automaticamente il tuo database.
Le informazioni sulla procedura di aggiornamento di Zabbix sono disponibili all'indirizzo: https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500
IMPORTANTE!
L'aggiornamento dei dati storici al formato Float64 è facoltativo.
I dati TimescaleDB sono di sola lettura.
Versione minima richiesta di PHP7.2.
DB2 non è supportato come backend per il server Zabbix
(!) È possibile visualizzare video e diapositive delle presentazioni di Alexey Vladyshev e di altri relatori allo Zabbix Meetup Online (russo) qui.