
Imaxe.cloud non ha alcuna associazione o accordo con Zabbix LLC. Leggi la sezione Rapporto con Zabbix LLC.
Descrizione #
Zabbix è una soluzione open source di monitoraggio distribuito di livello enterprise, che permette di monitorare tutti i parametri di una rete di server, macchine virtuali, applicazioni e molto altro.
La nostra AMI di Zabbix offre la migliore soluzione click & play per iniziare a usare Zabbix su AWS, con opzioni aggiuntive che migliorano il prodotto originale e con il miglior supporto.
Caratteristiche #
Generali
Le principali caratteristiche della nostra AMI di Zabbix:
- Installata su Ubuntu, sempre nell’ultima versione stabile possibile.
- Ultima versione stabile del server Zabbix installata.
- Ultima versione stabile dell’interfaccia web di Zabbix installata e preconfigurata.
- Ottimizzata con le versioni più stabili di nginx, PHP, MariaDB server e Zabbix.
- Tutte le lingue dell’interfaccia web installate e disponibili.
Speciali
Le nostre AMI offrono supporto aggiuntivo per sfruttare tutta la potenza del cloud nel modo più rapido e comodo:
- Configurazione dedicata per inviare notifiche tramite AWS SNS.
- Configurazione dedicata per lavorare con i gruppi di Auto Scaling.
- Stack CloudFormation per creare tutte le risorse collegate (SNS, SQS, IAM, ecc.).
Versioni disponibili #
Le versioni di Zabbix che offriamo, con le loro caratteristiche principali:
Le versioni precedenti dell’AMI di Zabbix sono state bloccate da Zabbix LLC, che non sembra volere alcun tipo di concorrenza. Il prodotto di Imaxe.cloud offre funzionalità uniche che Zabbix stesso non ha, per cui riteniamo che si tratti di un errore e stiamo lavorando per risolverlo.
| AMI | Zabbix | Supporto Zabbix | Supporto Imaxe | SNS | Auto Scaling | Ubuntu | PHP | MariaDB | Marketplace |
|---|---|---|---|---|---|---|---|---|---|
| Zabbix 7.0 v1.1 | 7.0 | ✓ | ✓ | ✓ | ✓ | 24.04 | 8.3 | 10.11 | Vedi → |
| Zabbix 6.4 v2.0 | 6.4 | ✗ | ✓ | ✓ | ✓ | 22.04 | 8.1 | 10.11 | Non disponibile |
| Zabbix 6.0 v1.1 | 6.0 | ✓ | ✓ | ✓ | ✓ | 20.04 | 7.4 | 10.11 | Non disponibile |
| Zabbix 4.4 v1.2 | 4.4 | ✗ | ✓ | ✓ | ✗ | 18.04 | 7.2 | 10.5 | Non disponibile |
| Zabbix 4.2 v8.0 | 4.2 | ✗ | ✓ | ✓ | ✗ | 18.04 | 7.0 | 10.5 | Non disponibile |
Ciclo di vita #
Zabbix ha una politica di rilascio piuttosto rigida: ogni pochi mesi la versione stabile del momento smette di essere supportata ed è necessario passare alla versione maggiore successiva — con tutto quello che comporta — per continuare ad avere supporto.
In Imaxe sappiamo che a volte è molto difficile stare dietro a un ciclo di vita così rigido, perciò abbiamo progettato una politica di ciclo di vita per le nostre AMI che, restando per quanto possibile compatibile con quella di Zabbix, offra ai nostri utenti il miglior supporto esistente.
Versioni di Zabbix
Attualmente Zabbix offre due versioni distinte del suo software:
- Versione Standard: include le ultime modifiche e funzionalità, ma senza supporto LTS.
- Versione LTS: include le ultime modifiche e funzionalità al momento della sua uscita, e dispone di supporto LTS.
Supporto alle versioni Standard non LTS
Perché i nuovi clienti possano valutare i vantaggi che presto avranno nelle loro versioni LTS, manteniamo sempre operativa un’AMI dell’ultima versione Standard, con tutte le funzionalità aggiuntive attive.
Il numero di versione dell’AMI cresce con le nuove uscite, e quello di Zabbix cambia quando cresce anche lui.
Supporto alle versioni LTS
Finché sarà possibile manterremo le AMI generate dalle versioni LTS, aggiornandole ogni 3 mesi sia a livello di sistema operativo sia di funzionalità aggiuntive.
Quando non sarà più sostenibile, per motivi tecnici o di sicurezza, mantenere attiva un’AMI, questa verrà disabilitata e tutti gli utenti riceveranno un avviso da AWS che indicherà la versione più adatta a loro.
Inoltre offriamo supporto alla migrazione tra versioni ogni volta che è possibile.
Installazione #
L’installazione segue il normale processo di creazione di un’istanza EC2. La dimensione consigliata è c5.large.
Il gruppo di sicurezza include di norma i seguenti permessi:
| Tipo | Protocollo | Intervallo di porte | Origine |
|---|---|---|---|
| (*) SSH | TCP | 22 | 0.0.0.0/0 |
| (*) HTTP | HTTP | 80 | 0.0.0.0/0 |
| (*) Regola TCP personalizzata | TCP | 10050–10052 | 0.0.0.0/0 |
| HTTPS | HTTPS | 443 | 0.0.0.0/0 |
I campi contrassegnati con (*) sono essenziali, sia per accedere all’interfaccia web sia per le normali operazioni del server. Anche se l’esempio usa 0.0.0.0/0, consigliamo di limitare l’accesso alle tue reti o a un server bastione.
Una volta avviata l’istanza, possiamo accedere con:
- SSH: usando il
.pemselezionato all’avvio dell’istanza, con l’utenteubuntu. - HTTP: all’indirizzo
http://zabbix.instance.ip/, con utenteAdmine, come password, l’ID dell’istanza appena creata.
Configurazione #
I passi descritti qui sono stati eseguiti con l’utente Admin, che è l’utente predefinito.
La prima volta che accedi a Zabbix ci sono alcune attività da svolgere per personalizzare l’esperienza e iniziare a ricevere notifiche. Clicca su User settings nel menu di sinistra e poi su Profile.
Aggiungere un media al tuo utente
Prima di ricevere notifiche devi aggiungere un indirizzo email (o un altro metodo che preferisci) al tuo utente. Nella pagina del profilo c’è una scheda Media; lì clicca sul link Add, che apre una finestra di configurazione. Poi non dimenticare di premere Update per salvare le modifiche.
Cambiare la password dell'utente Admin
Per impostazione predefinita l’AMI di Zabbix usa l’ID dell’istanza come password. È un modo sicuro di proteggere l’accesso, ma probabilmente preferirai qualcosa di più facile da ricordare o conforme alla tua policy di sicurezza.
Dalla pagina Profile, nella scheda User, puoi cambiare la password dell’utente Admin cliccando su Change password, inserendo due volte la nuova password e premendo Update.
Cambiare la tua lingua
Dalla pagina del profilo, nella scheda User, puoi scegliere la lingua dell’interfaccia dal selettore Language. Le modifiche hanno effetto una volta scelta la nuova lingua, salvato con Update ed effettuato di nuovo l’accesso.
Supporto dell'Auto Scaling # esperto
Come funziona l'Auto Scaling di AWS con Zabbix?
Per gestire l’Auto Scaling da Zabbix ci sono tre aspetti da considerare:
- Aggiungere una nuova istanza in Zabbix quando compare. Si può fare con l’auto-registrazione degli agent Zabbix attivi (6.4, 6.0, 4.0). Così, quando compare una nuova istanza, Zabbix la aggiunge automaticamente come nuovo host.
- Salvare l’ID dell’istanza nell’inventario di Zabbix. Quando l’istanza sparisce (scale in) riceviamo un messaggio con il suo ID, quindi ci serve averlo nell’inventario dell’host per cercarlo ed eliminarlo.
- Ricevere i messaggi di scaling di AWS. Quando AWS produce un evento di scaling pubblica un messaggio SNS su un topic che hai definito. Collegando quel topic a una coda SQS possiamo leggere i messaggi da Zabbix ed eliminare le istanze che escono dai gruppi di scaling.

