Cos'è Zabbix

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

Zabbix è una soluzione di monitoraggio distribuito open source di classe 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, il cloud e altro ancora. Zabbix utilizza un meccanismo di notifica flessibile che consente agli utenti di configurare avvisi via email per praticamente qualsiasi evento. Ciò consente una rapida reazione ai problemi del 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 basato sul web. Un frontend basato sul web garantisce che lo stato della rete e la salute dei server possano essere valutati da qualsiasi luogo. Se configurato correttamente, Zabbix può svolgere un ruolo importante nel monitoraggio dell'infrastruttura IT. Questo vale allo stesso modo per le piccole organizzazioni con pochi server e per le grandi aziende con una moltitudine di server.

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

Supporto commerciale è disponibile ed è fornito da Zabbix Company e dai suoi partner in tutto il mondo.

Scopri di più sulle funzionalità di Zabbix.

Utenti di Zabbix

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

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 archiviati 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 facile accesso 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 di Zabbix vengono distribuiti sui target di monitoraggio per controllare 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, è 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 è 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 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.

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

Segnalazione altamente configurabile

  • l'invio delle notifiche può essere personalizzato in base al piano di escalation, al destinatario e al tipo di media
  • le notifiche possono essere rese significative e utili usando variabili macro
  • le azioni automatiche includono comandi remoti

Grafici in tempo reale

  • gli item monitorati vengono immediatamente rappresentati in grafico usando la funzionalità di grafici integrata

Funzionalità di monitoraggio web

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

Ampie opzioni di visualizzazione

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

Archiviazione dei dati storici

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

Configurazione semplice

  • aggiungi i dispositivi monitorati come host
  • gli host vengono presi in carico per il monitoraggio una volta presenti nel database
  • applica template ai dispositivi monitorati

Uso dei template

  • raggruppamento dei controlli nei template
  • i template possono ereditare 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 basato sul web in PHP
  • accessibile da qualsiasi luogo
  • puoi navigare con pochi clic
  • registro di audit

API di Zabbix

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

Sistema di permessi

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

agent completo e facilmente estensibile

  • distribuito sui target di monitoraggio
  • può essere distribuito sia su Linux che su Windows

Daemon binari

  • scritti in C, per prestazioni elevate e ridotto consumo di memoria
  • facilmente portabili

Pronto per ambienti complessi

  • monitoraggio remoto reso semplice usando un 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.

host group

- un raggruppamento logico di host. Gli host group vengono usati quando si assegnano diritti di accesso agli host per diversi gruppi di utenti.

item

- un particolare dato che desideri ricevere da un host, una metrica di dati.

value preprocessing

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

trigger

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

Quando i dati ricevuti sono superiori alla soglia, i trigger passano da Ok a uno stato Problem. Quando i dati ricevuti sono inferiori alla soglia, i trigger rimangono/tornano a uno stato Ok.

template

- un insieme di entità (item, trigger, grafici, regole di discovery a basso livello, scenari web) pronte per essere applicate a uno o più host.

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

template group

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

event

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

event tag

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

event correlation

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

Ad esempio, puoi definire che un problema segnalato da un trigger possa essere risolto da un altro trigger, che può anche usare un metodo diverso di raccolta dati.

problem

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

problem update

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

action

- un mezzo predefinito per reagire a un evento.

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

escalation

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

macro

- un segnaposto variabile che si risolve in un valore specifico a seconda del contesto.

media

- un mezzo di consegna delle notifiche; canale di consegna.

notification

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

remote command

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

web scenario

- 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 mostra riepiloghi e visualizzazioni di informazioni importanti in unità visive chiamate widget.

widget

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

Zabbix API

- Zabbix API consente di usare il protocollo JSON RPC per creare, aggiornare e recuperare oggetti Zabbix (come host, item, grafici e altri) oppure eseguire altre attività personalizzate.

Zabbix server

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

Zabbix proxy

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

Zabbix agent

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

Zabbix agent 2

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

Poiché Zabbix agent 2 condivide gran parte delle 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 in modo specifico solo quando la sua funzionalità differisce.

encryption

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

agent autoregistration

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

network discovery

- scoperta automatizzata dei dispositivi di rete.

low-level discovery

- scoperta automatizzata di entità di basso livello su un determinato dispositivo (ad esempio file system, interfacce di rete, ecc.).

low-level discovery rule

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

item prototype

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

trigger prototype

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

I prototype di alcune altre entità Zabbix sono anch'essi utilizzati nella low-level discovery - graph prototype, host prototype, host group prototype.