Ingestion de données temporelles rétro-compatible dans Grafana Cloud
Dans le cadre de notre mission d’infogĂ©rance pour un client, il nous a Ă©tĂ© demandĂ© de pouvoir ingĂ©rer des donnĂ©es temporelles pouvant rĂ©tro-compatible dans Grafana.
Ce cas d’Ă©tude prĂ©sente comment nous avons rĂ©solu ce problème, et comment cela peut vous aider dans la conception de votre architecture.
Contexte du problème
Description du problème : Le client utilisait des scĂ©narios rĂ©gulier et des mĂ©triques serveur pour son alerting mais la solution Ă©tait limitĂ©e. Il a Ă©tĂ© dĂ©cidĂ© d’ajouter un outil permettant l’analyse sur les transactions rĂ©elles rĂ©alisĂ©es par les utilisateurs finaux.
Ceci permettra de détecter et d’analyser plus finement ce qui se passe sur la plateforme et améliorer la détection de la cause “racine”.
Analyse et Solution
Grafana a Ă©tĂ© choisi pour cet usage mais ne rĂ©solvait pas le problème de rĂ©tro-compatibilitĂ© et de batching lors de l’ingestion des donnĂ©es.
Problème :
- Une transaction client pouvant arriver dans le pipeline d’ingestion plusieurs minutes après sa crĂ©ation il est nĂ©cessaire de pouvoir ingĂ©rer des donnĂ©es de manière rĂ©tro-compatible.
- Mimir et Prometheus ne permette pas d’ingĂ©rer des donnĂ©es out-of-order on ne peut donc pas les utiliser.
Solution mise en place
Utilisation d’InfluxDB Cloud comme source des donnĂ©es de Grafana Cloud
Solution :
- Ingestion de donnĂ©es out-of-order : InfluxDB permet l’ingestion de donnĂ©es temporelles de manière rĂ©tro-compatible
- IntĂ©gration avec Grafana : InfluxDB Serverless peut-ĂŞtre utilisĂ© comme datasource Grafana après crĂ©ation d’une dbrp (database rĂ©tention policy)
- CompatibilitĂ© avec InfluxQL v3: InfluDB et Grafana en version Cloud permettent l’utilisation d’InfluxQL v3, dont la syntaxe est proche de SQL, facilitant ainsi le requĂŞtage de donnĂ©es.
Résultats obtenus
Après adaptation de la structure des données pour récupération correcte des Tags InfluxDB par Grafana nous avons pu mettre en place les différents niveaux de dashboards.
Nous avons aussi pu valider le principe d’une segmentation client dans Grafana :
- Une organisation Grafana peut être limitée à une ou plusieurs datasources et chaque dsatasource est créée avec un token donnant des permissions sur un ou plusieurs buckets.
- Un utilisateur de l’organisation a ainsi accès seulement Ă ces buckets
Nos conseils
DĂ©finir une structure de donnĂ©es claire : La structure des donnĂ©es doit ĂŞtre dĂ©finie en amont, Ă la fois pour rĂ©pondre aux cas d’usages, mais aussi pour faciliter l’affichage dans Grafana via InfluxQL dont les « tags » fonctionnent diffĂ©rement des colonnes en SQL

