Icinga2 tutorial installazione container
I servizi cloud e l'infrastruttura informatica aziendale diventano ogni giorno più critici, i blocchi costano in mancata produttività, tempo speso nella riparazione e in alcuni casi portano a perdite di dati o clienti
Il monitoraggio Icinga2, ci notifica in tempo reale dei problemi, prima che diventino critici e riduce il tempo di analisi prima dell'intervento, dandoci la sicurezza che tutto è attivo, funzionante e costantemente controllato
Possiamo tracciare grafici storici degli andamenti, ci dà la possibilità implementare centinaia di migliaia di plugin, per monitorare servizi, applicazioni e dispositivi, gestire orari di notifica e tanto altro, avendo una flessibilità imparagonabile
Installazione Icinga2
Per questo test, possiamo usare un istanza Google Cloud piccola (g1-small 1 vCPU 1,7 GB Ram), basata su Debian, con installato Docker
Eseguiamo il container Icinga2 abilitando il forward della porta 80 che ci permetterà di accedere all'interfaccia web e al director, che utilizzeremo per la configurazione degli host
#!/bin/bash
docker run \
--name test_icinga \
-p 80:80 \
-e ICINGA2_FEATURE_DIRECTOR=1 \
-e ICINGAWEB2_ADMIN_USER=icingaadmin \
-e ICINGAWEB2_ADMIN_PASS=icinga \
-t jordan/icinga2
Connessione al web
Il sistema di monitoraggio, offre una potentissima interfaccia Icingaweb2, responsive sul mobile, e un manager delle configurazioni chiamato Director.
Tramite interfaccia è possibile definire tutte le caratteristiche di host, servizi, notifiche e check necessari.
Per la connessione apriamo il nostro browser preferito all'indirizzo http://<IP_ISTANZA_GOOGLE>:80
Le password di defaul sono nella configurazione del container e modificabili nello script di avvio:
user: icignaadmin
password: icinga
Configurazione primo host
Il director usa ampiamente i Template per applicare elementi in maniera ricorsiva.
Come prima cosa è necessario creare un template standard, per poi applicarlo nella creazione degli host.
Clicchiamo nella barra a sinistra entrando nei vari menù, Director / Host objects / Hosts
A questo punto una scheda sulla destra ci permette di aggiungere host, una volta cliccato add ci viene richiesta di creare la prima Host Template.
Host template check_ping
Come prima template definiamo il check tramite ping, che utilizziamo per stabilire la raggiungibilità della maggior parte degli host monitorati.
Questo eviterà di effettuare i controlli dei servizi sugli host non raggiungibili e di duplicare le notifiche
Dal menu Director / Host object / Template, possiamo aggiungere la nostra prima template:
- Name: template_host_alive
- Check Command: ping
- Store
Possiamo lasciare i restanti campi predefiniti, ricordiamoci che le template possono essere importate e creare template di secondo livello che ereditano le proprietà del livello superiore, meglio non definire troppe caratteristiche in template di primo livello
Creazione Host object
Aggiungiamo un host, che importerà la template di host alive, applicando il monitoraggio tramite ping
Dal menù Director / Host object / Host aggiungiamo l'host definendo:
- Template da importare: template_host_alive
- Hostname: localhost
- Host Address: 127.0.0.1
- Add
A questo punto effettuiamo il deploy, questo renderà effettive le configurazioni create e inizierà a effettuare il monitoraggio degli gli host definiti
Tramite il Director possiamo vedere se il deploy della configurazione è andato a buon fine o se ci sono stati degli errori, confrontare le modifiche effettuate fra due deploy e ripristinare una configurazione precedente funzionante nel caso di problemi
Il servizio icinga2 rimane attivo anche nel caso di errori nella configurazione, permettendoci di risolverli e applicare nuovamente la configurazione