Chronograf è un data grapher di serie storiche, simile a Grafana, che utilizza InfluxDB come backend. Chronograf è molto più di un semplice strumento di visualizzazione dei dati; tramite Kapacitor, viene fornito un intero backend per avvisi e monitoraggio.
Installazione
Utensili
In questa guida vengono utilizzati vari strumenti per scopi diversi, quindi assicurarsi che i seguenti pacchetti siano installati sul sistema.
sudo apt-get install wget curl
InfluxDB
Poiché Chronograf si affida a InfluxDB come fonte di dati primaria, dobbiamo prima installare l'ultima versione. Può essere archiviato semplicemente scaricando e installando il .deb
file pre-creato .
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.4_amd64.deb
sudo dpkg -i influxdb_1.2.4_amd64.deb
Se l'installazione ha esito positivo, possiamo continuare con l'abilitazione e l'avvio del servizio utilizzando systemctl
.
sudo systemctl enable influxdb
sudo systemctl start influxdb
Per essere sicuri che il servizio funzioni correttamente, possiamo invocare il seguente comando, collegandoci direttamente a InfluxDB HTTP API
.
curl "http://localhost:8086/query?q=show+databases"
Se tutto è in ordine, l'output dovrebbe essere simile al seguente.
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"]}]}]}
Se si verifica un errore durante l'esecuzione del comando precedente, assicurarsi che InfluxDB sia abilitato e avviato correttamente e riprovare.
Kapacitor
Kapacitor fornisce la maggior parte delle funzionalità di Chronograf. In particolare è responsabile dell'invio di avvisi. Gli avvisi possono essere inviati utilizzando vari servizi diversi che vanno da SMTP
a Slack
e HipChat
. Questo pacchetto viene fornito anche tramite un .deb
file predefinito .
wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.3.1_amd64.deb
sudo dpkg -i kapacitor_1.3.1_amd64.deb
Abilitare e avviare il servizio utilizzando systemctl
.
sudo systemctl enable kapacitor
sudo systemctl start kapacitor
Per verificare che tutto sia stato installato correttamente, possiamo invocare il seguente comando, che di solito restituisce le attività attualmente in coda.
kapacitor list tasks
Assicurati che l'output assomigli a questo testo.
ID Type Status Executing Databases and Retention Policies
Nel caso in cui si verifichi un errore, verrà mostrato un rapporto errori dettagliato.
Telegraf
Dopo l'installazione InfluxDB
e Kapacitor
con successo, possiamo continuare con l'installazione Telegraf
. Telegraf è responsabile della raccolta di tutte le metriche che verranno ulteriormente visualizzate tramite Chronograf.
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.3.2-1_amd64.deb
sudo dpkg -i telegraf_1.3.2-1_amd64.deb
Abilita e avvia il servizio.
sudo systemctl enable telegraf
sudo systemctl start telegraf
Ricontrolla la configurazione iniziale fornita tramite l'installazione. Apri /etc/telegraf/telegraf.conf
e assicurati che le linee sottostanti riflettano la tua configurazione.
urls = ["http://localhost:8086"]
database = "telegraf"
Cronografo
Successivamente procederemo con l'installazione del pacchetto base di Chronograf.
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.3.3.0_amd64.deb
sudo dpkg -i chronograf_1.3.3.0_amd64.deb
Successivamente è possibile abilitare e avviare il servizio.
sudo systemctl enable chronograf
sudo systemctl start chronograf
Per verificare che l'installazione abbia avuto esito positivo, puntare il browser su http://<server-ip>:8888
cui viene visualizzata una pagina di configurazione iniziale su cui continueremo.
Configurazione iniziale
Immettere i dettagli della connessione InfluxDB. Compila i moduli disponibili come indicato di seguito.
"Connection String" - http://localhost:8086
"Name" - InfluxDB
"Telegraf Database" - telegraf
Assicurati di selezionare anche la casella etichettata Make this the default source
.
Kapacitor
Fai clic sull'icona degli ingranaggi sulla barra di navigazione a sinistra (l'ultimo elemento). Sotto la Active Kapacitor
colonna premere Add config
. Compila il modulo fornito utilizzando i valori seguenti.
"Kapacitor URL" - http://localhost:9092
"Name" - Kapacitor
È ora possibile continuare con l'aggiunta di endpoint di avviso tramite il modulo fornito.
Aggiungi altri host
Per aggiungere altri host a Chronograf tramite SNMP, dobbiamo apportare modifiche alla nostra configurazione di Telegraf e installare alcuni plugin necessari.
sudo apt-get install snmp snmp-mibs-downloader
Dopo aver autorizzato l'host che esegue Chronograf su un altro host, possiamo aggiungere detto host alla nostra configurazione di Telegraf usando le righe seguenti.
[[inputs.snmp]]
agents = [ "<ip-address-of-other-host>:161" ]
version = 2
community = "<snmp-community>"
name = "snmp"
[[inputs.snmp.field]]
name = "hostname"
oid = "RFC1213-MIB::sysName.0"
is_tag = true
[[inputs.snmp.table]]
name = "snmp"
inherit_tags = [ "hostname" ]
oid = "IF-MIB::ifXTable"
[[inputs.snmp.table.field]]
name = "ifName"
oid = "IF-MIB::ifName"
is_tag = true
Questo, in particolare, monitora tutte le metriche come l'utilizzo della CPU, l'uso della memoria e l'uso della rete suddiviso per interfaccia con statistiche approfondite, inclusi valori come pacchetti unicast ed errori di interfaccia.
Firewall
Al momento, Chronograf non fornisce un sistema di autenticazione classico come username
e password
autenticazione. Al fine di mantenere sicura la nostra installazione, utilizzeremo la Vultr Firewall
funzione per bloccare tutte le porte che vanno alla porta 8888
TCP e aggiungere una regola di eccezione per l'indirizzo IP del nostro cliente che dovrebbe essere autorizzato a visualizzarla.
Poiché gli altri servizi installati sono in ascolto solo sull'indirizzo IP di loopback ( 127.0.0.1
), non siamo tenuti a bloccare esplicitamente le richieste ad esso indirizzate.
Conclusione
Chronograf è uno strumento di visualizzazione metrica molto flessibile e bello in bundle con pacchetti di allerta e raccolta dati decenti che creano una soluzione di monitoraggio decente.