Comment ajouter une IA générative locale à Grafana et transformer vos graphiques en décisions
IA Générative Ingénierie de Données

Comment ajouter une IA générative locale à Grafana et transformer vos graphiques en décisions

Fabricio Loor
Fabricio Loor | | 6 min de lecture

Introduction : une IA qui vous aide à voir plus loin

Grafana est l’un des outils les plus utilisés pour la visualisation de données en temps réel. Vous avez sûrement déjà eu à interpréter correctement un graphique, surtout si ce n’est pas une tache que vous faites au quotidien. Un LLM (Large Language Model) local peut faire la différence en transformant l’information visuelle en explications claires et exploitables.

Imaginez que vous avez un dashboard avec plusieurs métriques et que vous détectez une anomalie sur un graphique : un LLM peut vous aider à comprendre ce qui se passe et suggérer des causes possibles ou des actions à mener.

Dans ce guide, on vous montre comment intégrer un LLM local dans Grafana pour qu’il interprète les graphiques en temps réel et aide les utilisateurs à prendre des décisions plus éclairées. On va remplacer les appels à l’API de ChatGPT par un service local monté sur ollama avec le LLM de votre choix.

Dans cet exemple, on va utiliser Moondream, qui avec seulement 1.8B est très basique et petit, mais c’est un placeholder que vous pouvez remplacer selon la puissance dont vous disposez.

Comment ça marche ?

Le processus consiste à assembler deux mondes : visualisation et IA Générative. Il repose sur les étapes suivantes :

  1. Capture des données du graphique : On extrait les données pertinentes du panel Grafana.
  2. Traitement par le LLM : L’information est envoyée à un modèle de langage local pour analyse.
  3. Génération d’insights : Le LLM renvoie un résumé/analyse/comparaison en langage naturel.
  4. Visualisation dans Grafana : Les résultats générés sont affichés aux côtés du graphique original.

1. Télécharger le repo et les données

D’abord, téléchargez le repo et accédez au dossier contenant le plugin qu’on va installer.

Cargando gist...

Ensuite, on lance les containers Grafana et la base de données qui héberge les données à représenter graphiquement :

Cargando gist...

Si on va sur localhost:3000, on verra que Grafana est lancé.

Grafana - Home

Vous avez deux façons différentes de récupérer les données.

Cargando gist...

Avec ça, on voit que dans Grafana on peut maintenant accéder au dashboard qui affiche toutes les actions du S&P500 sur une période donnée.

Dashboard dans Grafana montrant l’analyse des actions Amazon.

2. Installer le Chart Analyzer

Le Chart Analyzer est encore vide, parce qu’il faut installer le panel en utilisant ses dépendances, et pour ça on a besoin de Node.js.

Node.js est un environnement qui permet d’exécuter du code JavaScript en dehors du navigateur, directement sur l’ordinateur. Bien que JavaScript soit ne pour rendre les pages web interactives, avec Node.js on peut maintenant aussi créer des programmes, des serveurs, des automatisations et des outils de développement. Node est devenu très populaire parce qu’il est rapide, léger et dispose d’une grande communauté qui partage des packages de code réutilisable via un système appelé NPM.

Dans ce plugin pour Grafana, on utilise Node.js pour gérer tout l’environnement de développement : installer les dépendances, exécuter le plugin en mode test, détecter les erreurs, et packager le plugin prêt pour la production. Pas besoin de savoir programmer en profondeur pour commencer ; il suffit d’installer les outils nécessaires et d’exécuter des commandes de base depuis le terminal, comme npm install ou npm run dev, qui font fonctionner tout l’environnement.

Cela dit, passons à l’installation du panel.

À la racine du repo, on va installer les dépendances et lancer le plugin.

Cargando gist...

Si cette étape vous donne une erreur, c’est qu’il faut modifier les permissions du dossier, alors revenez un pas en arrière et exécutez ceci.

Cargando gist...

Une fois fait, retournez dans le dossier et installez tout. Maintenant redémarrez les containers et vous verrez que dans Grafana le panel est installé.

Plugin Localllm installe dans Grafana depuis la vue d’administration

Vous remarquerez que le dashboard a maintenant le panel qu’on vient d’installer, en haut à droite.

Dashboard dans Grafana avec donnees PLTR et panel d’analyse LLM Local

3. Lancer le plugin

Le plugin permet à l’utilisateur de sélectionner différents types d’analyse selon le graphique affiché. Parmi les options :

  • Analyser des tendances : Détecte des patterns croissants ou décroissants dans le temps.
  • Détecter des anomalies : Identifie des pics ou des valeurs hors norme.
  • Faire une comparaison historique : Confronte le graphique actuel avec des périodes similaires antérieures.

Toutes ces options découlent chacune d’un prompt envoyé au LLM, que vous pouvez éditer à votre guise dans le code. En passant la souris sur le panel, en haut à droite vous verrez trois points. En cliquant, vous pouvez aussi éditer les paramètres du dashboard, comme par exemple le LLM que vous appelez.

Options du panel Localllm dans Grafana avec le modele moondream:1.8b

Dans ce cas, le port est celui utilisé par Ollama, la célèbre librairie pour déployer et servir des LLM en local. Si vous ne l’avez pas installé, ça se télécharge en une seule ligne de commande, et avec une de plus vous récupérez le modèle qu’on va utiliser.

Cargando gist...

Avec le modèle en marche, on est prêt à demander au LLM d’interpréter ce qu’il voit.

Panel de diagnostic avec Llama-3.2-vision

Ce résultat que vous voyez est une exécution où on a interrogé Llama-3.2-vision, qui est nettement plus puissant que le bon Moondream.

Avec Moondream comme placeholder, l’application complète devrait ressembler à ceci.

Dashboard avec analyse ALGN et panel de diagnostic LLM

Conclusion : visualiser ne suffit plus

Si Grafana permet déjà de visualiser les données de manière puissante, le combiner avec l’IA lui confère un niveau d’intelligence supplémentaire. L’implémenter est un processus accessible et hautement bénéfique, surtout dans les environnements où la rapidité de décision est clé.

Par ailleurs, une implementation locale apporte une couche de sécurité supplémentaire : elle vous garantit que vos données ne circulent pas sur le réseau, et que la vitesse et la précision dépendent du hardware dont vous disposez et du LLM que vous choisissez d’utiliser.

Commencez dès maintenant à améliorer vos dashboards avec de l’analyse automatisée et poussez l’interprétation de vos données au niveau supérieur. Si vous avez besoin d’aide pour intégrer ces outils dans votre organisation, n’hésitez pas à nous contacter.

À la prochaine !

Fabricio Loor

Fabricio Loor

Data Engineer @ deployr

Partager

Vous avez un vrai problème technique ?

On ne vend pas de solutions génériques. Parlons de ce que vous devez résoudre.

Parlons-en