InfluxDB è un database di serie temporali open source scritto in Go. Ottimizzato per l'archiviazione veloce e ad alta disponibilità e utilizzato come archivio dati per qualsiasi caso d'uso che coinvolge grandi quantità di dati con data e ora, inclusi monitoraggio DevOps, dati di registro, metriche delle applicazioni, dati dei sensori IoT e analisi in tempo reale.
Telegrafo è un agente per la raccolta, l'elaborazione, l'aggregazione e la scrittura di metriche. Supporta vari plugin di output come influxdb, Graphite, Kafka, OpenTSDB ecc.
Grana è una suite di visualizzazione e monitoraggio dei dati open source. Offre supporto per Graphite, Elasticsearch, Prometheus, influxdb e molti altri database. Lo strumento fornisce una bellissima dashboard e analisi metriche, con la possibilità di gestire e creare la tua dashboard per le tue app o il monitoraggio delle prestazioni dell'infrastruttura.
In questo tutorial, ti mostrerò come installare e configurare lo Stack TIG (Telegraf, influxdb e Grafana) utilizzando un singolo server Ubuntu 18.04. Utilizzeremo lo stack TIG per monitorare i carichi di sistema come rete, memoria RAM, tempo di attività ecc.
Prerequisiti
- Ubuntu 18.04
- Privilegi di root
Cosa faremo?
- Installa InfluxDB
- Crea database e utente InfluxDB
- Installa l'agente Telegraf
- Configura Telegraf
- Installa Grafana
- Imposta sorgente dati Grafana
- Imposta dashboard Grafana
Passaggio 1 - Installa InfluxDB
In questo primo passaggio, installeremo il database delle serie temporali influxdb sul sistema Ubuntu. Installeremo sia 'influxdb' che 'telegraf' dallo stesso repository 'influxdata', entrambi i software sono stati creati dalla stessa organizzazione.
Aggiungi la chiave di afflusso.
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Aggiungi il repository di dati afflusso.
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Ora aggiorna il repository e installa il pacchetto 'influxdb' usando il comando apt di seguito.
sudo apt update
sudo apt install influxdb -y
Al termine dell'installazione, avvia il servizio influxdb e abilitalo per l'avvio ogni volta all'avvio del sistema.
sudo systemctl start influxdb
sudo systemctl enable influxdb
Ora controlla le porte aperte sul sistema.
netstat -plntu
E assicurati di ottenere le porte influxdb "8088" e "8086" nello stato "LISTEN".
Passaggio 2:crea un database e un utente InfluxDB
Per archiviare tutti i dati dagli agenti telegraf, è necessario configurare il database e l'utente influxdb.
InfluxDB fornisce lo strumento CLI denominato 'influx' per interagire con un server InfluxDB. Il comando Influx è come 'mysql' su MySQL e 'mongo' sul database MongoDB.
Esegui il comando 'influsso' di seguito.
influx
Ora sei connesso al server influxdb predefinito sulla porta '8086'.
Crea un nuovo database e l'utente "telegraf" con la password "hakase-ndlr" eseguendo le query influxdb di seguito.
create database telegraf
create user telegraf with password 'hakase-ndlr'
Ora controlla il database e l'utente.
show databases
show users
Assicurati di avere il database e l'utente chiamato 'telegraf' sul server influxdb.
Passaggio 3:installazione di Telegraf Agent
Telegraf è stato creato da 'influxdata', la stessa organizzazione che ha creato influxdb. Quindi, quando aggiungiamo la chiave e il repository influxdata al sistema, significa che possiamo installare entrambe le applicazioni.
Installa il pacchetto telegraf usando il comando apt di seguito.
sudo apt install telegraf -y
Al termine dell'installazione, avvia il servizio telegraf e abilitalo all'avvio ogni volta all'avvio del sistema.
sudo systemctl start telegraf
sudo systemctl enable telegraf
L'agente telegraf è attivo e funzionante, verificalo utilizzando il comando seguente.
sudo systemctl status telegraf
Fase 4 - Configura Telegraf
Telegraf è un agente basato su plug-in e ha 4 tipi di plug-in concettuali.
- Utilizzo dei "Plugin di input" per raccogliere le metriche.
- Utilizzo dei "Plugin del processore" per trasformare, decorare e filtrare le metriche.
- Utilizzo dei "Plugin di aggregazione" per creare e aggregare metriche.
- E utilizzando i "Plugin di output" per scrivere metriche su varie destinazioni, incluso influxdb.
In questo passaggio, configureremo Telegraf per utilizzare i plug-in di input di base per raccogliere la metrica di sistema del server e utilizzare influxdb come plug-in di output.
Vai alla directory '/etc/telegraf' e rinomina il file di configurazione predefinito.
cd /etc/telegraf/
mv telegraf.conf telegraf.conf.default
Ora crea una nuova altra configurazione 'telegraf.conf' usando l'editor vim.
vim telegraf.conf
Incolla le configurazioni di seguito.
# Global Agent Configuration [agent] hostname = "hakase-tig" flush_interval = "15s" interval = "15s" # Input Plugins [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"] [[inputs.io]] [[inputs.mem]] [[inputs.net]] [[inputs.system]] [[inputs.swap]] [[inputs.netstat]] [[inputs.processes]] [[inputs.kernel]] # Output Plugin InfluxDB [[outputs.influxdb]] database = "telegraf" urls = [ "http://127.0.0.1:8086" ] username = "telegraf" password = "hakase-ndlr"
Salva ed esci.
Nota:
Telegraf fornisce il comando telegraf per gestire la configurazione, inclusa la generazione della configurazione stessa, eseguire il comando come di seguito.
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf
cat telegraf.conf
Riavvia il servizio telegraf e assicurati che non ci siano errori.
sudo systemctl restart telegraf
Ora prova le impostazioni del telegrafo usando il comando seguente.
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem
La configurazione di InfluxDB e Telegraf è stata completata.
Fase 6 - Installa Grafana
In questo passaggio installeremo la bellissima dashboard Grafana per la visualizzazione dei dati.
Aggiungi la chiave grafana e il repository.
sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -
echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list
Aggiorna il repository e installa il pacchetto grafana usando il comando apt di seguito.
sudo apt update
sudo apt install grafana -y
Al termine dell'installazione, avvia il servizio grafana e abilitalo all'avvio ogni volta all'avvio del sistema.
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
Il server grafana è attivo e funzionante sulla porta predefinita '3000', controllalo usando netstat.
netstat -plntu
E otterrai il risultato come di seguito.
Passaggio 7 - Impostazione dell'origine dati Grafana
Apri il tuo browser web e digita l'indirizzo IP del server con la porta 3000.
http://192.168.33.15:3000/
Accedi con l'utente predefinito 'admin' e la password 'admin'.
Ora ti verrà chiesto con la pagina per modificare la password predefinita, digita la tua nuova password e fai clic sul pulsante 'Salva'.
E verrai reindirizzato alla dashboard Grafana predefinita.
Fare clic sul pulsante "Aggiungi origine dati" per aggiungere l'origine dati influxdb.
Digita i dettagli sulle configurazioni del server influxdb.
- Nome:influxdb
- Tipo:influxdb
- URL:http://localhost:8086/
Scorri fino alla pagina inferiore e digita i dettagli delle impostazioni del database influxdb.
- Banca dati:telegraf
- Utente:telegraf
- Password:'hakase-ndlr'
Fai clic sul pulsante "Salva e verifica" e assicurati di ottenere il risultato "L'origine dati funziona".
L'origine dati InfluxDB è stata aggiunta al server Grafana.
Fase 8 - Imposta dashboard Grafana
Dopo aver aggiunto influxdb come origine dati al server grafana, in questo passaggio importeremo la dashboard di grafana in base alla nostra configurazione dei plug-in di input di Telegraf.
Grafana fornisce il repository per i plugin e le dashboard di grafana.
- Plugin Grafana
- Dashboard di Grafana
Per importare la dashboard grafana, fai clic sul menu '+' nel pannello di sinistra e fai clic su 'Importa'.
Ora apri il dashboard di esempio Grafana dall'URL "https://grafana.com/dashboards/5955" e fai clic sul pulsante "Copia l'ID negli appunti".
Incolla l'ID dashboard.
E verrai reindirizzato automaticamente alla configurazione della dashboard.
Nella sezione delle opzioni, fai clic su InfluxDB e scegli il tuo server influxdb, quindi fai clic sul pulsante "Importa".
E di seguito sono riportati alcuni screenshot dalla dashboard importata.
L'installazione di TIG Stack (Telegraf, InfluxDB e Grafana) su Ubuntu 18.04 è stata completata con successo.