Comment ajouter une IA generative locale a Grafana et transformer vos graphiques en decisions
IA Générative Ingénierie de Données

Comment ajouter une IA generative locale a Grafana et transformer vos graphiques en decisions

Fabricio Loor
Fabricio Loor | | 6 min de lecture

Introduction : une IA qui vous aide a voir plus loin

Grafana est l’un des outils les plus utilises pour la visualisation de donnees en temps reel. Vous avez surement deja eu a interpreter 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 difference en transformant l’information visuelle en explications claires et exploitables.

Imaginez que vous avez un dashboard avec plusieurs metriques et que vous detectez une anomalie sur un graphique : un LLM peut vous aider a comprendre ce qui se passe et suggerer des causes possibles ou des actions a mener.

Dans ce guide, on vous montre comment integrer un LLM local dans Grafana pour qu’il interprete les graphiques en temps reel et aide les utilisateurs a prendre des decisions plus eclairees. On va remplacer les appels a l’API de ChatGPT par un service local monte sur ollama avec le LLM de votre choix.

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

Comment ca marche ?

Le processus consiste a assembler deux mondes : visualisation et IA Generative. Il repose sur les etapes suivantes :

  1. Capture des donnees du graphique : On extrait les donnees pertinentes du panel Grafana.
  2. Traitement par le LLM : L’information est envoyee a un modele de langage local pour analyse.
  3. Generation d’insights : Le LLM renvoie un resume/analyse/comparaison en langage naturel.
  4. Visualisation dans Grafana : Les resultats generes sont affiches aux cotes du graphique original.

1. Telecharger le repo et les donnees

D’abord, telechargez le repo et accedez au dossier contenant le plugin qu’on va installer.

Cargando gist...

Ensuite, on lance les containers Grafana et la base de donnees qui heberge les donnees a representer graphiquement :

Cargando gist...

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

Grafana - Home

Vous avez deux facons differentes de recuperer les donnees.

Cargando gist...

Avec ca, on voit que dans Grafana on peut maintenant acceder au dashboard qui affiche toutes les actions du S&P500 sur une periode donnee.

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 dependances, et pour ca on a besoin de Node.js.

Node.js est un environnement qui permet d’executer 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 creer des programmes, des serveurs, des automatisations et des outils de developpement. Node est devenu tres populaire parce qu’il est rapide, leger et dispose d’une grande communaute qui partage des packages de code reutilisable via un systeme appele NPM.

Dans ce plugin pour Grafana, on utilise Node.js pour gerer tout l’environnement de developpement : installer les dependances, executer le plugin en mode test, detecter les erreurs, et packager le plugin pret pour la production. Pas besoin de savoir programmer en profondeur pour commencer ; il suffit d’installer les outils necessaires et d’executer des commandes de base depuis le terminal, comme npm install ou npm run dev, qui font fonctionner tout l’environnement.

Cela dit, passons a l’installation du panel.

A la racine du repo, on va installer les dependances et lancer le plugin.

Cargando gist...

Si cette etape vous donne une erreur, c’est qu’il faut modifier les permissions du dossier, alors revenez un pas en arriere et executez ceci.

Cargando gist...

Une fois fait, retournez dans le dossier et installez tout. Maintenant redemarrez les containers et vous verrez que dans Grafana le panel est installe.

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 a droite.

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

3. Lancer le plugin

Le plugin permet a l’utilisateur de selectionner differents types d’analyse selon le graphique affiche. Parmi les options :

  • Analyser des tendances : Detecte des patterns croissants ou decroissants dans le temps.
  • Detecter des anomalies : Identifie des pics ou des valeurs hors norme.
  • Faire une comparaison historique : Confronte le graphique actuel avec des periodes similaires anterieures.

Toutes ces options decoulent chacune d’un prompt envoye au LLM, que vous pouvez editer a votre guise dans le code. En passant la souris sur le panel, en haut a droite vous verrez trois points. En cliquant, vous pouvez aussi editer les parametres 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 utilise par Ollama, la celebre librairie pour deployer et servir des LLM en local. Si vous ne l’avez pas installe, ca se telecharge en une seule ligne de commande, et avec une de plus vous recuprez le modele qu’on va utiliser.

Cargando gist...

Avec le modele en marche, on est pret a demander au LLM d’interpreter ce qu’il voit.

Panel de diagnostic avec Llama-3.2-vision

Ce resultat que vous voyez est une execution ou on a interroge Llama-3.2-vision, qui est nettement plus puissant que le bon Moondream.

Avec Moondream comme placeholder, l’application complete devrait ressembler a ceci.

Dashboard avec analyse ALGN et panel de diagnostic LLM

Conclusion : visualiser ne suffit plus

Si Grafana permet deja de visualiser les donnees de maniere puissante, le combiner avec l’IA lui confere un niveau d’intelligence supplementaire. L’implementer est un processus accessible et hautement benefique, surtout dans les environnements ou la rapidite de decision est cle.

Par ailleurs, une implementation locale apporte une couche de securite supplementaire : elle vous garantit que vos donnees ne circulent pas sur le reseau, et que la vitesse et la precision dependent du hardware dont vous disposez et du LLM que vous choisissez d’utiliser.

Commencez des maintenant a ameliorer vos dashboards avec de l’analyse automatisee et poussez l’interpretation de vos donnees au niveau superieur. Si vous avez besoin d’aide pour integrer ces outils dans votre organisation, n’hesitez pas a nous contacter.

A 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