Tutorial > Come installare InfluxDB su Ubuntu 20.04

Come installare InfluxDB su Ubuntu 20.04

Pubblicato il: 07 dicembre 2020

Database Sviluppo Ubuntu

InfluxDB è un database time-series open source altamente ottimizzato per la memorizzazione di dati temporali, come i dati provenienti da sensori inseriti in ambito IoT. Mediante questo database sarà possibile monitorare e analizzare i dati memorizzati, potendo calcolare automaticamente anche parametri extra quali media, varianza, etc.

In questo tutorial vedrai come installare InfluxDB sul tuo Server con Ubuntu 20.04.

Per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Installazione

L’installazione di InfluxDB può avvenire interrogando direttamente i repository ufficiali di questo strumento. Per prima cosa devi quindi aggiungerli al tuo elenco, digitando i seguenti comandi:

sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
sudo echo "deb https://repos.influxdata.com/ubuntu bionic stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo echo "deb https://repos.influxdata.com/ubuntu bionic stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt update

Una volta aggiornato quindi l’elenco dei repository, puoi procedere con l’installazione di InfluxDB mediante il comando:

sudo apt install influxdb

Una volta installato puoi verificare lo stato del servizio tramite:

sudo systemctl status influxdb
Stato InfluxDB

Se digitando questo comando dovessi ottener un risultato simile a quello mostrato nella schermata sopra, significherà che lo strumento è stato correttamente installato, ma non risulta ancora in esecuzione.

Per avviarlo e fare in modo che il servizio sia sempre disponibile a ogni riavvio della macchina, puoi digitare il comando:

sudo systemctl enable --now influxdb

In questa maniera non solo verrà avviato sul momento, ma verrà ricaricato ogni qualvolta dovessi riavviare il server. Se preferisci avviarlo manualmente, puoi eseguire, in alternativa al comando mostrato sopra:

sudo systemctl start influxdb

Per interrompere l’esecuzione di InfluxDB puoi utilizzare il comando:

sudo systemctl stop influxdb
InfluxDB avviato ed abilitato ad esecuzione automatica

Configurazione di InfluxDB

Il file di configurazione di InfluxDB si trova di default nella cartella /etc/influxdb/influxdb.conf.

Molte funzionalità sono commentate: per abilitarle ti basterà aprire il file di configurazione e cancellare i simboli “#” dalla riga interessata.

La modifica al file di configurazione può essere eseguita mediante il comando:

sudo nano /etc/influxdb/influxdb.conf

Qualora volessi ad esempio poter fare accesso mediante richiesta HTTP (abilitare gli endpoint), ti basterebbe decommentare la voce “enabled” nella sezione “http”, come mostrato nella seguente schermata:

Abilitazione endpoint HTTP

Quando avrai finito di effettuare le dovute modifiche, chiudi ed esci mediante la combinazione di tasti CTRL+X / Y / Invio.

Per rendere effettive le modifiche apportate bisogna riavviare il servizio, operazione effettuabile mediante i comandi precedentemente descritti:

sudo systemctl stop influxdb && sudo systemctl start influxdb

Come per ogni database, dopo l'installazione la prima cosa da effettuare è la creazione di un account amministratore. Questa operazione può essere eseguita mediante il seguente comando: 

curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES"

Sostituisci chiaramente:

  • admin: con il nome dell’utente;
  • password: con la password da utilizzare per il login al database.

Una volta creato l’account, è possibile accedere alla shell di InfluxDB mediante il comando:

influx -username 'admin' -password 'password'

N.B. anche in questo caso i parametri “admin” e “password” devono essere sostituiti con quelli precedentemente dichiarati.

Accesso shell InfluxDB

Oltre a poter eseguire le query direttamente dalla shell, puoi inviare le tue query a InfluxDB mediante
strumenti come “curl”. La sintassi da rispettare è la seguente:

curl -G http://localhost:8086/query -u ADMIN_NAME:PASSWORD_NAME --data-urlencode "q=QUERY"

Anche in questo caso devi sostituire:

  • “ADMIN_NAME” con il nome dell’utente creato;
  • “PASSWORD_NAME” con la password associata a tale utente;
  • “QUERY” con la query da voler eseguire.

Se volessi ad esempio accedere con i dati utilizzati in questo tutorial e visualizzare tutti i database presenti, il comando da eseguire sarebbe questo:

curl -G http://localhost:8086/query -u admin:password --data-urlencode "q=SHOW DATABASES"

N.B. Qualora stessi interrogando il database InfluxDB da una macchina diversa da quella su cui è installato il server, al posto della voce “localhost” dovrai inserire l’indirizzo IP della macchina da voler interrogare.

Visualizzazione Databases InfluxDB

Abilitazione del Firewall

Poichè InfluxDB può essere interrogato anche dall’esterno, potrebbe essere necessario aggiornare le regole del firewall per permetterne la connessione.

Qualora il tuo firewall sia UFW, ti basterà digitare i seguenti comandi:

sudo ufw allow 8086/tcp

In questa maniera verrà consentito il traffico TCP sulla porta 8086 utilizzata da InfluxDB per l’interrogazione del database dall’esterno.