Cos'è Zabbix

Zabbix è stato creato da Alexei Vladishev e attualmente è sviluppato attivamente e supportato da Zabbix SIA.

Zabbix è una soluzione di monitoraggio distribuito open source di livello enterprise.

Zabbix è un software che monitora numerosi parametri di una rete e lo stato di salute e l'integrità di server, macchine virtuali, applicazioni, servizi, database, siti web, cloud e altro ancora. Zabbix utilizza un meccanismo di notifica flessibile che consente agli utenti di configurare avvisi via email per praticamente qualsiasi evento. Questo permette di reagire rapidamente ai problemi dei server. Zabbix offre eccellenti funzionalità di reporting e visualizzazione dei dati basate sui dati memorizzati. Questo rende Zabbix ideale per la pianificazione della capacità.

Zabbix supporta sia il polling sia il trapping. Tutti i report e le statistiche di Zabbix, così come i parametri di configurazione, sono accessibili tramite un frontend web. Un frontend web garantisce che lo stato della rete e lo stato di salute dei server possano essere valutati da qualsiasi posizione. Se configurato correttamente, Zabbix può svolgere un ruolo importante nel monitoraggio dell'infrastruttura IT. Questo vale sia per le piccole organizzazioni con pochi server sia per le grandi aziende con una moltitudine di server.

Zabbix è gratuito. Zabbix è scritto e distribuito con licenza AGPL-3.0. Ciò significa che il suo codice sorgente è distribuito liberamente ed è disponibile al pubblico.

È disponibile il supporto commerciale, fornito da Zabbix Company e dai suoi partner in tutto il mondo.

Per saperne di più sulle funzionalità di Zabbix.

Utenti di Zabbix

Molte organizzazioni di diverse dimensioni in tutto il mondo si affidano a Zabbix come piattaforma di monitoraggio principale.

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 riportano informazioni sulla disponibilità e l'integrità, nonché le statistiche. 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 memorizzati in un database.

Interfaccia web

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

Proxy

Lo Zabbix proxy può raccogliere dati sulle prestazioni e sulla disponibilità per conto di Zabbix server. Un proxy è una parte opzionale di un'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 locali e le applicazioni e riportare i dati raccolti al server Zabbix. 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 dare uno sguardo al flusso complessivo dei dati all'interno di Zabbix. Per creare un item che raccolga dati, è necessario prima creare un host. Spostandosi all'altro estremo dello spettro di Zabbix, per creare un trigger è necessario prima avere un item. È necessario avere un trigger per creare un'azione. Quindi, se si desidera ricevere un avviso che il carico della CPU è troppo elevato su Server X, è necessario prima creare una voce host per Server X, seguita da un item per monitorarne la CPU, quindi un trigger che si attiva se la CPU è troppo alta, seguito da un'azione che invia un'email. Anche se può sembrare un numero elevato di passaggi, con l'uso dei template in realtà non lo è. Tuttavia, grazie a questa progettazione, è possibile creare una configurazione molto flessibile.

Funzionalità

Zabbix è una soluzione di monitoraggio di rete altamente integrata, che offre una molteplicità di funzionalità in un unico pacchetto.

Raccolta dati

  • controlli di disponibilità e prestazioni
  • supporto per SNMP (sia trapping che polling), IPMI, JMX, monitoraggio VMware
  • controlli personalizzati
  • raccolta dei dati desiderati a intervalli personalizzati
  • eseguita da server/proxy e dagli agent

Definizioni flessibili delle soglie

  • è possibile definire soglie di problema molto flessibili, chiamate trigger, facendo riferimento ai valori del database backend

Avvisi altamente configurabili

  • l'invio delle notifiche può essere personalizzato in base alla pianificazione dell'escalation, al destinatario e al tipo di supporto
  • le notifiche possono essere rese significative e utili utilizzando le variabili macro
  • le azioni automatiche includono comandi remoti

Creazione di grafici in tempo reale

  • gli item monitorati vengono immediatamente rappresentati graficamente utilizzando la funzionalità di creazione di grafici integrata

