InfluxDB grafana

InfluxDB grafana segue la serie di articoli dedicati a Docker e gli strumenti per l’IoT.

InfluxDB grafana Create DataBase HTTP API

Inizia dalla descrizione di InfluxDb che trovi nella documentazione presente sul sito ufficiale in cui puoi leggere:

InfluxDB definizione del DataBase

da cui puoi facilmente comprendere il motivo per cui InfluxDB grafana sia stato scelto come sistema molto diffuso in ambito IoT.

InfuxDB cos’è e come funziona

In questo articolo leggerai solo i concetti principali di InfluxDB, non è mia intenzione sostituire il manuale e la documentazione che ti invito a leggere seguendo il link riportato sopra.

Dalla documentazione ufficiale ho estratto i concetti che descrivo e puoi approfondirli leggendola, iniziamo dalla definizione di database time series, come hai letto, si tratta di un DB in cui i dati vengono storicizzati tenendo conto del “time” ossia della data e dell’ora in cui sono stati memorizzati.

L’informazione relativa al timestamp di ciacun record ha due caratteristiche principali:

  1. ha il formato RFC3339 UTC
  2. è una colonna sempre presente nelle tabelle di InfuxDB

La caratteristica “time based” di InfluxDB lo rende il candidato ideale per i data logger IoT.

Il concetto di tags e fields è un’altra caratteristica di InfluxDB ed chiaro se leggi la seguente frase:

InfluxDB Tags and Fields

I TAGS sono indicizzati mentre i FIELDS non lo sono.

Nei DB la tabella è costituita da colonne ed alcune di queste possono avere l’attributo di indicizzazione che indica al motore di data base di create un indice in gardo di velocizzare le query di ricerca e non solo.

In InfluxDB le colonne sono divise in TAGS e FIELDS in cui le prime sono quelle automaticamente indicizzate ed i fields i valori ad esse legati.

Una informazione fondamentale è la porta di default di InfluxDB: 8086

Interfaccia HTTP API InfluxDB

Per accedere a InfluxDB hai a disposizione delle API HTTP che puoi utilizzare con Curl>

InfluxDB Create DataBase HTTP API

eseguendo, ad esempio, una POST sulla porta 8086 puoi:

  • creare un nuovo DB
  • inserire dei dati nelle tabelle
  • eseguire query
  • ecc..

tutte operazioni descritte e documentate nel manuale on-line InfluxDB.

Interfaccia  CLI InfluxDB grafana

Puoi accedere a InfluxDB anche dalla CLI, a mio avviso, l’interfaccia più comoda per le prime attività da eseguire sul DB, come ad esempio la creazione del Database e delle prime tabelle dati.

Il Command Line Client ( CLI ) ti permette di eseguire operazioni su InfluxDB da linea di comando del server su cui è installato.

Accedi alla CLI InfluxDb come mostrato in figura:

InfluxDB CLI connection precision rfc3339

puoi specificare il parametro “precision” con cui lavorerà l’interfaccia cli nell’inserimento dei record.

Chiedi la lista dei DB attualmente presenti, essendo una installazione pulita avrai solo il database _internal:

InfluxDB CLI show databases

Crea il database che userai per InfluxDB grafana:

InfluxDB grafana CLI create database grafana

il nome “grafana” è parlante 🙂

ed esegui la lista dei data base presenti, compare anche “grafana” come nuovo Db creato:

InfluxDB CLI show database grafana

Prima di potervi accedere devi indicare al client che vuoi agire sul nuovo Db creato InfluxDB grafana, usa il comando “USE” seguito dal DB a cui vuoi accedere:

InfluxDB grafana CLI insert temperature

L’ultima linea ti mostra una semplice INSERT nella tabella temparature con tags location e room e fields temp e humidity.

Avrai notato che non abbiamo mai creato la tabella “temperature” in InfluxDB è una delle caratteristiche, quando fai una INSERT crei automaticamente una tabella il cui nome è definito come primo parametro della insert stessa.

I TAGS, di cui hai letto, seguono il nome della tabella e sono separati da “,” e seguiti da “=” mentre i fields sono staccati da uno spazio dai tags e separati tra loro da una “,”.

Puoi provare ora a verificare il dato inserito nella tabelle usando una SELECT:

InfluxDB grafana CLI select temperature

nota che oltre alle informazioni che hai inserito ti compare anche il timestamp corrispondente all’inserimento del dato.

Ora sei pronto per collegarti a Grafana e creare il Datasource per accedere ai dati inseriti nella tabella, nel prossimo articolo dedicato a InfluxDB grafana vedrai come fare.

  • Questo sito ed i suoi contenuti è fornito "così com'è" e Mauro Alfieri non rilascia alcuna dichiarazione o garanzia di alcun tipo, esplicita o implicita, riguardo alla completezza, accuratezza, affidabilità, idoneità o disponibilità del sito o delle informazioni, prodotti, servizi o grafiche correlate contenute sul sito per qualsiasi scopo.
  • Ti chiedo di leggere e rispettare il regolamento del sito prima di utilizzarlo
  • Ti chiedo di leggere i Termini e Condizioni d'uso del sito prima di utilizzarlo
  • In qualità di Affiliato Amazon io ricevo un guadagno dagli acquisti idonei qualora siano presenti link al suddetto sito.

Permalink link a questo articolo: https://www.mauroalfieri.it/elettronica/influxdb-grafana.html

1 ping

  1. […] in questa serie di tutorial abbiamo scelto InfluxDb per le motivazioni descritte nell’articolo dedicato a InfluxDB. […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.