SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
|
GUIDA DEDICATA A utenti: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.3 |
Abstract
Per diversi motivi, un utente della nostra community (e non) potrebbe trovarsi nell’esigenza di disporre di una base dati efficiente e sicura per archiviare serie storiche – anche rilevanti – di dati provenienti dalla propria domotica e altro. Un database ideale per tale scopo è InfluxDB, un progetto open source di grande successo che, nel tempo, ha ottenuto sempre più apprezzamento per la sua relativa semplicità d’uso unita alla grande versatilità.
Un utente che disponga di un host Mini PC/Intel NUC (o altri, come Raspberry Pi) può, molto facilmente, dotarsi di tale applicativo.
Scopo della presente guida è quello di installare e configurare InfluxDB istanziato presso Docker, su Linux.
N.b. La presente guida è disponibile anche per sistemi Raspberry Pi. Se invece si dispone di un’installazione Home Assistant OS o Home Assistant Supervised, la guida corretta è questa. |
Si parte
Assunti
Questa guida è dedicata a chi abbia già un computer con sistema operativo Linux Debian. Per coloro che non abbiano ancora provveduto e si trovino ad avere un Mini PC/Intel NUC, magari acquistato appositamente per realizzare la propria domotica, allora questo passo della guida va smarcato seguendo prima un’altra guida, che spiega passo passo come configurare il sistema operativo Linux Debian.
Una volta terminata la configurazione di Linux Debian (inclusa la possibilità di collegarvisi tramite SSH nonché aver effettuato il perfezionamento) è possibile procedere nella presente guida.
Installare Docker
Installare Docker su Linux Debian è piuttosto semplice, esiste una procedura completamente automatica e una manuale. Entrambe le procedure sono illustrate in dettaglio in questa breve guida.
Se si ha già provveduto all’installazione di Docker, va da sé che questo passaggio possa essere saltato.
ATTENZIONE: affinché i comandi a seguire funzionino, è necessario aver aggiunto Docker al gruppo sudoers, come spiegato in guida. |
Configurazione base
Prima di procedere all’istanziamento di InfluxDB, però, è necessario creare una cartella la quale conterrà la sua configurazione ed eventuali file statici. Una volta collegati via SSH al computer ospitante tramite una propria utenza (eg. “deb“), provvedere a creare la cartella:
mkdir /home/deb/influxdb/data -p
avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).
A questo punto è necessario creare il file di configurazione di InfluxDB in formato YAML all’interno della cartella prescelta per la configurazione e i dati del database appena creata. Per farlo è sufficiente eseguire un comando docker il quale estragga, da un container temporaneo creato con la corretta immagine Docker di InfluxDB, la configurazione di base per copiarla poi all’interno della cartella.
Eseguiamo quindi:
docker run --rm influxdb:2.0 influxd print-config > /home/deb/influxdb/config.yml
avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).
N.b. La configurazione che verrà copiata nella cartella è quella di base offerta dall’applicativo. Nulla vieta – e gli utenti più esperti lo faranno – di personalizzarla come meglio si creda. |
Istanziare InfluxDB
Arrivati a questo punto è possibile provvedere all’instanziamento di InfluxDB, il quale viene eseguito come container Docker tramite un’istanza specifica.
In ambito Docker, l’istanziamento dell’applicazione può essere effettuato tramite esecuzione di un comando manuale (più immediato) oppure tramite una configurazione del tool di gestione Docker Compose, approccio inizialmente più ostico ma che consigliamo per tutta una serie di motivi. Entrambe le scelte sono valide, ma in prospettiva (specie in ottica di aggiornamento) imparare ad usare Docker Compose è altamente consigliato.
Provvediamo quindi all’istanziamento vero e proprio dell’applicazione, utilizzando come spiegato prima o il comando “docker run” o la più versatile configurazione Docker Compose.
ATTENZIONE: affinché i comandi a seguire funzionino, è necessario aver aggiunto Docker al gruppo sudoers, come spiegato in guida d’installazione Docker. |
Tramite comando “docker run”
Istanziamo dunque InfluxDB su Docker tramite il comando:
docker run --init -d -it --name influxdb -p 8086:8086 -v /home/deb/influxdb/config.yml:/etc/influxdb2/config.yaml $/home/deb/influxdb/data:/var/lib/influxdb2 --restart always influxdb:latest
avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).
Congratulazioni: InfluxDB è ora operativo.
Tramite Docker Compose
Se astutamente si sceglie di utilizzare Docker Compose, allora è semplicemente necessario aggiungere al proprio file docker-compose.yaml la seguente configurazione (sotto il bocco services):
influxdb:
container_name: influxdb
image: influxdb:latest
restart: unless-stopped
volumes:
- /home/deb/influxdb/config.yml:/etc/influxdb2/config.yml
- /home/deb/influxdb/data:/var/lib/influxdb2
ports:
- "8086:8086"
avendo cura di adeguare il comando in funzione dell’utenza in uso (nell’esempio, appunto, “deb“).
Una volta salvato il file docker-compose.yaml, eseguire il comando:
docker compose up -d influxdb
il quale provvederà a istanziare il container.
N.b. In caso il comando “docker compose” dovesse dare errore, verificare di non aver installata la versione applicativa di Docker Compose anzichè la versione plug-in alla quale il comando sopra fa riferimento. In tal caso, adeguare il comando da “docker compose” a “docker-compose” (col trattino in mezzo). |
Lanciato il comando, attendere il completamente del primo avvio.
Congratulazioni: InfluxDB è ora operativo.
Configurare InfluxDB
La configurazione di dettaglio di InfluxDB si effettua sempre dopo il primo avvio del container. Forse un po’ controintuitivo, ma tant’è (in realtà sarebbe possibile farlo anche via comando, ma per semplicità spieghiamo come segue).
L’interfaccia di InfluxDB viene esposta (di base) sulla porta 8086 del computer ospitante tale applicativo. Pertanto, è sufficiente collegarsi tramite browser all’indirizzo:
http://INDIRIZZO_IP_DEL_COMPUTER:8086
Dove ovviamente INDIRIZZO_IP_DEL_COMPUTER andrà sostituito con l’indirizzo IP del computer ospitante.
La prima schermata ci darà il benvenuto:
mentre la seconda ci permetterà di inserire i primi dati: quelli di accesso (username e password), quelli relativi “all’organizzazione” (personale, in questo caso) e poi relative al bucket, ovvero il primo “contenitore” nel quale verranno salvati i dati. In una seconda fase sarà possibile aggiungerne di nuovi (di credenziali d’accesso, di organizzazioni e di bucket):
Al termine ci viene chiesto se passare direttamente all’interfaccia (terza scelta) oppure selezionare una delle due strade (semplice, “QUICK START” o più complessa “ADVANCED) che portano direttamente alla configurazione delle fonti dati del database:
Scegliendo la terza scelta, si atterrerà direttamente alla pagina principare di InfluxDB:
Uso e integrazioni
A questo punto InfluxDB è pronto e utilizzabile al fine di gestire le proprie fonti dati.
Non è ovviamente obiettivo della presente guida illustrare i moltissimi case d’uso di InfluxDB, uno dei quali però possiamo suggerire, ovvero l’integrazione con Home Assistant per l’infasamento dei dati storici verso questa base dati.
Integrare i dati della domotica personale Home Assistant verso InfluxDB (e viceversa)
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |