Base de données de mesures chronologiques

Time Series Database (TSDB) : base de données optimisée pour les grands volumes de données ordonnés chronologiquement, les mesures et événements horodatées.

Liste des TSDB

ProduitLangageSite
InfluxDBGoinfluxdata.com
PrometheusGoprometheus.io
OpenTSDBopentsdb.net
Apache DruidJavadruid.apache.org
Apache KuduC++kudu.apache.org
Whisper (Graphite)Pythongraphiteapp.org
eXtremeDBmcobject.com
IBM Informix TimeSeriesC / C++ibm.com
Kx kdb+Qcode.kx.com
Riak-TSErlangriak.com
RRDtoolChttps://oss.oetiker.ch/rrdtool/

InfluxDB

InfluxDB est un moteur de base de données, organisé en séries de temps (Time Series). Il s’agit d’un ensemble de valeurs collectés à intervalles réguliers sur une période de temps donnée. Elle supporte des charges élevées de lecture et d’écriture.

Ce type de base de données mesure les changements au fil du temps. Elle propose des fonctionnalités de gestion du cycle de vies des données, d’agrégation (summarization), et permet de parcourir de larges rangées d’enregistrements.

La clé primaire de chaque enregistrement est la date et l’heure de création de l’enregistrement.

La solution d’InfluxData comprend plusieurs briques logiciels :

Cette solution est utilisée en DevOps pour la surveillance des systèmes (nombre de requêtes par seconde, utilisation du processeur, de la mémoire, etc …), les mesures d’applications (nombre d’envoi de mail par seconde, …), les données de capteurs IoT et les analyses en temps réel.

Installation sur PC

Dans le cas ou un serveur PC surveille notre installation Raspberry.

docker pull influxdb:2.0.4

Installation sur Raspberry

Dans le cas où le Raspberry est utilisé comme agent de surveillance de nos serveurs et machines.

Ajouter la clé gpg https://repos.influxdata.com/influxdb.keydans le porte-clé du système.

wget -qO /usr/local/share/keyrings/influxdb.gpg https://repos.influxdata.com/influxdb.key

Convertir la clé au format gpg NE FONCTIONNE PAS

echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /usr/local/share/keyrings/influxdb.gpg > /dev/null

sha256sum -c 23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key

influxdb.key GPG Fingerprint: 05CE15085FC09D18E99EFB22684A14CF2582E0C5

echo ‘deb [signed-by=/etc/apt/keyrings/influxdb.gpg] https://repos.influxdata.com/debian stable main’ | sudo tee /etc/apt/sources.list.d/influxdata.list

sudo apt-get update && sudo apt-get install telegraf

#ajout du dépôt pour apt
echo "deb [signed-by=/usr/local/share/keyrings/influxdb.gpg] https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdata.list

#mise à jour de la liste des paquets contenus dans les dépôts
apt update

Installer le paquet logiciel influxdb.

Activer le service influxdb

systemctl enable --now influxdb

Mode client

influx
# Créer une base de données
> CREATE DATABASE iutsd

# Vérifier la présence de la base de données
> SHOW DATABASES

# Se placer dans la base de donnée
> USE iutsd

# Insérer une donnée dans la base
> INSERT nom,numero=127 solde=60.0

Visualiser les données

> SELECT solde FROM nom

Structure d’une donnée

mesure[,<tag-key>=<valeur>...] <grandeur1>=<valeur>[,<grandeur2>=<valeur2>...] [unix-nano-timestamp]

Un mesure est associée à une ou plusieures étiquette.

Collecteur de données

Installer le paquet logiciel telegraf.

systemctl enable --now telegraf

Activer la collecte depuis le protocole MQTT

Liens externes

:time stamped données horodaté, reliée à un temps précis.