Fotolia

IoT et data streaming : InfluxData veut simplifier la collecte de données

InfluxData a ajouté de nouvelles fonctionnalités à son service InfluxDB Cloud, qui visent à faciliter l’intégration de données en provenance de flux d’événements, en commençant par ceux des objets connectés.

InfluxData développe la base de données time series open source InfluxDB, et fournit également une plateforme DbaaS nommée InfluxDB Cloud.

En février, l’éditeur a proposé des capacités pour mieux prendre en charge les cas d’usage IoT et les capteurs industriels. Ces capacités sont maintenant étendues avec le service InfluxDB Native Collectors dans le cloud.

Il s’agit de faciliter l’ingestion et le chargement directs par les utilisateurs de données provenant de services de flux événements et de courtiers de messages (brokers).

Le premier service supporté par les collecteurs natifs d’InfluxDB est le protocole MQTT (MQ Telemetry Transport). InfluxData prévoit d’ajouter des connecteurs pour Apache Kafka, AMQP (advance message queuing protocol) et Amazon Kinesis dans les mois à venir.

InfluxData est en concurrence avec un certain nombre d’éditeurs de bases de données qui offrent des fonctionnalités de séries chronologiques. C’est le cas notamment de MongoDB, qui a développé le support de ces points de données temporelles dans les dernières moutures de sa plateforme.

De son côté, InfluxData tente d’aider les utilisateurs finaux à rationaliser le processus de transfert des données dans InfluxDB Cloud avec l’introduction des collecteurs natifs InfluxDB, selon Rachel Stephens, analyste chez RedMonk.

Avec InfluxDB, le modèle architectural commun consiste à envoyer des données de séries chronologiques d’un dispositif IoT à un courtier de messages MQTT, qui publie les données à un agent de collecte Telegraf. L’agent transmet à son tour les données dans le TSBD. Les nouveaux collecteurs d’InfluxData simplifient cette approche.

« Le collecteur MQTT natif permettra aux usagers de raccorder leur broker MQTT directement à InfluxDB », affirme Rachel Stephens. « L’introduction de collecteurs natifs devrait contribuer à réduire le niveau de surcharge nécessaire pour construire et maintenir les pipelines de collecte de données MQTT. »

Des ingestions de données plus directes avec les Native Collectors

Jusqu’à présent, les utilisateurs pouvaient obtenir des données dans le Cloud InfluxDB soit en écrivant du code pour connecter des sources, soit en déployant un agent, tel que Telegraf, relate Brian Gilmore, directeur de l’IoT et des technologies émergentes chez InfluxData.

« Il n’y avait pas vraiment de moyen pour le développeur de simplement pointer vers une source de données et de dire “je souhaite recueillir les données à partir d’ici” », reconnaît Brian Gilmore. « Au lieu d’écrire des milliers de lignes de code pour gérer en interne l’ingestion de données à grande échelle, nous prenons à notre charge ce fardeau en intégrant cette capacité directement dans la base de données ».

« Au lieu d’écrire des milliers de lignes de code pour gérer en interne l’ingestion de données à grande échelle, nous prenons à notre charge ce fardeau en intégrant cette capacité directement dans la base de données ».
Brian GilmoreDirecteur IoT et technologies émergentes, InfluxData

Toutefois, cela ne veut pas dire que l’agent Telegraf ira au rebut, en tout cas pas dans l’immédiat. Il dispose de plus de 300 plug-ins pour différentes sources de données et demeure pertinent pour un ensemble de cas d’usage.

En revanche, les collecteurs natifs doivent permettre d’alléger la configuration et la maintenance de projets IoT. Habituellement, l’agent telegraf peut être déployé sur les équipements – ce qui implique une démarche de maintenance supplémentaire –, ou sur une machine virtuelle ou une instance conteneurisée séparée qu’il faut administrer.

D’autant que les clients d’InfluxData semblent recourir de plus en plus à des brokers MQTT à la demande, tels que ceux de HiveMQ, un partenaire d’InfluxData, ou de CloudBlade.

Avec le collecteur natif pour MQTT, les utilisateurs spécifient l’adresse IP, les ports et les paramètres du courtier. Puis, ils configurent les topics auxquels Native Collector doit souscrire.

InfluxDB Native Collectors comprend également un analyseur syntaxique intégré qui permet aux usagers d’obtenir les informations particulières d’un flux de données dont ils ont besoin.

Il s’agit de programmer des règles de parsing pour faire correspondre les éléments des messages à « des mesures, des horodatages, des champs et des étiquettes dans InfluxDB ».

Par exemple, un flux de données MQTT provenant d’un capteur pourrait inclure toutes sortes de données sur un environnement opérationnel qui ne sont pas toutes nécessaires dans la base de données. Grâce aux collecteurs, il est désormais possible d’extraire et d’ingérer les données dont un développeur a besoin, comme la température d’un silo, d’une cuve ou d’une machine.

Ces recherches d’informations spécifiques se font à l’aide d’expressions régulières ou de chemins JSON dans les charges utiles en provenance des brokers.

D’autres options de l’analyseur syntaxique permettent de souscrire « dynamiquement » à un ou plusieurs topics d’un broker spécifique, de router des événements vers différents buckets d’InfluxDB.

Brian Gilmore ajoute qu’InfluxData fournit le service via une interface utilisateur web dans InfluxDB Cloud pour tenter de rendre la connexion aux sources de données aussi facile que possible pour les utilisateurs.

Comment fonctionnent les collecteurs natifs InfluxDB

En développant la nouvelle technologie de collecteur, InfluxData a intégré un client de courtier de messages dans InfluxDB Cloud.

L’éditeur utilise le projet open source Apache NiFi comme base pour l’ingestion directe des flux de données d’événements.

NiFi permet le routage et l’analyse des messages nécessaires aux collecteurs natifs InfluxDB. Avec InfluxDB Cloud, InfluxData a été en mesure de transformer la collecte de messages et de flux de données en un service élastique multitenant, selon Brian Gilmore.

« Nous prenons l’entière responsabilité du service dans le cloud, par le biais de cette base logicielle ouverte, pour gérer toute la collecte de données du client », affirme-t-il.

InfluxData ne dit pas si le collecteur natif est compatible avec toutes les caractéristiques de MQTT v5. La plupart des projets IoT utilisent la version 3.1.1 du protocole, la dernière mise à jour datant de 2019 n’est pas totalement supportée par les différents fournisseurs alors que de plus en plus de responsables de projets IoT l’adoptent. En juin 2022, certains développeurs réclamaient la révision de l’agent Telegraf afin de prendre en charge toutes les fonctionnalités de MQTT v5.

Pour approfondir sur Base de données