Funzionalità di monitoraggio web

  • Zabbix può seguire un percorso di clic del mouse simulati su un sito web e verificarne la funzionalità e il tempo di risposta

Ampie opzioni di visualizzazione

  • possibilità di creare grafici personalizzati che possono combinare più item in un'unica vista
  • mappe di rete
  • slideshow in una panoramica in stile dashboard
  • report
  • vista di alto livello (business) delle risorse monitorate

Archiviazione dei dati storici

  • dati archiviati in un database
  • storico configurabile
  • procedura di housekeeping integrata

Configurazione semplice

  • aggiunta dei dispositivi monitorati come host
  • gli host vengono presi in carico per il monitoraggio una volta presenti nel database
  • applicazione di template ai dispositivi monitorati

Uso dei template

  • raggruppamento dei controlli nei template
  • i template possono ereditare da altri template

Rilevamento della rete

  • rilevamento automatico dei dispositivi di rete
  • autoregistrazione dell'agent
  • rilevamento di file system, interfacce di rete e OID SNMP

Interfaccia web veloce

  • un frontend web basato su PHP
  • accessibile da qualsiasi luogo
  • è possibile navigare facilmente con un clic
  • log di audit

Zabbix API

  • Zabbix API fornisce un'interfaccia programmabile a Zabbix per operazioni di massa, integrazione con software di terze parti e altri scopi.

Sistema di autorizzazioni

  • autenticazione utente sicura
  • alcuni utenti possono essere limitati a determinate viste

agent completo e facilmente estendibile

  • distribuito sugli obiettivi di monitoraggio
  • può essere distribuito sia su Linux che su Windows

Demoni binari

  • scritti in C, per prestazioni elevate e un ridotto utilizzo della memoria
  • facilmente portabili

Pronto per ambienti complessi

  • il monitoraggio remoto è semplificato grazie all'uso di uno Zabbix proxy

Glossario

In questa sezione puoi apprendere il significato di alcuni termini comunemente usati in Zabbix.

host

- qualsiasi dispositivo fisico o virtuale, applicazione, servizio o qualsiasi altra raccolta logicamente correlata di parametri monitorati.

gruppo di host

- un raggruppamento logico di host. I gruppi di host vengono utilizzati quando si assegnano diritti di accesso agli host per diversi gruppi di utenti.

item

- uno specifico dato che si desidera ricevere da un host, una metrica di dati.

preelaborazione del valore

- una trasformazione del valore della metrica ricevuta prima di salvarlo nel database.

trigger

- un'espressione logica che definisce una soglia di problema e viene utilizzata per "valutare" i dati ricevuti negli item.

Quando i dati ricevuti sono al di sopra della soglia, i trigger passano da 'Ok' a uno stato di 'Problem'. Quando i dati ricevuti sono al di sotto della soglia, i trigger rimangono in/tornano a uno stato di 'Ok'.

template

- un insieme di entità (item, trigger, grafici, regole di low-level discovery, scenari web) pronto per essere applicato a uno o più host.

Il compito dei template è accelerare la distribuzione delle attività di monitoraggio su un host; inoltre rendono più semplice applicare modifiche di massa alle attività di monitoraggio. I template sono collegati direttamente ai singoli host.

gruppo di template

- un raggruppamento logico di template. I gruppi di template vengono utilizzati quando si assegnano diritti di accesso ai template per diversi gruppi di utenti.

evento

- una singola occorrenza di qualcosa che merita attenzione, come un trigger che cambia stato o il verificarsi di una discovery/autoregistrazione dell'agent.

tag evento

- un marcatore predefinito per l'evento. Può essere utilizzato nella correlazione degli eventi, nella granularità dei permessi, ecc.

correlazione degli eventi

- un metodo per correlare i problemi alla loro risoluzione in modo flessibile e preciso.

Ad esempio, è possibile definire che un problema segnalato da un trigger possa essere risolto da un altro trigger, che può persino utilizzare un diverso metodo di raccolta dati.