Configurare il client
Servono due passi per preparare i tuoi client all’Auto Scaling in Zabbix: configurare l’agent Zabbix e aggiungere un file con un parametro utente per l’item instance_id.
Configurazione dell'agent Zabbix
Oltre a qualunque altra modifica ti serva, sei punti vanno cambiati nel file di configurazione locale dell’agent Zabbix, di solito /etc/zabbix/zabbix_agentd.conf:
- Commentare l’opzione
Server. - Aggiungere
ServerActive=YOUR__ZABBIX__IP__ADDRESSper configurare il server attivo. - Commentare l’opzione
Hostname. - Impostare l’opzione
StartAgentsa0. - Impostare l’opzione
HostnameItemasystem.hostname. - Impostare l’opzione
HostMetadataItemasystem.uname.
Con questa configurazione mettiamo il client Zabbix in modalità attiva (il client invia informazioni al server e non riceve controlli da esso). Inoltre facciamo usare a Zabbix il nome della macchina come nome host, evitando di cambiarlo ogni volta che parte un nuovo server. Infine facciamo inviare a Zabbix l’output di uname come metadati: le istanze AWS usano un kernel particolare, quindi il valore aws compare lì e possiamo usarlo per registrare il server.
Parametro instance_id
Per impostazione predefinita, quando un nuovo server di un Auto Scaling compare in Zabbix, viene collegato a un template speciale chiamato AWS EC2 Template, che contiene un item instance_id associato al campo alias dell’inventario. Per alimentarlo aggiungi al client Zabbix un parametro utente creando il file:
UserParameter=aws.ec2.instance_id,curl -s http://169.254.169.254/latest/meta-data/instance-idConfigurare il server
Configurati i client, il passo successivo è configurare il server per eliminare le istanze rimosse. La via più rapida e semplice ha due passi: inviare i messaggi di scaling a una coda SQS e configurare il server per leggerla.
Inviare i messaggi di scaling a una coda SQS
Vogliamo che le notifiche inviate dal servizio di Auto Scaling siano archiviate in una coda SQS, per durabilità e scalabilità. Poiché l’Auto Scaling di AWS pubblica le notifiche su un topic SNS, dobbiamo:
- Creare un topic SNS.
- Creare una coda SQS.
- Configurare SNS per consegnare i messaggi a SQS.
- Creare un utente IAM che possa leggere i messaggi.
Dato che questa configurazione è laboriosa, puoi usare il nostro stack CloudFormation per creare tutti gli elementi nella regione che preferisci. Dopo il deploy, nella scheda Outputs troverai quattro valori da annotare:
SNSTopicARN: l’ARN del topic SNS creato.SQSQueueURL: l’URL della coda SQS.SQSReadIAMUserAccessKeyeSQSReadIAMUserSecretKey: chiave e segreto dell’utente IAM.
Questi dati servono per la configurazione. Modifica il file /etc/zabbix/zabbix_ami.yml, nel blocco simile a:
sqs:
delay_seconds: 60
default_region: us-east-1
queues:
- url:
access_key_id:
secret_access_key:
region:Per ogni coda SQS con notifiche di scaling aggiungi un elemento all’array simile a quello esistente, con i dati forniti da CloudFormation. Trovi altre informazioni su questo file nella sezione file importanti.
Notifiche SNS #
Questa installazione di Zabbix è già pronta a inviare tramite AWS SNS. Questa configurazione evita i problemi dell’invio di email da AWS e offre un sistema di notifiche avanzato e sicuro.
Configurare l'invio di avvisi con SNS
Si possono configurare fino a 6 topic SNS diversi, per distinguere in base all’importanza dell’invio:
| Severità di Zabbix | Chiave in zabbix_ami.yml |
|---|---|
| Not classified | not_classified |
| Information | information |
| Warning | warning |
| Average | average |
| High | high |
| Disaster | disaster |
Perché Zabbix invii le notifiche dobbiamo creare questi topic e un utente IAM che possa collegarsi e pubblicare messaggi.
Creare i topic SNS e l'utente IAM
Questo passo è molto più semplice con il nostro stack CloudFormation per topic SNS e utente IAM, già pronto a creare tutto. Dopo il deploy, nella scheda Outputs troverai i valori da annotare:
SNSNotClassified,SNSInformation,SNSWarning,SNSAverage,SNSHigh,SNSDisaster: il topic SNS di ogni severità.ZabbixSendingUserAccessKeyIdeZabbixSendingUserSecretAccessKey: chiave e segreto dell’utente IAM.
Uno o più di questi valori potrebbero non comparire, a seconda della configurazione scelta al deploy dello stack.
Configurare /etc/zabbix/zabbix_ami.yml
Dentro il file /etc/zabbix/zabbix_ami.yml c’è una sezione dedicata alle opzioni SNS:
sns:
aws:
access_key_id:
secret_access_key:
region:
topics:
not_classified: arn:aws:sns:eu-west-1:000000000000:sample-sns
information: arn:aws:sns:eu-west-1:000000000000:sample-sns
warning: arn:aws:sns:eu-west-1:000000000000:sample-sns
average: arn:aws:sns:eu-west-1:000000000000:sample-sns
high: arn:aws:sns:eu-west-1:000000000000:sample-sns
disaster: arn:aws:sns:eu-west-1:000000000000:sample-snsDevi configurare i topic SNS desiderati (puoi riutilizzare lo stesso topic più volte, se preferisci) e i valori di chiave, segreto e regione. Tutto qui!
Configurare l'utente di Zabbix
L’ultimo passo è configurare Zabbix perché invii le notifiche tramite SNS:
- Accedere all’interfaccia di Zabbix con il tuo utente.
- Andare in User settings → Profile.
- Aprire la scheda Media.
- Aggiungere un nuovo media di tipo AWS SNS, marcarlo Enabled e compilare gli altri campi come preferisci (il campo Send to attualmente non viene usato).
- Premere Add per aggiungere il media e poi Update per salvare le modifiche.
CloudFormation #
Dato che creare tutte le risorse AWS necessarie è laborioso, qui puoi scaricare diversi stack AWS CloudFormation per semplificarti il lavoro.
SNS Topic + SQS Queue + IAM User
Crea un topic SNS a cui collegare i gruppi di scaling, una coda SQS che ne riceve le notifiche e un utente IAM che può leggere ed eliminare i messaggi dalla coda.
SNS Topics + IAM User
Crea fino a 5 topic SNS su cui Zabbix pubblica le notifiche, e un utente IAM che possa pubblicarle.
File importanti # esperto
L’AMI di Zabbix contiene alcuni file speciali che conviene conoscere.
/etc/zabbix/zabbix_ami.yml
È il file più importante, perché governa la configurazione degli aspetti speciali, come i controlli di scaling o le notifiche SNS. Un esempio (con dati falsi):
zabbix:
api:
user: autoscaler_api_user
password: i-073672daf01037aea94
sns:
aws:
access_key_id: AKK4L6A3OXZZ5HE2POQRU7V
secret_access_key: cICycAg26hSDpsJwbhZjbaaYlt4Tz3n1xqE7Oxp6X2Hf
region: us-east-1
topics:
not_classified: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
information: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
warning: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
average: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
high: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
disaster: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS
sqs:
delay_seconds: 60
default_region: us-east-1
queues:
- url: https://sqs.us-east-1.amazonaws.com/000000000/zabbix-pro-sqs-queue
access_key_id: AKIA3OXZZ5HEWUR5A16CNWH
secret_access_key: 8ttYO3Ba9K6p0C+aj3fH5cDt2eRLHmlkHbMtlrpv18S7KRbC
region: us-east-1Attualmente questo file contiene tre sezioni distinte:
zabbix: poiché dobbiamo collegarci al server Zabbix per eliminare gli host obsoleti, ci serve l’accesso all’API. Creiamo un utente dedicato, e le sue credenziali stanno qui.sns: la configurazione necessaria per inviare allarmi tramite SNS. Qui impostiamo le credenziali dell’utente IAM e i topic SNS che useremo.sqs: la configurazione per gestire i messaggi di scaling su AWS. Qui definiamo ogni quanto interrogare la coda (delay_seconds) e le diverse code da controllare.
Contiene credenziali IAM in chiaro. Limita i suoi permessi e ruota le chiavi periodicamente.
/var/log/zabbix-sqs-reader/zabbix-sqs-reader.log
Questo file registra i vari eventi di Auto Scaling letti da SQS.
Prima di fare la configurazione vedrai il messaggio Ops! It looks like the file /etc/zabbix/zabbix_ami.yml hasn't been configured yet. We better sleep for 5 minutes. — è normale, e scompare quando configuri zabbix_ami.yml.
Aggiornamenti dell'AMI # esperto
Leggi tutta la sezione prima di fare qualsiasi cosa, e prepara una copia di sicurezza di tutti i tuoi dati.
Poiché Zabbix rilascia nuove versioni con nuove funzionalità e migliorie, la scelta migliore è aggiornare la nostra AMI di tanto in tanto. Purtroppo, quelle stesse novità comportano cambiamenti nel database e interni che possono essere problematici quando si aggiorna un’installazione esistente.
La nostra AMI di Zabbix è il modo migliore per evitare questi problemi, perché offriamo un percorso tra versioni maggiori più rapido, semplice e sicuro di quello abituale.
L'aggiornamento in sintesi
Il processo di aggiornamento della nostra AMI è piuttosto semplice:
- Fare un dump del database attuale.
- Avviare una nuova AMI con l’ultima versione stabile.
- Caricare il dump del database sulla nuova istanza.
- Eseguire il nostro script di migrazione.
Così manteniamo contemporaneamente la versione attuale e quella nuova, e possiamo fare tutti i test necessari per garantire che tutto funzioni prima di spostare gli EIP associati a quell’istanza, o di migrare i client poco a poco.
In questo tutorial usiamo origine per il tuo server Zabbix attuale e destinazione per il nuovo server.
Processo di aggiornamento
Passo 1: backup del server di origine
Il primo passo è creare un’immagine del server di origine, per evitare qualsiasi perdita accidentale di dati. Puoi seguire il manuale AWS per creare un’AMI.
Passo 2: dump del database e versione di Zabbix
Entriamo via SSH nell’istanza e diventiamo root:
sudo /bin/su -Poi esportiamo il database in un file:
mysqldump zabbix > zabbix_origin_database.sqlInfine scarichiamo il file creato sulla nostra macchina, per poi caricarlo sul nuovo server. Annotiamo anche la versione di Zabbix in uso: si vede nell’interfaccia web, e sarà un numero simile a 4.0, 4.2, 4.4 o 5.4.
Passo 3: avviare una nuova istanza Zabbix
Il passo successivo è creare una nuova istanza di Zabbix, usando l’ultima versione stabile dell’AMI che trovi nel nostro profilo venditore su AWS Marketplace. Come minimo devi usare la versione 6.0 della nostra AMI di Zabbix.
Questa nuova istanza sarà il server di destinazione dove sposteremo i dati, e arriva già con l’ultima versione installata e aggiornata. Una volta avviata, copiaci il dump del database del server di origine.
Passo 4: aggiornare il database
Per importare il database attuale, aggiornarlo alla nuova versione e aggiungere le configurazioni necessarie, usiamo lo script /opt/tools/bin/zabbix-ami-upgrade.sh, da eseguire come utente ubuntu indicando la versione originale di Zabbix e il file di dump. Per esempio, migrando da Zabbix 4.0:
/opt/tools/bin/zabbix-ami-upgrade.sh 4.0 zabbix_origin_database.sqlIl processo informa di ogni passo eseguito e, una volta terminato, possiamo continuare a lavorare con il nuovo server Zabbix.
Passo 5: accedere all'interfaccia web
Terminata la migrazione potremo accedere all’interfaccia web e vedere la situazione generale del server. Importante: dobbiamo usare gli stessi utenti e password che avevamo sul server precedente.
Passo 6: migrare configurazioni speciali e puntare i client
Una volta che il database è operativo, teniamo conto di altre configurazioni che possiamo aver installato sul server, per esempio:
- Script di monitoraggio.
- Pacchetti di sistema aggiuntivi.
- Certificati SSL installati.
Dovremo anche spostare l’EIP configurato per quell’istanza, così che i client non debbano essere modificati.
Se non stiamo usando un EIP, è un buon momento per iniziare: altrimenti dovremo cambiare l’IP del nuovo server su tutti i client.
Supporto #
L’uso di questa AMI di Zabbix include supporto per:
- L’installazione dell’AMI.
- La configurazione iniziale.
- Configurazioni aggiuntive legate all’AMI (per esempio l’uso di Let’s Encrypt).
- La configurazione di Zabbix legata all’AMI.
- L’invio di notifiche Zabbix con SNS.
- Il supporto dell’Auto Scaling in Zabbix.
- I nostri stack CloudFormation.
- Il supporto generale di Zabbix.
- Aggiornamenti, upgrade e migrazioni dell’AMI.
Registro delle modifiche #
Storico dell’AMI. Le date corrispondono alla pubblicazione di ogni versione su AWS Marketplace.
Zabbix 7.0 · versione 1.1
Pubblicata la versione 1.1 della nostra AMI di Zabbix 7.0, con Zabbix installato e configurato, supporto dell’Auto Scaling e notifiche SNS.
Zabbix 6.4 · versione 1.0
Pubblicata la versione 1.0 della nostra AMI di Zabbix 6.4, con Zabbix installato e configurato, supporto dell’Auto Scaling e notifiche SNS.
Zabbix 6.0 · versione 1.0
Pubblicata la versione 1.0 della nostra AMI di Zabbix 6.0 LTS, con Zabbix installato e configurato, supporto dell’Auto Scaling e notifiche SNS.
Zabbix 5.4 · versione 1.0
Pubblicata la versione 1.0 della nostra AMI di Zabbix 5.4, con Zabbix installato e configurato, supporto dell’Auto Scaling e notifiche SNS.
Rapporto con Zabbix LLC #
Imaxe.cloud non ha né ha mai avuto alcun tipo di accordo con Zabbix LLC, l’azienda che mantiene Zabbix.
Le informazioni e il supporto qui offerti sono forniti in modo non ufficiale, sul prodotto software libero Zabbix e sulle opzioni aggiuntive che costruiamo attorno a esso.
Hai bisogno di aiuto con questa AMI?
Ti risponde lo stesso team che costruisce l'immagine — ingegneri veri, senza bot né primo livello.