Zabbix
# Zabbix

Zabbix è un software libero per il monitoraggio di reti e vari sistemi informatici, atto a tracciare lo stato di server e servizi di rete correlati. Ideato dal programmatore russo Alexei Vladishev, è rilasciato sotto i termini della GNU General Public License versione 2.

## Storia

Nel 1998 Zabbix nacque come strumento proprietario utilizzato come progetto interno di un istituto bancario. Dopo tre anni, nel 2001, fu rilasciato al pubblico sotto i termini di una licenza di software libero. Ci sono voluti altri tre anni per il rilascio della versione stabile 1.0.

Dal 2005 fu fondata l'omonima società multinazionale Zabbix LLC con sedi negli Stati Uniti d'America, in Europa e Giappone.

Timeline dei maggiori rilasci :

| Zabbix 1.0 ||
| - | - |
| 1998 | Nascita di Zabbix È un progetto interno in una banca. |
| 7 aprile 2001 | Zabbix 1.0alpha1 È rilasciato sotto GNU GPL v2. |
| 23 marzo 2004 | Zabbix 1.0 |
| Zabbix 1.x ||
| 6 febbraio 2006 | Zabbix 1.1 |
| 29 maggio 2007 | Zabbix 1.4 |
| 11 settembre 2008 | Zabbix 1.6 |
| 7 dicembre 2009 | Zabbix 1.8 |
| Zabbix 2.x ||
| 21 maggio 2012 | Zabbix 2.0 |
| 12 novembre 2013 | Zabbix 2.2 |
| 11 settembre 2014 | Zabbix 2.4 |
| Zabbix 3.x ||
| 16 febbraio 2016 | Zabbix 3.0 |
| 14 settembre 2016 | Zabbix 3.2 |

### Versioni pubblicate

Nota: questo grafico esclude le release candidate del ramo stabile.

## Componenti

Zabbix consta in diversi moduli separati:

* Server
* Agenti (agent)
* Frontend
* Proxy

Il backend (server, proxy ed agenti) sono scritti in C mentre il frontend (la dashboard) è implementato in PHP e JavaScript.

Il Java gateway è scritto in Java ed è disponibile da Zabbix 2.0.

## Caratteristiche

Zabbix per la raccolta dei dati si interfaccia a vari database quali MySQL, PostgreSQL, SQLite, Oracle o IBM DB2.

Per verificare la disponibilità e la prontezza di alcuni servizi standard come SMTP o HTTP è sufficiente un simple check, ovvero non occorre installare alcun software sull'host da monitorare. Per monitorare altri tipologie di risorse quali il carico della CPU, la congestione di rete, lo spazio su disco, ecc. occorre installare il software Zabbix agent.

Fra i protocolli supportati vi sono SNMP, TCP e ICMP, così come IPMI, JMX, SSH, Telnet, o usando comandi personalizzati (user parameters).

Zabbix supporta vari meccanismi di notifica in sistema real-time fra i quali la posta elettronica, il protocollo di messaggistica istantanea XMPP, e via SMS.

### Software agent

Una delle caratteristiche di Zabbix è l'utilizzo di agent implementati evitando linguaggi ad alto livello. Questo permette alte prestazioni e la possibilità di monitorare di centinaia di migliaia di dispositivi.

Fra le funzionalità supportate dai vari agent:

* Auto rilevamento di server e dispositivi di rete
* Low-level discovery
* Monitoraggio distribuito con gestione centralizzata via interfaccia web
* Supporto per polling e trapping
* Permessi utente flessibili
* Notifiche su eventi flessibili
* Monitoraggio JMX
* Dati monitorati raccolti in grafici definiti dall'utente
* Audit dei log
