# Connexion à Grafana

Ce guide montre comment connecter Grafana à **IoT Query** pour visualiser les données télématiques et de flotte. Grafana offre des capacités de visualisation puissantes pour surveiller l'état des véhicules, les données des capteurs et d'autres métriques en temps réel.

{% hint style="info" %}
Ce guide fait partie de la **IoT Query** suite de documentation et couvre spécifiquement la connexion de Power BI à votre entrepôt de données. Si vous hésitez encore sur l’outil BI à utiliser, référez-vous à la [Sélection d'outils BI](https://www.navixy.com/docs/analytics/datahub/connection-setup/selecting-bi-tools) vue d’ensemble.
{% endhint %}

Regardez une brève vidéo de présentation pour voir ce qui est possible avec **IoT Query**la combinaison +Grafana (disponible en anglais et en espagnol) :

{% tabs %}
{% tab title="Anglais" %}
{% embed url="<https://youtu.be/jGO3hIAjPCo?si=7bzWO4XrTwGnTq3c>" %}
**IoT Query** + Aperçu et tutoriel d'installation de Grafana.
{% endembed %}
{% endtab %}

{% tab title="Español" %}
{% embed url="<https://youtu.be/jEf7i_mAWPE?si=pru7QyYHzyoqK79Q>" %}
Descripción general y tutorial de configuración de **IoT Query** + Grafana.
{% endembed %}
{% endtab %}
{% endtabs %}

## Fonctionnalités du tableau de bord

* Visualisation des données de capteurs en temps réel
* Analyse des séries temporelles avec plages temporelles personnalisables
* Filtrage dynamique à l'aide de variables
* Prise en charge de plusieurs sources de données
* Graphiques et diagrammes interactifs
* Construction de requêtes personnalisées avec SQL

## Exigences techniques

* Grafana 9.3 ou version ultérieure
* Plugin de source de données PostgreSQL (inclus par défaut)
* Accès Internet pour la connexion à la base de données
* Actif **IoT Query** instance avec les identifiants de connexion

## Installation et configuration

Grafana doit être installé sur votre système avant que vous puissiez vous connecter à **IoT Query**.

{% stepper %}
{% step %}

### Installer Grafana

1. Téléchargez et installez Grafana depuis le site officiel :\
   <https://grafana.com/grafana/download>
2. Suivez les instructions d'installation pour votre système d'exploitation.
   {% endstep %}

{% step %}

### Télécharger des modèles de tableau de bord (optionnel)

Des modèles de tableaux de bord préconstruits sont disponibles pour vous aider à démarrer rapidement sans créer des visualisations depuis zéro. Ces modèles sont maintenus par [dépôt bi-intergrations](https://github.com/SquareGPS/bi-intergrations) sous le `dossier grafana` Vous pouvez cloner le dépôt pour accéder à des tableaux de bord prêts à l'emploi :

```bash
git clone https://github.com/SquareGPS/bi-intergrations.git
```

Vérifiez le `dossier grafana` dossier pour les fichiers JSON de tableau de bord disponibles.
{% endstep %}
{% endstepper %}

## Connexion à la base de données

La section Connexions dans Grafana est l'endroit où vous gérez toutes les intégrations de sources de données.&#x20;

{% stepper %}
{% step %}

### Accéder à l'onglet Connexions

Ouvrez Grafana et naviguez vers **Connexions** dans la barre latérale gauche. **IoT Query** fonctionne sur PostgreSQL, vous devez donc ajouter une source de données PostgreSQL pour permettre à Grafana d'interroger vos données télématiques.
{% endstep %}

{% step %}

### Ajouter une source de données PostgreSQL

Le plugin de source de données PostgreSQL est préinstallé avec Grafana et fournit un support natif pour la connexion aux bases de données PostgreSQL.

Pour ajouter la source de données :

1. Dans la section Connexions, recherchez **PostgreSQL**
2. Cliquez **Ajouter une nouvelle source de données**
3. La page de configuration PostgreSQL s'ouvrira
   {% endstep %}

{% step %}

### Configurer les paramètres de connexion

Votre **IoT Query** Les détails de connexion contiennent toutes les informations nécessaires pour établir une connexion sécurisée. Ces paramètres sont uniques à votre instance et garantissent que Grafana peut accéder à vos données télématiques.

Localisez vos paramètres de connexion dans votre compte Navixy et dans le **IoT Query** e-mail de bienvenu&#x65;**.**

**Référence des paramètres de connexion**

| Paramètre                 | Champ de configuration | Description                                                                                       |
| ------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------- |
| Hôte                      | `Hôte`                 | Adresse du serveur de base de données fournie dans vos **IoT Query** détails de connexion         |
| Port                      | `Port`                 | Par défaut, 5432 pour PostgreSQL                                                                  |
| Nom de la base de données | `Base de données`      | Le nom de base de données qui vous est attribué                                                   |
| Nom d'utilisateur         | `Utilisateur`          | Votre nom d'utilisateur de base de données (appelé "database user" dans les détails de connexion) |
| Mot de passe              | `Mot de passe`         | Votre mot de passe de base de données sécurisé                                                    |
| Mode SSL                  | `Mode SSL`             | Définir sur `require` pour des connexions sécurisées                                              |
| version de PostgreSQL     | `Version`              | Sélectionnez **9.3** (paramètre recommandé)                                                       |
| {% endstep %}             |                        |                                                                                                   |

{% step %}

### Configurer des paramètres supplémentaires

Au-delà des paramètres de connexion essentiels, Grafana propose des options de configuration supplémentaires. Pour la plupart des utilisateurs, les valeurs par défaut sont appropriées et fonctionneront correctement sans modification. Vous pouvez ajuster ces paramètres ultérieurement en fonction des exigences de sécurité de votre organisation, des contraintes d'infrastructure ou des besoins spécifiques de l'équipement.

Laissez tous les autres champs sur leurs valeurs par défaut pour la configuration initiale. Vous n'avez pas besoin d'activer d'interrupteurs ou de bascules supplémentaires.
{% endstep %}

{% step %}

### Tester la connexion

Tester la connexion avant d'enregistrer garantit que tous les paramètres sont corrects et que Grafana peut communiquer avec succès avec votre **IoT Query** instance.

Pour vérifier et enregistrer :

1. Nommez votre connexion avec un identifiant descriptif (par exemple, "**IoT Query** Production" ou "Fleet Analytics")
2. Cliquez **Enregistrer et tester** pour vérifier votre connexion
3. Un message de succès vert indique que la connexion fonctionne correctement
   {% endstep %}
   {% endstepper %}

## Créer votre première visualisation

Construire votre première visualisation vous aide à comprendre comment Grafana interroge **IoT Query** et affiche les données télématiques. Ce processus implique la création d'un tableau de bord, l'ajout d'un panneau, la configuration d'une requête et la sélection d'un format de visualisation approprié.

{% stepper %}
{% step %}

#### Créer un nouveau tableau de bord

Les tableaux de bord dans Grafana servent de conteneurs pour plusieurs visualisations. Créer un tableau de bord dédié vous aide à organiser les visualisations liées et fournit un emplacement central pour surveiller des aspects spécifiques de vos opérations de flotte.

Pour créer un tableau de bord :

1. Accédez à **Tableaux de bord** dans la barre latérale gauche
2. Cliquez **Créer un tableau de bord**
3. Sélectionnez **Ajouter une visualisation**
4. Choisissez la source de données PostgreSQL que vous venez de configurer
   {% endstep %}

{% step %}

#### Configurer la requête

Grafana propose deux modes de requête : un Builder visuel et un éditeur de code. Pour les **IoT Query** connexions, l'éditeur de code vous donne un contrôle total sur les requêtes SQL et est recommandé pour l'analyse des données télématiques.

Pour écrire votre requête :

1. Dans l'éditeur de requête, passez de **Builder** à **Code** mode
2. Saisissez directement votre requête SQL

Exemple de requête pour la visualisation des données de capteur :

```sql
SELECT 
    device_time AS time,
    value::numeric AS value,
    sensor_name
FROM raw_telematics_data.inputs
WHERE sensor_name = 'temperature'
    AND device_id = 12345
    AND $__timeFilter(device_time)
ORDER BY device_time
```

La requête inclut une composante temporelle (`device_time AS time`) qui est essentielle pour les visualisations en séries temporelles. La `$__timeFilter()` fonction est une macro Grafana qui applique automatiquement la plage temporelle sélectionnée du tableau de bord à votre requête.

Pour plus d'exemples de requêtes, consultez le [SQL Recipe Book](https://www.navixy.com/docs/analytics/example-queries).
{% endstep %}

{% step %}

#### Définir le format de visualisation

Le format de visualisation détermine la façon dont vos données apparaissent sur le tableau de bord. Différents formats conviennent à différents types de données — les séries temporelles conviennent bien aux relevés de capteurs dans le temps, tandis que les tableaux sont meilleurs pour les enregistrements détaillés.

Pour configurer le format :

1. Cliquez **Exécuter la requête** pour vérifier que votre requête renvoie des données
2. Localisez le sélecteur de type de visualisation (généralement en haut à droite du panneau)
3. Changez le format de **Table** à **Séries temporelles** ou votre format préféré
4. Observez l'affichage des données pour vous assurer qu'elles apparaissent correctement

Les visualisations en séries temporelles nécessitent une colonne temporelle et des valeurs numériques pour fonctionner correctement. Votre requête doit renvoyer les données dans le format approprié pour le type de visualisation sélectionné.
{% endstep %}

{% step %}

#### Enregistrer votre visualisation

Enregistrer votre travail préserve la configuration de la visualisation et la rend disponible pour référence future. Des enregistrements réguliers sont importants — Grafana n'enregistre pas automatiquement les modifications, vous pourriez donc perdre votre travail si vous quittez la page sans enregistrer.

Pour enregistrer une visualisation :

1. Cliquez **Enregistrez**&#x20;
2. Fournissez un nom descriptif pour votre tableau de bord
3. Sélectionnez ou créez un dossier pour l'organisation
4. Confirmez l'opération d'enregistrement

Le tableau de bord est désormais disponible dans votre instance Grafana et peut être consulté via le menu Tableaux de bord.
{% endstep %}
{% endstepper %}

### Travailler avec les variables

Les variables sont l'une des fonctionnalités les plus puissantes de Grafana pour créer des tableaux de bord dynamiques et interactifs. Au lieu de coder en dur des valeurs spécifiques comme les noms de capteurs ou les identifiants d'appareils dans vos requêtes, les variables permettent aux utilisateurs de sélectionner différentes valeurs depuis des menus déroulants sans modifier le SQL sous-jacent. Cela rend les tableaux de bord plus flexibles et plus faciles à utiliser.

{% stepper %}
{% step %}

#### Accéder aux paramètres de variables

Les variables sont configurées au niveau du tableau de bord et s'appliquent à toutes les visualisations de ce tableau de bord. Vous devez accéder aux paramètres du tableau de bord pour créer et gérer les variables.

Pour commencer :

1. Ouvrez votre tableau de bord
2. Cliquez sur l'icône **Paramètres** (icône d'engrenage) dans le coin supérieur droit
3. Naviguez vers la **Variables** section dans le panneau de gauche
4. La section sera vide si aucune variable n'a encore été créée
   {% endstep %}

{% step %}

#### Configurer une variable

Chaque variable nécessite un nom, une source de données et une requête qui renvoie les valeurs possibles que les utilisateurs peuvent sélectionner. Les valeurs de la variable sont peuplées dynamiquement en interrogeant votre **IoT Query** instance.

Pour créer une variable :

1. Cliquez **Ajouter une variable**
2. Configurez les paramètres suivants :
   1. **Paramètres généraux :**
      1. **Nom**: `sensor_name` (utilisez un identifiant clair et descriptif sans espaces)
      2. **Étiquette**: Identique au nom pour la cohérence, c'est ce que les utilisateurs voient sur le tableau de bord
      3. **Type**: Sélectionnez **Requête** pour remplir les valeurs depuis la base de données
   2. **Options de requête :**
      1. **Source de données**: Sélectionnez votre **IoT Query** connexion PostgreSQL dans le menu déroulant
      2. **Requête**: Saisissez une requête SQL pour remplir les valeurs de la variable

Exemple de requête pour lister tous les capteurs d'un appareil spécifique :

```sql
SELECT DISTINCT sensor_name
FROM raw_telematics_data.inputs
WHERE device_id = 12345
ORDER BY sensor_name
```

Après avoir saisi la requête, Grafana l'exécute immédiatement et affiche un aperçu des valeurs retournées en bas de la page de configuration. Cela confirme que votre requête fonctionne correctement et montre quelles options seront disponibles dans le menu déroulant.
{% endstep %}

{% step %}

#### Appliquer les variables dans les requêtes

Une fois qu'une variable est créée, vous devez mettre à jour vos requêtes de visualisation pour y faire référence. Les variables utilisent une syntaxe spéciale avec un préfixe dollar, et Grafana substitue automatiquement la valeur sélectionnée lors de l'exécution des requêtes.

Pour utiliser la variable :

1. Ouvrez la visualisation que vous souhaitez rendre dynamique
2. Modifiez la requête
3. Remplacez la valeur codée en dur par la référence à la variable

Exemple de requête mise à jour utilisant la variable :

```sql
SELECT 
    device_time AS time,
    value::numeric AS value,
    sensor_name
FROM raw_telematics_data.inputs
WHERE sensor_name = '$sensor_name'
    AND device_id = 12345
    AND $__timeFilter(device_time)
ORDER BY device_time
```

Remarquez comment `'temperature'` a été remplacé par `'$sensor_name'`. Les guillemets sont importants pour les valeurs de type chaîne en SQL.
{% endstep %}

{% step %}

#### Enregistrer et tester

Tester la variable garantit qu'elle fonctionne correctement et met à jour les visualisations comme prévu. Assurez-vous d'enregistrer votre travail à chaque étape pour éviter de perdre les modifications de configuration.

Pour terminer la configuration :

1. Cliquez **Appliquer** pour enregistrer la configuration de la variable
2. Cliquez **Enregistrer le tableau de bord** pour préserver toutes les modifications
3. Retournez à la vue principale du tableau de bord
4. Localisez le menu déroulant de la variable en haut du tableau de bord
5. Sélectionnez différents noms de capteurs dans le menu déroulant
6. Observez que la visualisation se met à jour automatiquement avec les données du capteur sélectionné

Si la visualisation ne se met pas à jour lorsque vous changez la sélection de la variable, vérifiez que le nom de la variable dans votre requête correspond exactement au nom de variable que vous avez créé (les noms de variables sont sensibles à la casse).
{% endstep %}
{% endstepper %}

### Importer des tableaux de bord préconstruits

Les tableaux de bord préconstruits offrent un moyen rapide de commencer à visualiser vos données sans tout construire depuis zéro. Ces tableaux de bord sont conçus par des utilisateurs expérimentés et incluent des bonnes pratiques pour la visualisation, la mise en page et l'optimisation des requêtes. Cependant, ils nécessitent une configuration pour se connecter à votre **IoT Query** instance.

{% stepper %}
{% step %}

#### Accéder à la fonction d'importation

La fonctionnalité d'importation de Grafana vous permet de charger des configurations de tableaux de bord depuis des fichiers JSON ou directement depuis Grafana.com à l'aide d'ID de tableau de bord.

1. Accédez à **Tableaux de bord**
2. Cliquez **Nouveau** → **Importer**
3. Une fenêtre de téléchargement apparaîtra
   {% endstep %}

{% step %}

#### Importer le tableau de bord

Le processus d'importation accepte des configurations de tableaux de bord dans plusieurs formats, ce qui vous donne de la flexibilité sur la façon de charger des tableaux de bord préconstruits.

Vous pouvez importer des tableaux de bord en utilisant :

* **ID de tableau de bord** depuis Grafana.com
* **Fichier JSON** téléchargé depuis le dépôt bi-intergrations
* **Modèle JSON** collé directement

Si vous utilisez un fichier JSON :

1. Cliquez **Télécharger le fichier JSON**
2. Sélectionnez le fichier du tableau de bord
3. Fournissez un nom et sélectionnez le dossier de destination
4. Cliquez **Importer**

Attendez que le modèle de tableau de bord ait fini de se télécharger. Une fois terminé, le tableau de bord apparaîtra, mais n'affichera pas encore de données car il est toujours connecté à la source de données d'origine utilisée lors de la création du modèle.
{% endstep %}

{% step %}

#### Mettre à jour les connexions de source de données

Ceci est une étape critique. Les tableaux de bord importés sont initialement connectés à des sources de données externes qui n'ont pas accès à vos **IoT Query** données. Vous devez mettre à jour chaque visualisation pour utiliser votre connexion PostgreSQL. **IoT Query** Pour mettre à jour les visualisations :

Ouvrez le tableau de bord importé

1. Modifier
2. Cliquez **sur le premier panneau de visualisation (recherchez l'icône de modification ou le menu à trois points)** Dans l'éditeur de requête, localisez le sélecteur de source de données
3. Changez la source de données de la source d'origine du modèle vers votre
4. connexion PostgreSQL **IoT Query** pour vérifier que la visualisation récupère les données avec succès
5. Cliquez **Exécuter la requête** pour préserver les modifications
6. Cliquez **Enregistrez** Répétez ce processus pour chaque panneau de visualisation du tableau de bord
7. Enregistrez fréquemment votre travail pendant ce processus. Vous pouvez avoir plusieurs visualisations à mettre à jour, et enregistrer après chacune garantit que vous ne perdez pas de progrès.

{% hint style="info" %}
Mettre à jour les variables du tableau de bord
{% endhint %}
{% endstep %}

{% step %}

#### De nombreux tableaux de bord préconstruits utilisent des variables pour le filtrage et l'interactivité. Ces variables sont également connectées à la source de données d'origine et doivent être mises à jour pour interroger votre

Pour mettre à jour les variables : **IoT Query** instance.

Ouvrez

1. Vous verrez une liste de toutes les variables utilisées dans le tableau de bord **Paramètres** → **Variables**
2. sur la première variable
3. Cliquez **sur le premier panneau de visualisation (recherchez l'icône de modification ou le menu à trois points)** Localisez le
4. menu déroulant dans la section Options de requête **Source de données** Changez-le pour votre
5. PostgreSQL **IoT Query** pour vérifier que la visualisation récupère les données avec succès
6. Vérifiez que l'aperçu en bas affiche les valeurs attendues depuis votre base de données
7. Cliquez **Appliquer** pour confirmer les modifications
8. Répétez pour chaque variable de la liste

Après avoir mis à jour toutes les variables, enregistrez à nouveau le tableau de bord. Les variables devraient maintenant se remplir avec des valeurs provenant de votre **IoT Query** instance.
{% endstep %}

{% step %}

#### Vérifier le fonctionnement du tableau de bord

Une fois que vous avez mis à jour toutes les visualisations et variables, vérifiez que tout fonctionne correctement ensemble. Cette vérification finale garantit que le tableau de bord est entièrement fonctionnel et prêt pour une utilisation régulière.

Pour vérifier :

1. Enregistrez le tableau de bord une dernière fois en utilisant **Ctrl+S** ou le **Enregistrez** bouton
2. Actualisez complètement la page du navigateur (ou utilisez **F5**)
3. Vérifiez que toutes les visualisations affichent correctement des données
4. Testez chaque menu déroulant de variable pour vous assurer qu'il se remplit de valeurs
5. Sélectionnez différentes valeurs de variables et confirmez que les visualisations se mettent à jour en conséquence
6. Essayez différentes plages temporelles à l'aide du sélecteur de temps

Si des visualisations restent vides ou affichent des erreurs, revenez en mode édition et vérifiez la source de données et la configuration des requêtes pour ces panneaux spécifiques.
{% endstep %}
{% endstepper %}

## Dépannage

### Problèmes de connexion à la base de données

**Erreur de connexion** : Vérifiez que les identifiants et les paramètres de connexion correspondent exactement à vos **IoT Query** détails. Vérifiez que l'hôte, le port, le nom de la base de données, le nom d'utilisateur et le mot de passe sont corrects.

**Erreur de pare-feu** : Assurez-vous que votre réseau autorise les connexions vers l'hôte et le port spécifiés. Contactez votre administrateur réseau si les tentatives de connexion sont bloquées.

**Erreur SSL/TLS** : Vérifiez que le mode SSL est défini sur `require` et que votre instance Grafana prend en charge les connexions SSL.

### Problèmes de requête et de visualisation

**Visualisation vide** : Tout d'abord, vérifiez que la requête renvoie effectivement des données en consultant l'inspecteur de requêtes (cliquez sur le bouton "Query inspector" dans l'éditeur de panneau). Assurez-vous que la plage temporelle sélectionnée inclut des périodes où des données existent dans votre base. Confirmez que la source de données est correctement sélectionnée et connectée. Vérifiez que les noms de tables et de colonnes dans votre requête correspondent à la structure réelle du schéma.

**Variable ne fonctionnant pas** : Vérifiez que la requête de la variable renvoie des valeurs en consultant l'aperçu sur la page de configuration de la variable. Assurez-vous que la référence à la variable dans votre requête utilise la syntaxe correcte (`$variable_name`) sans fautes de frappe. Vérifiez que la variable est correctement enregistrée et appliquée au tableau de bord. Si le menu déroulant de la variable est vide, examinez la requête SQL de la variable pour détecter des erreurs.

**Performance lente des requêtes** : Envisagez d'ajouter des index de base de données aux colonnes fréquemment interrogées telles que `device_time` et `device_id`. Limitez les plages de données en utilisant des filtres temporels de manière plus restrictive. Optimisez la structure des requêtes en ne sélectionnant que les colonnes nécessaires au lieu d'utiliser `SELECT *`. Reportez-vous au [SQL Recipe Book](https://www.navixy.com/docs/analytics/example-queries) pour des exemples d'optimisation des performances et des schémas de requêtes éprouvés.

**Incompatibilité de format** : Assurez-vous que votre requête renvoie les données dans le format attendu par votre type de visualisation. Les panneaux de séries temporelles exigent une colonne aliasée en tant que `time` et des colonnes de valeurs numériques. Les panneaux de tableau acceptent n'importe quelle structure de colonnes. Les panneaux graphiques ont besoin de données temporelles et numériques. Consultez la documentation Grafana pour les exigences spécifiques de chaque type de visualisation.

### Problèmes d'importation

**Données manquantes après importation** : Vérifiez que les connexions de sources de données sont mises à jour pour tous les panneaux et variables. Ne sautez aucun panneau lors du processus de mise à jour. Vérifiez que les noms de schéma (`raw_business_data` ou `raw_telematics_data`) spécifiés dans les requêtes sont corrects pour votre **IoT Query** instance. Assurez-vous que les noms de tables et de colonnes correspondent à la structure réelle de votre base.

**Le tableau de bord affiche des erreurs** : Ouvrez l'éditeur de requête de chaque panneau et cliquez sur "Query inspector" pour voir les messages d'erreur détaillés. Examinez attentivement les messages d'erreur — ils indiquent souvent des problèmes spécifiques comme des colonnes manquantes, des types de données incorrects ou des erreurs de syntaxe. Assurez-vous que les noms de champs dans les requêtes correspondent exactement à votre **IoT Query** schéma (les noms de champs sont sensibles à la casse). Vérifiez que les types de données renvoyés par les requêtes sont compatibles avec le type de visualisation.

**Les variables ne se remplissent pas** : Vérifiez que vous avez mis à jour la source de données pour chaque variable, pas seulement pour les panneaux de visualisation. Vérifiez que les requêtes des variables sont syntaxiquement correctes et renvoient des données lorsqu'elles sont exécutées directement. Assurez-vous que le type de variable est défini sur "Query" plutôt que sur "Custom" ou d'autres types.

## Étapes suivantes

Après avoir connecté avec succès Grafana à votre **IoT Query** instance :

* Explorer les schémas de données disponibles en consultant la section [Aperçu du schéma](https://www.navixy.com/docs/analytics/fr/iot-query/schema-overview) pour comprendre la structure des données, les relations entre les tables et les champs disponibles.
* Commencez par des requêtes simples centrées sur des entités métier spécifiques avant de construire des tableaux de bord complexes, cela vous aide à apprendre la structure des données et à éviter les problèmes de performance.
* Consultez le [SQL Recipe Book](https://www.navixy.com/docs/analytics/fr/example-queries) pour des schémas de requêtes éprouvés et des techniques d'optimisation, et des exemples de scénarios courants d'analytique télématique
* Expérimentez avec différents types de visualisation (séries temporelles, tableaux, jauges, panneaux stat) pour trouver la meilleure représentation pour vos données et cas d'utilisation spécifiques
* Envisagez de créer plusieurs tableaux de bord à des fins différentes : surveillance en temps réel, analyse historique, synthèses exécutives et rapports opérationnels.

### Assistance

Pour des questions techniques ou une assistance concernant les connexions **IoT Query** , contactez le support à <support@navixy.com>.
