InfluxDB: Come iniziare

Come iniziare con InfluxDB

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione InfluxDB cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Scritture, query, dashboard, attività e bucket illimitati.
  • Tempo di conservazione dei dati illimitato.
  • Trasferimenti di rete e disco illimitati.
  • Aggiornamenti senza sforzo con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione di InfluxDB cloud hosting di Stackhero!

InfluxDB non offre un modo per creare e gestire gli utenti direttamente tramite la sua interfaccia web. Fortunatamente, è possibile utilizzare la CLI di InfluxDB per queste operazioni.

È possibile accedere alla CLI di InfluxDB tramite Docker. Ad esempio, eseguire il seguente comando:

docker run -it -u 0 bitnami/influxdb:2.7.11 /bin/bash

Non dimenticare di sostituire 2.7.11 con la tua versione di InfluxDB.

Una volta avviato il container, creare una configurazione. Ricordarsi di sostituire <XXXXXX>.stackhero-network.com con il proprio dominio InfluxDB reale:

influx config create \
  --config-name adminConfig \
  --active \
  --username-password admin \
  --org admin \
  --host-url https://<XXXXXX>.stackhero-network.com

Dopo questo passaggio, sarà possibile utilizzare la CLI di InfluxDB. Ad esempio, per creare un nuovo utente, eseguire:

influx user create --name <user> --password <password>

InfluxDB è progettato come un database di serie temporali e gestisce spesso un gran numero di metriche. Poiché questi database generalmente non eliminano i dati automaticamente, il database può crescere indefinitamente e utilizzare tutto lo spazio su disco disponibile.

Per evitare la saturazione dello spazio su disco, InfluxDB offre due soluzioni:

  1. Politiche di conservazione: Eliminare i dati più vecchi di una data definita. Ad esempio, si potrebbe decidere di rimuovere i dati più vecchi di 365 giorni.
  2. Riduzione dei dati: Ridurre la risoluzione dei dati nel tempo. Ad esempio, se si registra una temperatura ogni secondo, si potrebbe voler:
    1. Conservare i dati di temperatura con una risoluzione di un secondo per gli ultimi 5 minuti.
    2. Mantenere le temperature massime, minime e medie con una risoluzione di un minuto per le ultime 24 ore.
    3. Memorizzare le temperature massime, minime e medie con una risoluzione di un'ora per i dati più vecchi.

L'uso delle politiche di conservazione consente di memorizzare dati storici per lunghi periodi senza necessitare di terabyte di spazio di archiviazione. Troverete maggiori informazioni sulla riduzione dei dati nella documentazione ufficiale.

Per impostazione predefinita, InfluxDB memorizza i dati indefinitamente. Sebbene questo comportamento sia tipico per i database tradizionali, non è ideale per i database di serie temporali, che dovrebbero rimuovere i dati obsoleti per evitare una crescita incontrollata.

Ad esempio, se si memorizzano dati di tensione della batteria, potrebbero essere rilevanti solo per pochi giorni anziché anni. Per evitare di riempire il disco, è fondamentale impostare un periodo di conservazione per ciascuno dei propri bucket.

Per configurare la conservazione dei dati:

  1. Aprire l'interfaccia web di InfluxDB.
  2. Cliccare su "Data", quindi "Buckets".
  3. Cliccare su "Settings" accanto al bucket che si desidera configurare.
  4. Selezionare "Delete data older than" e scegliere il periodo di conservazione desiderato.

Non dimenticare che i dati più vecchi del periodo di conservazione selezionato saranno eliminati definitivamente!

Tenere presente che i dati in InfluxDB sono organizzati in shard. Gli shard contenenti solo dati obsoleti vengono eliminati automaticamente, ma se uno shard contiene un mix di dati obsoleti e attuali, non verrà rimosso. Per impostazione predefinita, senza una politica di conservazione definita, gli shard contengono 7 giorni di dati. Ciò significa che quando si imposta una politica di conservazione, quasi 7 giorni di dati obsoleti potrebbero ancora essere conservati insieme ai dati attuali. Troverete maggiori informazioni sugli shard nella documentazione ufficiale.

Troverete esempi su come inviare dati da Node.js a un servizio InfluxDB in questo repository: https://github.com/stackhero-io/influxdbGettingStarted