problema

- un trigger che si trova nello stato "Problem".

aggiornamento del problema

- opzioni di gestione dei problemi fornite da Zabbix, come aggiungere un commento, confermare, cambiare gravità o chiudere manualmente.

azione

- un mezzo predefinito per reagire a un evento.

Un'azione consiste in operazioni (ad es. invio di una notifica) e condizioni (quando l'operazione viene eseguita)

escalation

- uno scenario personalizzato per eseguire operazioni all'interno di un'azione; una sequenza di invio di notifiche/esecuzione di comandi remoti.

macro

- un segnaposto variabile che viene risolto in un valore specifico a seconda del contesto.

media

- un mezzo per recapitare notifiche; canale di consegna.

notifica

- un messaggio relativo a un evento inviato a un utente tramite il canale media scelto.

comando remoto

- un comando predefinito che viene eseguito automaticamente su un host monitorato al verificarsi di una determinata condizione.

scenario web

- una o più richieste HTTP per verificare la disponibilità di un sito web.

frontend

- l'interfaccia web fornita con Zabbix.

dashboard

- sezione personalizzabile dell'interfaccia web che visualizza riepiloghi e rappresentazioni di informazioni importanti in unità visive chiamate widget.

widget

- unità visiva che mostra informazioni di un determinato tipo e origine (un riepilogo, una mappa, un grafico, l'orologio, ecc.), utilizzata nel dashboard.

Zabbix API

- Zabbix API consente di utilizzare il protocollo JSON RPC per creare, aggiornare e recuperare oggetti Zabbix (come host, item, grafici e altri) o eseguire qualsiasi altra attività personalizzata.

Zabbix server

- un processo centrale del software Zabbix che esegue il monitoraggio, interagisce con i proxy e gli agent di Zabbix, calcola i trigger, invia notifiche; un archivio centrale dei dati.

Zabbix proxy

- un processo che può raccogliere dati per conto di Zabbix server, sottraendo parte del carico di elaborazione al server.

Zabbix agent

- un processo distribuito sui target di monitoraggio per monitorare attivamente le risorse locali e le applicazioni.

Zabbix agent 2

- una nuova generazione di Zabbix agent per monitorare attivamente risorse locali e applicazioni, consentendo l'uso di plugin personalizzati per il monitoraggio.

Poiché Zabbix agent 2 condivide molte funzionalità con Zabbix agent, il termine "Zabbix agent" nella documentazione indica entrambi - Zabbix agent e Zabbix agent 2, se il comportamento funzionale è lo stesso. Zabbix agent 2 viene nominato specificamente solo dove la sua funzionalità differisce.

crittografia

- supporto delle comunicazioni crittografate tra i componenti Zabbix (server, proxy, agent, utility zabbix_sender e zabbix_get) tramite il protocollo Transport Layer Security (TLS).

autoregistrazione dell'agent

- processo automatizzato mediante il quale un Zabbix agent stesso viene registrato come host e il monitoraggio viene avviato.

network discovery

- discovery automatizzata dei dispositivi di rete.

low-level discovery

- discovery automatizzata di entità di basso livello su un particolare dispositivo (ad es. file system, interfacce di rete, ecc.).

regola di low-level discovery

- insieme di definizioni per la discovery automatizzata di entità di basso livello su un dispositivo.

prototipo di item

- una metrica con determinati parametri come variabili, pronta per la low-level discovery. Dopo la low-level discovery le variabili vengono automaticamente sostituite con i parametri reali rilevati e la metrica inizia automaticamente a raccogliere dati.

prototipo di trigger

- un trigger con determinati parametri come variabili, pronto per la low-level discovery. Dopo la low-level discovery le variabili vengono automaticamente sostituite con i parametri reali rilevati e il trigger inizia automaticamente a valutare i dati.

I prototipi di alcune altre entità Zabbix sono utilizzati anche nella low-level discovery - prototipi di grafico, prototipi di host, prototipi di gruppo di host.