

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connectez-vous aux sources de données de l'entreprise
<a name="AMG-data-sources-enterprise"></a>

Les sources de données suivantes sont prises en charge dans les espaces de travail qui ont été mis à niveau vers les plug-ins Amazon Managed Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).

Les plugins d'entreprise sont régulièrement mis à jour. Cela inclut à la fois des mises à jour des plugins existants et parfois de nouvelles sources de données. La documentation suivante peut ne pas inclure toutes les sources de données disponibles. *Pour obtenir la liste des plug-ins d'entreprise actuellement pris en charge par les plug-ins Amazon Managed Grafana Enterprise, consultez la section Plug-ins Grafana [Enterprise dans la documentation de Grafana](https://grafana.com/docs/plugins/).*

Pour les espaces de travail compatibles avec la version 9 et les versions ultérieures, les sources de données d'entreprise ne sont plus installées par défaut. Vous devez installer le plug-in de source de données approprié. Vous pouvez installer des plug-ins pour toutes les sources de données d'entreprise, y compris celles qui ne sont pas répertoriées ici. Vous pouvez également choisir de mettre à jour la version d'un plugin que vous avez déjà installé. Pour plus d'informations sur la gestion des plug-ins, consultez[Étendez votre espace de travail avec des plugins](grafana-plugins.md).

**Topics**
+ [AppDynamics](appdynamics-AMG-datasource.md)
+ [Databricks](AMG-databricks-datasource.md)
+ [Datadog](AMG-datadog-datasource-plugin.md)
+ [Dynatrace](dynatrace-AMG-datasource.md)
+ [GitLab](gitlab-AMG-datasource.md)
+ [Honeycomb](honeycomb-AMG-datasource.md)
+ [Jira](jira-AMG-datasource.md)
+ [MongoDB](AMG-mongodb-datasource.md)
+ [New Relic](new-relic-data-source.md)
+ [Oracle Database](oracle-datasource-AMG.md)
+ [Salesforce](salesforce-AMG-datasource.md)
+ [SAP HANA](saphana-AMG-datasource.md)
+ [ServiceNow](grafana-enterprise-servicenow-datasource.md)
+ [Snowflake](snowflake-datasource-for-AMG.md)
+ [Splunk](splunk-datasource.md)
+ [Surveillance de l'infrastructure Splunk](AMG-datasource-splunkinfra.md)
+ [Front d'onde](wavefront-datasource-for-AMG.md)

# Se connecter à une source AppDynamics de données
<a name="appdynamics-AMG-datasource"></a>

 La source de AppDynamics données d'Amazon Managed Grafana vous permet d'interroger des métriques à l' AppDynamics aide de son API Metrics et de les visualiser dans les tableaux de bord Grafana. 

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Remarque sur la configuration de la source de données
<a name="note-on-the-datasource-config"></a>

 Utilisez l'accès au serveur (proxy) (pour éviter que CORS et les utilisateurs ne recherchent votre mot de passe) et l'authentification de base. N'oubliez pas que le nom d'utilisateur doit être « user @account » (c'est-à-dire your.name @customer1 ou my\$1user @saas\$1account\$1name).

 Configurez le mot de passe en suivant les étapes suivantes : 

1.  Accédez à [https://accounts.appdynamics.com/subscriptions](https://accounts.appdynamics.com/subscriptions) 

1.  Choisissez le lien dans la colonne **Nom** de la ligne correspondant à votre abonnement. 

1.  Accédez aux **détails de la licence** en choisissant l'onglet en haut de la page. 

1.  Le champ Clé d'accès comporte un bouton **Afficher**. Cliquez sur le bouton **Afficher** pour afficher la clé d'accès. 

1.  Copiez la clé d'accès dans le champ Mot de passe de la page Détails d'authentification de base sur la page de configuration de Grafana. 

 Configurez un utilisateur et un rôle pour Amazon Managed Grafana en suivant les étapes ci-dessous. 

1.  Dans AppDynamics, accédez à Paramètres, Administration. 

1.  Sélectionnez l'onglet **Rôles**, puis cliquez sur le bouton « \$1 » pour créer un nouveau rôle ; par exemple, `grafana_readonly.` 

1.  Dans l'onglet **Compte** de la section Créer un rôle, ajoutez l'autorisation`View Business Flow`.

1.  Dans l'onglet **Applications**, cochez la case **Afficher** pour autoriser Grafana à consulter les données des applications. 

1.  Dans l'onglet **Bases de données**, cochez la case **Afficher** pour permettre à Grafana de visualiser les données de la base de données. 

1.  Dans l'onglet **Analytics**, cochez la case **Peut afficher les données de toutes les applications** pour permettre à Grafana de consulter les données d'analyse des applications. 

1.  Dans l'onglet **Utilisateurs** de la page Administration, créez un nouvel utilisateur, par exemple`grafana`. Attribuez au nouvel utilisateur (ou à un groupe auquel appartient l'utilisateur) le rôle que vous venez de créer ; par exemple,`grafana_readonly`.

## Création de modèles
<a name="appdynamics-templating"></a>

 Les requêtes modèles prises en charge pour le moment sont les suivantes : 

1.  `Applications`(Toutes les applications) 

1.  `AppName.BusinessTransactions`(Tout BTs pour le nom de l'application) 

1.  `AppName.Tiers`(Tous les niveaux pour le nom de l'application) 

1.  `AppName.Nodes`(Tous les nœuds pour le nom de l'application) 

1.  `AppName.TierName.BusinessTransactions`(Tout cela BTs pour un niveau spécifique) 

1.  `AppName.TierName.Nodes`(Tous les nœuds pour un niveau spécifique) 

1.  `AppName.Path.<Any Metric Path>`(N'importe quel chemin métrique peut être spécifié) 

## Clés de légende
<a name="legend-keys"></a>

 La clé de légende par défaut peut être assez longue, mais cette mise en forme peut être personnalisée. 

 La clé de légende peut être préfixée par le nom de l'application en choisissant l'`App on legend`option. Par exemple : `MyApp - Overall Application Performance|Average Response Time (ms)`. 

 Si la requête concerne un panneau Singlestat ou un autre panneau dans lequel vous ne pouvez pas voir la clé de légende, choisissez l'option Afficher les métadonnées pour voir quelle est la clé de légende (également appelée alias) de la requête. 

 La liste déroulante Légende comporte trois options : `Full Path` `Segments` et`Custom`. 

### Option de légende : chemin complet
<a name="legend-option---full-path"></a>

 La clé de légende est le chemin métrique complet ; par exemple,`Overall Application Performance|Average Response Time (ms)`. 

### Option de légende — segments
<a name="legend-option---segments"></a>

 Le nom de la métrique est composé de segments. Vous pouvez choisir les segments à afficher. 

 Par exemple, avec un nom de métrique : 

 `Errors|mywebsite|Error|Errors per Minute` 

 la saisie des informations suivantes `2,4` dans le champ Segments renvoie`mywebsite|Errors per minute`. 

 L'indexation commence par 1 et `1` revient `Errors` donc. 

### Option de légende — personnalisée
<a name="legend-option---custom"></a>

 Créez une légende personnalisée en combinant du texte avec les modèles d'alias suivants pour pouvoir intégrer les métadonnées métriques. 
+  `{{app}}`renvoie le nom de l'application 
+  `{{1}}`renvoie un segment du chemin métrique. 

   Par exemple, la métrique : `Overall Application Performance|Average Response Time (ms)` comporte deux segments. `{{1}}`renvoie le premier segment, `{{2}}` renvoie le deuxième segment. 

 Exemples de modèles de clés de légende et de clés de légende générées : 
+  `custom legend key` => `custom legend key` 
+  `App: {{app}} MetricPart2: {{2}}` => `App: myApp MetricPart2: Average Response Time (ms)` 

# Se connecter à une source de données Databricks
<a name="AMG-databricks-datasource"></a>

La source de données Databricks vous permet d'interroger et de visualiser les données Databricks dans Amazon Managed Grafana. Il inclut un éditeur SQL pour formater et coder en couleur vos requêtes.

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Ajouter une source de données Databricks
<a name="AMG-databricks-add-datasource"></a>

Suivez ces étapes pour ajouter une source de données Databricks dans la console Grafana.

**Pour ajouter une source de données Databricks**

1. Ouvrez le menu latéral en choisissant l'icône Grafana dans l'en-tête supérieur.

1. Dans le menu latéral, sous le lien **Tableaux** de bord, sélectionnez **Sources de données**.
**Note**  
Si le lien **Sources de données** ne s'affiche pas, vous n'avez pas le `Admin` rôle de Grafana.

1. Cliquez sur le bouton **\$1 Ajouter une source de données** dans l'en-tête supérieur. 

1. Sélectionnez **Databricks dans** la liste déroulante **Type**.
**Note**  
Si vous ne voyez pas l'option Databricks et que vous en avez besoin, vous devez passer à Grafana Enterprise.

1. Choisissez les options pour vous connecter à vos données et les modifier.

## Remarques relatives à l'utilisation de la source de données Databricks
<a name="AMG-databricks-notes"></a>

**Séries chronologiques**

Les visualisations de séries chronologiques sont sélectionnables lorsque vous ajoutez un `datetime` champ à votre requête. Ce champ sera utilisé comme horodatage de la série. Si le champ n'inclut pas de fuseau horaire spécifique, Grafana supposera que l'heure est UTC.

**Séries chronologiques multilignes**

Pour créer une visualisation de séries chronologiques multilignes, la requête doit inclure au moins trois champs dans l'ordre suivant.

1. Un `datetime` champ avec un alias de`time`.

1. Une valeur de`GROUP BY`.

1. Une ou plusieurs valeurs métriques à visualiser.

Voici un exemple de requête qui renverra des options de séries chronologiques multilignes.

```
SELECT log_time AS time, machine_group, avg(disk_free) AS avg_disk_free
FROM mgbench.logs1
GROUP BY machine_group, log_time
ORDER BY log_time
```

# Connect à une source de données Datadog
<a name="AMG-datadog-datasource-plugin"></a>

 La source de données Datadog vous permet de visualiser les métriques issues du service de surveillance Datadog dans Amazon Managed Grafana. 

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Usage
<a name="datadog-usage"></a>

### Mise en cache
<a name="datadog-caching"></a>

 Pour les grands tableaux de bord qui génèrent de nombreuses requêtes, il est possible que le débit soit limité par l'API Datadog (atteignez le nombre maximum d'appels d'API par heure autorisé par l'API Datadog). La fonctionnalité de mise en cache met en cache les requêtes uniques pendant 60 secondes. Cet intervalle peut être modifié pour être plus ou moins long sur la page de configuration. 

### Éditeur de requêtes
<a name="datadog-query-editor"></a>

 C'est simple : sélectionnez l'agrégation et la métrique. Si vous souhaitez filtrer les résultats, sélectionnez une ou plusieurs balises. 

 La source de données Datadog prend en charge toutes les fonctions avancées prises en charge par l'éditeur de requêtes Datadog. Sélectionnez-la dans la liste déroulante et organisez-la en choisissant un nom de fonction.

 **Possibilités d'utilisation d'alias par champ** : 
+  Entrez l'alias dans le champ « Alias par ». 
+  Utilisez des variables délimitées : 
  +  `$__metric`= remplacé par le nom de la métrique 
  +  `$__display_name`= remplacé par le nom de la métrique 
  +  `$__expression`= remplacé par une expression métrique complète 
  +  `$__aggr`= remplacé par une fonction d'agrégation métrique (par exemple, avg, max, min, sum) 
  +  `$__scope`= remplacé par une portée métrique (par exemple, région, site, environnement, hôte) 
+  Utilisez des expressions régulières : 
  +  Entrez votre expression régulière dans le champ RegExp « Alias » au `/you regexp here/flags` format. 
  +  Si le champ « Alias par » est vide, RegExp les résultats seront joints en utilisant. Exemple avec expression métrique = `avg:system.load.5{*}` : Entrée de champ « Alias par » : entrée de champ «" "Alias RegExp » : `avg:(.+)\.(\d)` Résultat : `system.load, 5` 
  +  Utilisez `$<group_number>` des variables dans le champ « Alias par ». Exemple avec expression métrique = `avg:system.load.5{*}` : Entrée de champ « Alias par » : entrée de champ `$1: $2 seconds` RegExp « Alias » : `avg:(.+)\.(\d)` Résultat : `system.load: 5 seconds` 
  +  `$0`À utiliser pour obtenir l'expression complète. Exemple avec expression métrique = `datadog.dogstatsd.packet.count{*}` : Entrée de champ « Alias par » : entrée de champ `Expression: $0` RegExp « Alias » : `DOGstatsd\.(.*)\.(.*){\*}/i` Résultat : `Expression: datadog.dogstatsd.packet.count{*}` 

   Remarque : vous obtiendrez un message d'erreur en utilisant un numéro de groupe inexistant. 

#### Arithmétique métrique
<a name="datadog-metric-arithmetic"></a>

 Pour utiliser l'arithmétique métrique, définissez le *type de requête* sur *Arithmétique*. Créez un lien vers la métrique de votre choix en utilisant le `#` signe. Par exemple, `#A * 2` doublera le résultat de la requête`A`. L'arithmétique entre deux mesures fonctionne de la même manière : ajoutez des requêtes contenant les résultats que vous souhaitez utiliser pour le calcul, puis créez un lien vers ces métriques dans la troisième requête, par exemple`#A / #B`. 

### Annotations
<a name="datadog-annotations"></a>

 Une annotation est un événement superposé au-dessus des graphiques. Un déploiement ou une panne en sont un exemple. Cette source de données vous permet de récupérer des événements depuis Datadog et de les superposer à des graphiques dans Amazon Managed Grafana. Les événements d'annotations peuvent être filtrés par source, balise ou priorité. 

### Création de modèles
<a name="datadog-templating"></a>

 Il existe quelques options pour obtenir les valeurs d'une variable de modèle : métriques et tags. Pour récupérer la liste des métriques disponibles, spécifiez `*` dans le champ *Requête*. 

 Pour renvoyer toutes les balises, utilisez la valeur : `tag` ou`scope`. 

 Pour renvoyer des balises pour un groupe de balises spécifié, utilisez l'une des valeurs de catégorie par défaut suivantes : 
+  `host` 
+  `device` 
+  `env` 
+  `region` 
+  `site` 
+  `status` 
+  `version` 

 Pour les groupes de balises personnalisés, entrez simplement le nom du groupe de balises. Par exemple, si le nom de votre groupe de balises personnalisé est`subscription_name`, saisissez-le dans le champ *Requête*. 

 Filtrez les résultats à l'aide du champ *Regex*. Les variables à valeurs multiples sont prises en charge lors de l'utilisation de balises : plusieurs valeurs de balises sélectionnées seront converties en une liste de balises séparées par des virgules. 

#### Filtres ad hoc
<a name="datadog-ad-hoc-filters"></a>

 Il existe un nouveau type spécial de variable de modèle dans Grafana appelé filtres *ad hoc*. Cette variable s'appliquera à *toutes les* requêtes Datadog d'un tableau de bord. Cela permet de l'utiliser comme un filtre rapide. Une variable ad hoc pour Datadog récupère toutes les paires clé-valeur des balises, par exemple`region:east, region:west`, et les utilise comme balises de requête. Pour créer cette variable, sélectionnez le type de *filtre ad hoc* et choisissez votre source de données Datadog. Vous pouvez définir n'importe quel nom pour cette variable. 

# Connectez-vous à une source de données Dynatrace
<a name="dynatrace-AMG-datasource"></a>

Source de données pour [https://www.dynatrace.com/](https://www.dynatrace.com). Pour utiliser cette source de données, vous devez disposer d'un compte Dynatrace.

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

**Limitations connues**

Les variables de modèle ne peuvent pas être sélectionnées à plusieurs reprises. Seule la sélection unique est prise en charge.

Seule la métrique v2 APIs est prise en charge.

## Caractéristiques
<a name="features"></a>

### Fonctions de base
<a name="core-features"></a>
+  Variables du modèle 
  +  Noms des métriques 
  +  Sélection unique uniquement (**pas de sélection multiple**) 
  +  Filtres ad hoc 
+  Annotations 
  +  Non pris en charge actuellement 
+  Aliasing 
  +  Noms des métriques 
  +  Agrégation 
  +  Nom d’affichage 
  +  Host (Hôte) 
  +  Description 
+  Alerte 
  +  Support complet en matière d'alertes 

### Caractéristiques spécifiques de Dynatrace
<a name="dynatrace-specific-features"></a>

 Supporte les métriques intégrées et personnalisées à l'aide de l'API Dynatrace metrics v2. [Pour plus d'informations, consultez la documentation de Dynatrace : [Metrics API v2](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/metric-v2/) et Metric ingestion.](https://www.dynatrace.com/support/help/how-to-use-dynatrace/metrics/metric-ingestion/) 

En fonction de la métrique, l'API peut prendre en charge des options de transformation supplémentaires.

## Autorisations Dynatrace
<a name="dynatrace-permissions"></a>

 Vous aurez besoin des autorisations suivantes dans Dynatrace : autorisation de lecture des métriques à l'aide de l'API V2 (metrics.read) - Permission de lecture des entités à l'aide de l'autorisation API V2 (entities.read) 

## Obtenez une clé d'API auprès de Dynatrace
<a name="dynatrace-apikey"></a>

Pour configurer un jeton d'API, voir API [Dynatrace - Jetons](https://www.dynatrace.com/support/help/dynatrace-api/basics/dynatrace-api-authentication/?api-token%3C-%3Epersonal-access-token=api-token) et authentification 

Définissez les `entities.read` autorisations `metrics.read` et pour votre jeton d'API.

### Configuration
<a name="configuration"></a>

1.  **Choisissez **Paramètres/Sources de données** dans l'interface utilisateur logique du serveur Grafana, puis choisissez Ajouter une source de données.** 

1.  Sur la page **Ajouter une source de données**, filtrez **Dynatrace** et sélectionnez le plugin Dynatrace. 

1. La configuration d'une source de données Dynatrace nécessite les paramètres suivants : 
   +  `Name`- Le nom que vous souhaitez appliquer à la source de données Dynatrace (par défaut : Dynatrace). 
   +  `Dynatrace API Type`- Le type d'instance Dynatrace à laquelle vous vous connectez. C'est soit, `SaaS` soit`Managed Cluster`. 
   +  `Dynatrace API Token`- Il s'agit du jeton d'API que vous avez généré à l'étape précédente. 

   Les deux paramètres suivants varient selon que vous êtes un Dynatrace (SaaS) ou géré.
   + Dans un exemple de SaaS`yfc55578.live.dynatrace.com`, votre **ID d'environnement** serait`yfc55578`.
   + Dans l'exemple géré de`yd8888.managed-sprint.dynalabs.io/e/abc99984-3af2-55tt-72kl-0672983gc45`, votre **ID d'environnement** serait `abc99984-3af2-55tt-72kl-0672983gc45` et votre **domaine** serait `yd8888.managed-sprint.dynalabs.io`

1.  Une fois que toutes les valeurs de configuration ont été définies, choisissez **Enregistrer et tester** pour valider la configuration et enregistrer vos modifications. 

### Interrogez la source de données
<a name="dynatrace-usage"></a>

Utilisez l'éditeur de requêtes pour interroger les métriques et les problèmes de Dynatrace. Le type de requête peut être `metric` ou`problem`.

**Type de requête métrique**
+ `Metric`— Sélectionnez la métrique que vous souhaitez consulter. **Pour obtenir à nouveau la liste des métriques auprès de Dynatrace, cliquez sur le bouton Actualiser.**
+ `Aggregations`— Sélectionnez l'agrégation que vous souhaitez utiliser pour une métrique spécifique. Choisissez la valeur des agrégations pour modifier le type d'agrégation ou choisissez **\$1** pour ajouter une autre agrégation.
+ `Transformations`— Vous pouvez sélectionner des transformations dans l'éditeur de requêtes. Entrez ensuite un certain nombre de paramètres dans la transformation sélectionnée. Actuellement, seule la transformation par fusion est prise en charge. Pour plus d'informations sur les transformations de fusion, consultez la section [Transformation de fusion](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/metric-v2/metric-selector/#merge-transformation).
+ `Filters`— La source de données Dynatrace interroge dynamiquement les filtres appropriés pour chaque métrique. Pour ajouter un filtre, cliquez sur le symbole **\$1** à côté de l'étiquette **Filtres** dans l'éditeur de requêtes Dynatrace, sélectionnez le champ à filtrer, sélectionnez l'opérateur à utiliser, puis sélectionnez une valeur à filtrer. La source de données Dynatrace vous permet de créer des groupes de filtres que vous pouvez associer pour créer des comparaisons logiques complexes. Dans la plupart des cas d'utilisation, les groupes de filtres ne sont pas obligatoires. Lors de la création de filtres avec des tags, quelle que soit la conjonction sélectionnée, Dynatrace utilisera toujours AND. Dynatrace ne prend pas en charge les filtres OR dotés de balises.
+ `Alias`— Il existe deux types d'alias différents que vous rencontrerez lors de l'utilisation de la source de données Dynatrace. Le premier est un alias statique. Un alias de ce type est disponible pour chaque requête que vous créez, et le nom de l'alias commence par une lettre minuscule. Le second est un alias dynamique, qui change en fonction de la métrique que vous utilisez dans votre requête, et le nom de l'alias commence par une lettre majuscule. Le plugin Dynatrace prend en charge plusieurs alias différents :`Metric Names`,,`Aggregation`, `Display Name` et. `Host` `Description`


|  Nom  |  Value  | 
| --- | --- | 
|  \$1name  |  intégré : apps.other. keyUserActions. reportedErrorCount.os  | 
|  \$1aggregation  |  auto, valeur  | 
|  \$1displayName  | Nombre d'erreurs signalées (par action clé de l'utilisateur, système d'exploitation) [mobile, personnalisé] | 

**Type de requête de problèmes**
+ `Problem Query Type`— Sélectionnez un type de requête posant problème. Actuellement, seul le type de requête présentant un problème d'alimentation est pris en charge. Pour plus d'informations sur le type de requête présentant un problème de flux, voir [Fusion et transformation](https://www.dynatrace.com/support/help/dynatrace-api/environment-api/metric-v2/metric-selector/#merge-transformation)
+ `Status Filter`— Filtrez les problèmes liés aux résultats en fonction de leur statut.
+ `Impact Filter`— Filtrez les problèmes de résultat en fonction du niveau d'impact.
+ `Severity Filter`— Filtrez les problèmes qui en résultent en fonction du niveau de gravité.
+ `Expand Details`— Inclut les événements associés à la réponse, si elle est définie.

#### Utilisation de variables de modèle
<a name="using-template-variables"></a>

 Pour ajouter une nouvelle variable de requête Dynatrace, voir [Ajouter une nouvelle](variables-types.md#add-a-query-variable) variable de modèle. Utilisez votre source de données Dynatrace comme source de données pour les requêtes disponibles suivantes : 
+ `Query type`— Sélectionnez un type de requête. Le type de requête associe certaines données à une clé ou à un descripteur.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/grafana/latest/userguide/dynatrace-AMG-datasource.html)
+ `Regex`— (Facultatif) Filtrez toutes les valeurs renvoyées par votre requête à l'aide d'une expression régulière.

**Note**  
`Multi-value`et ne `Include All option` sont actuellement pas pris en charge par la source de données Dynatrace.

Après avoir créé une variable, vous pouvez la trouver dans le menu déroulant **Métrique**. 

##### Importer un tableau de bord pour Dynatrace
<a name="dynatrace-import"></a>

Pour importer un tableau de bord, consultez[Importation d'un tableau de bord](dashboard-export-and-import.md#importing-a-dashboard). Les tableaux de bord importés se trouvent dans **Configuration** > **Sources de données** > sélectionnez votre source de données Dynatrace > sélectionnez l'onglet Tableaux de bord pour voir les **tableaux** de bord prédéfinis disponibles.

# Se connecter à une source GitLab de données
<a name="gitlab-AMG-datasource"></a>

La source de GitLab données vous permet de suivre des GitLab statistiques détaillées, telles que les principaux contributeurs, les validations par jour ou les déploiements par jour. Vous pouvez également utiliser des variables de modèle, telles que des projets, pour configurer des filtres pour vos tableaux de bord. Vous pouvez combiner les données de l' GitLab API avec des données provenant d'autres sources.

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Limitations connues
<a name="gitlab-known-limitations"></a>

Les alertes ne sont pas encore prises en charge sur ce plugin car les transformations ne sont pas prises en charge dans les requêtes d'alerte et les transformations sont le seul moyen d'obtenir des métriques agrégées significatives à partir des données brutes de GitLab l'API.

## Ajouter la source de données
<a name="gitlab-adding-the-data-source"></a>

1.  Ouvrez la console Grafana dans l'espace de travail Amazon Managed Grafana et assurez-vous que vous êtes connecté. 

1.  Dans le menu latéral, sous **Configuration** (icône en forme de roue dentée), choisissez **Sources de données**. 

1.  Choisissez **Add data source**. 
**Note**  
 Si le lien **Sources de données** n'apparaît pas dans le menu latéral, cela signifie que votre utilisateur actuel n'a pas le `Admin` rôle. 

1.  Sélectionnez dans **GitLab**la liste des sources de données. 

1. Entrez les informations suivantes :
   + Dans **Nom**, entrez le nom de cette source GitLab de données.
   + Pour **URL**, entrez l'URL racine de votre GitLab instance, par exemple**https://gitlab.com/api/v4**.
   + Pour le **jeton d'accès**, entrez votre jeton d'accès GitLab personnel.

## Interrogez la source GitLab de données
<a name="gitlab-query"></a>

Dans l'éditeur de GitLab requêtes, vous pouvez sélectionner différents types de ressources, tels que des validations, des problèmes ou des versions.

**Filtrer et afficher les projets**

1.  Dans le menu déroulant, sélectionnez **Projets**. 

1.  (Facultatif) Filtrez selon les projets que vous possédez. 

1.  Utilisez le menu déroulant et sélectionnez **Oui** ou **Non** pour filtrer les résultats. 
**Note**  
 L'extraction de tous les projets **Owned = No** peut prendre beaucoup de temps. 

**Filtrer et afficher les validations**

1.  Dans le menu déroulant, choisissez **Commits**. 

1.  Utilisez le champ de saisie pour ajouter l'ID du projet. 

1.  (Facultatif) Pour filtrer par, branch/tag utilisez le champ de saisie pour ajouter une branch/tag référence. 

**Filtrer et afficher les problèmes**

1.  Dans le menu déroulant, sélectionnez **Problèmes**. 

1.  Utilisez le champ de saisie pour ajouter l'ID du projet. 

1.  **(Facultatif) Pour filtrer par titre/description, utilisez le champ de saisie pour rechercher les numéros en fonction de leur **titre** et de leur description.** 

**Afficher les communiqués**

1.  Dans le menu déroulant, sélectionnez **Déploiements**. 

1.  Utilisez le champ de saisie pour ajouter l'ID du projet. 

1.  (Facultatif) Pour filtrer par environnement/statut, utilisez les champs de saisie. L'attribut **status** peut prendre l'une des valeurs suivantes : `created``running`,`success`,`failed`, ou`canceled`. 

**Afficher les étiquettes**

1.  Dans le menu déroulant, choisissez **Libellés**. 

1.  Utilisez le champ de saisie pour ajouter l'ID du projet. 

## Modèles et variables
<a name="gitlab-templates"></a>

Pour ajouter une nouvelle variable de GitLab requête, consultez[Ajouter une variable de requête](variables-types.md#add-a-query-variable). Utilisez votre source de GitLab données comme source de données. Choisissez un type de ressource : **versions**, **projets** ou **étiquettes**.

Pour obtenir une liste dynamique de projets, d'étiquettes, etc. parmi lesquels choisir, créez une variable de type Requête. Les variables de type GitLab requête utilisent l'éditeur de requêtes pour interroger et renvoyer des projets, des étiquettes, etc. L'exemple suivant crée une variable de projet pour paramétrer vos requêtes.

**Créez une variable de projet pour paramétrer vos requêtes**

1.  Ajoutez une variable de type **Query** named**project**. 

1.  Sélectionnez votre source GitLab de données et actualisez On **Dashboard Load**. 

1.  Sélectionnez le type de ressource **Projets**, **Oui** pour **Owned**, **nom** pour **le champ d'affichage** et **ID** pour **le champ de valeur**. 

1. Choisissez **Mettre à jour** pour ajouter la variable au tableau de bord.

1. Ajoutez un nouveau panneau au tableau de bord et **\$1project** utilisez-le comme identifiant de projet.

   Maintenant, lorsque vous choisissez dans la liste déroulante, vous obtenez les résultats qui appartiennent à ce projet.

## Utiliser les transformations de Grafana pour répondre aux questions courantes
<a name="gitlab-transformations"></a>

Maintenant que vous pouvez effectuer des GitLab requêtes de base pour trouver des validations, des problèmes, etc., vous pouvez utiliser Transformations pour visualiser, agréger, regrouper et joindre des ensembles de données, ainsi que de nombreux autres types de transformations pour transformer des résultats simples en réponses à des questions complexes. Vous trouverez ci-dessous quelques questions courantes et la manière d'utiliser les transformations pour y répondre.

**Combien commits/issues/deployments par jour dans le cadre de mon projet ?**

1.  Ajoutez une requête. Sélectionnez **Commits** pour le type de ressource et ajoutez l'ID du projet. 

1.  **Ajouter un nouveau **groupe par** transformation : pour Grouper **par**, sélectionnez **created\$1at\$1date** puis calculate (Count) =id** 

1. Choisissez la visualisation **graphique**.

**Quel est le délai moyen pour résoudre les problèmes de mon projet ?**

1.  Ajoutez une requête. Sélectionnez **Problèmes** pour le type de ressource et ajoutez l'ID du projet. 

1.  ****Ajoutez un nouveau **champ d'ajout à partir de la transformation du calcul** : pour **Mode**, sélectionnez **Binary Operation, pour **Operation****, sélectionnez **closed\$1at = created\$1at et pour Alias, sélectionnez resolution\$1time**.**** 

1.  ****Ajoutez un nouveau **champ d'ajout à partir de la transformation du calcul** : pour **Mode**, sélectionnez **Binary Operation, pour **Operation****, sélectionnez **resolution\$1time/86400000** et pour Alias, sélectionnez resolution\$1time.**** 

   Pour **Remplacer tous les champs**, choisissez **Vrai**.

1. Choisissez la visualisation des **statistiques**.
   + Afficher = Calculer
   + Calcul = moyenne
   + Champs = **resolution\$1time**

# Connectez-vous à une source de données Honeycomb
<a name="honeycomb-AMG-datasource"></a>

La source de données Honeycomb vous permet d'interroger et de visualiser les métriques Honeycomb et de créer des liens vers les traces Honeycomb depuis Amazon Managed Grafana.

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Limitations connues
<a name="honeycomb-known-limitations"></a>
+  Cette source de données ne prend pas en charge les requêtes ad hoc. 
+  En raison des limites de l'API, l'éditeur de variables ne peut renvoyer que les 1 000 premières valeurs uniques pour une colonne sélectionnée. 
+  En raison des limites de l'API, la source de données ne peut interroger que les données des 7 derniers jours. 

## Ajouter la source de données
<a name="honeycomb-adding-the-data-source"></a>

1.  Ouvrez la console Grafana dans l'espace de travail Amazon Managed Grafana et assurez-vous que vous êtes connecté. 

1.  Dans le menu latéral, sous **Configuration** (icône en forme de roue dentée), choisissez **Sources de données**. 

1.  Choisissez **Add data source**. 

1.  Sélectionnez **Honeycomb** dans la liste des sources de données. 

**Note**  
 Si le lien **Sources de données** n'apparaît pas dans le menu latéral, cela signifie que votre utilisateur actuel n'a pas le `Admin` rôle. 

**Réglages en nid d'abeille**


|  Nom  |  Description  | 
| --- | --- | 
|  Name  |  Le nom de la source de données. C'est ainsi que vous voyez la source de données dans les panneaux, les requêtes et Explore.  | 
|  Honeycomb API key  |  La clé d'API que vous avez obtenue auprès de Honeycomb.  | 
|  URL  |  URL de l'API Honeycomb. Par exemple, https://api.honeycomb.io.  | 
|  Team  |  L'équipe Honeycomb associée à la clé d'API.  | 

## Interrogez la source de données Honeycomb
<a name="honeycomb-query"></a>

Pour interroger les métriques, entrez des valeurs dans les champs de l'éditeur :
+  Sélectionnez un jeu de données. 
+  La requête par défaut porte `COUNT` sur le jeu de données sélectionné. 
+  Pour affiner la requête, sélectionnez des valeurs pour l'un des champs restants, tels que **Visualisation, **Visualisation****, **Où**, **Contrainte**, **Grouper par**, **Trier par** ou **Limite**. 

## Modèles et variables
<a name="honeycomb-templates"></a>

Pour ajouter une nouvelle variable de requête Honeycomb, consultez[Ajouter une variable de requête](variables-types.md#add-a-query-variable).

YOu peut créer des variables contenant des ensembles de données, des colonnes ou des valeurs de colonnes.
+  Si aucun jeu de données n'est sélectionné, la variable contiendra des ensembles de données. 
+  Si seul un ensemble de données est sélectionné, la variable contiendra les noms de colonnes. 
+  Si un ensemble de données et une colonne sont sélectionnés, la variable contiendra les valeurs des colonnes. Les valeurs des colonnes peuvent être davantage limitées à l'aide des champs **Where** de l'éditeur. 

## Afficher la requête dans l'interface utilisateur Honeycomb
<a name="honeycomb-view"></a>

Pour voir la requête que vous avez créée dans l'interface utilisateur Honeycomb depuis le panneau du tableau de bord, choisissez n'importe quel point du graphique, puis choisissez **Ouvrir dans Honeycomb**. 

Pour voir la requête que vous avez créée dans l'interface utilisateur Honeycomb à partir de l'éditeur de requêtes, choisissez **Ouvrir dans Honeycomb**. 

## Importer un tableau de bord pour Honeycomb
<a name="honeycomb-import"></a>

Pour importer un tableau de bord, consultez[Importation d'un tableau de bord](dashboard-export-and-import.md#importing-a-dashboard). 

Pour trouver vos tableaux de bord importés, choisissez **Configuration**, **Sources de données**. 

**Pour voir les tableaux de bord prédéfinis disponibles, choisissez la source de données Honeycomb, puis l'onglet Tableaux de bord.** 

# Se connecter à une source de données Jira
<a name="jira-AMG-datasource"></a>

Obtenez une vue d'ensemble de votre processus de développement en combinant les données relatives aux problèmes de Jira avec les données de performance des applications provenant d'autres sources.

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).
+ Créez des annotations en fonction de la création ou de la résolution des problèmes, pour voir la relation entre les problèmes et les indicateurs.
+ Suivez les statistiques détaillées de Jira, telles que le délai moyen de résolution et le traitement des problèmes.

Pour utiliser la source de données Jira, vous devez disposer d'un compte Atlassian ayant accès à un projet Jira.

## Limitations connues
<a name="jira-known-limitations"></a>

Les types de champs personnalisés issus des extensions Jira peuvent ne pas être pris en charge.

## Ajouter la source de données
<a name="jira-adding-the-data-source"></a>

1.  Ouvrez la console Grafana dans l'espace de travail Amazon Managed Grafana et assurez-vous que vous êtes connecté. 

1.  Dans le menu latéral, sous **Configuration** (icône en forme de roue dentée), choisissez **Sources de données**. 

1.  Choisissez **Add data source**. 
**Note**  
 Si le lien **Sources de données** n'apparaît pas dans le menu latéral, cela signifie que votre utilisateur actuel n'a pas le `Admin` rôle. 

1.  Sélectionnez **Jira** dans la liste des sources de données. 

1. Entrez les informations suivantes :
   + Dans **Nom**, entrez le nom de cette source de données Jira.
   + Pour **URL**, entrez l'URL racine de votre instance Atlassian, telle que. **https://bletchleypark.atlassian.net**
   + Dans le champ **Utilisateur**, entrez une adresse e-mail pour le user/service compte.
   + Pour le **jeton d'API**, entrez un jeton d'API généré pour l'utilisateur.

## Interrogez la source de données Jira
<a name="jira-query"></a>

Dans l'éditeur de requêtes Jira, vous pouvez sélectionner des champs et des problèmes de requête.

La source de données Jira interroge Jira pour des problèmes, qui peuvent être liés à des bogues, à des témoignages d'utilisateurs, à des tickets d'assistance ou à d'autres tâches dans Jira

**Filtrer et afficher les problèmes**

1.  Choisissez **Champs**, choisissez le menu déroulant et utilisez la saisie anticipée pour sélectionner l'un des champs de votre instance Jira, y compris les champs personnalisés. Quelques champs à essayer : 
   + **Résumé** : nom du problème
   + **Nom épique** — L'épis à laquelle appartient un numéro
   + **Estimation des points de scénario** : nombre de points d'histoire estimés par l'équipe pour un problème

1.  Filtrez ou triez les problèmes. Pour ce faire, entrez une expression JQL valide pour filtrer ou trier les problèmes en fonction de l'un de leurs champs tels que **Project**, **Assignee** ou **Sprint** avec le langage de requête Atlassian JQL. 

À partir de là, vous pouvez afficher vos données dans un tableau ou utiliser les transformations de Grafana pour manipuler les données d'émission, exécuter des calculs ou transformer les données en un graphique de série chronologique. Pour de plus amples informations, veuillez consulter [Appliquer une transformation](panel-transformations.md#apply-a-transformation).

## Requête de séries chronologiques
<a name="jira-timeseries-query"></a>

Pour afficher les données de séries chronologiques, choisissez un champ **Date** ainsi qu'un champ numérique, puis passez à la visualisation graphique. Par exemple : **date de début du sprint**, **estimation du nombre de points narratifs**.

L'exemple précédent, en lui-même, n'est pas très utile. Le champ numérique peut être (et sera très probablement) calculé à partir des transformations. L'utilisation de l'**option Grouper par** transformation permettrait de regrouper par **date de début du sprint** et de résumer l'**estimation des points du récit**, ce qui permettrait de visualiser les points de récit au fil du temps par sprint. Pour plus d'informations sur les transformations, consultez [Appliquer une transformation](panel-transformations.md#apply-a-transformation). 

## Modèles et variables
<a name="jira-templates"></a>

Pour ajouter une nouvelle variable de requête Jira, consultez[Ajouter une variable de requête](variables-types.md#add-a-query-variable). Utilisez votre source de données Jira comme source de données.

Vous pouvez définir des variables sur vos tableaux de bord et les référencer dans des expressions JQL. Par exemple, vous pouvez créer un tableau de bord de statut de projet et choisir entre des projets, ou un tableau de bord de statut épique et choisir différentes épopées, ou un tableau de bord d'état des tâches et choisir différents responsables.

Pour obtenir une liste dynamique de projets, d'épopées, de responsables, etc. parmi lesquels choisir, créez une variable de type Requête. Les variables de type requête utilisent JQL pour interroger les problèmes et renvoyer des projets, des épopées, des destinataires ou tout ce qui concerne les problèmes. Voici un exemple :

**Créez une variable assignée pour obtenir le statut des problèmes par personne assignée**

1.  Ajoutez une variable de type **Query** named**assignee**. 

1.  Sélectionnez **le champ : Destinataire**. 

1.  ) Facultatif) Ajoutez un filtre JQL **project = « votre** projet ». 

1.  Choisissez **Exécuter** pour afficher la liste des personnes assignées. 

1. Choisissez **Mettre à jour** pour ajouter la variable au tableau de bord.

1. Ajoutez un nouveau panneau au tableau de bord et modifiez le JQL pour filtrer en utilisant votre nouvelle variable **assignee = \$1assignee**.

   Désormais, lorsque vous choisissez dans la liste déroulante, vous ne voyez que les problèmes assignés à cet utilisateur.

Les variables à valeurs multiples permettent de sélectionner plusieurs options et peuvent être utilisées dans le cadre de la clause IN. Par exemple, **assignee IN (\$1assignee)**.

## Utiliser les transformations de Grafana pour répondre aux questions courantes
<a name="jira-macros"></a>

Les macros sont des variables qui font référence à la fenêtre temporelle du tableau de bord afin que vous puissiez filtrer les problèmes uniquement dans la plage de la fenêtre du tableau de bord. Il existe 2 macros : 
+ **\$1\$1\$1timeFrom**
+ **\$1\$1\$1timeTo.**

L'exemple de requête JQL suivant filtre les problèmes créés dans la fenêtre horaire du tableau de bord : `createdDate >= $__timeFrom AND createdDate <= $__timeTo`

## Tirez le meilleur parti de la source de données
<a name="jira-getmost"></a>

L'utilisation des transformations et des autres fonctionnalités intégrées de Grafana peut vous aider à visualiser de manière significative vos données Jira.

### Utiliser des transformations pour améliorer JQL
<a name="gitlab-transformations-JQL"></a>

Bien qu'il existe de nombreuses transformations parmi lesquelles choisir dans Grafana, les suivantes constituent une puissante augmentation qui donne à JQL une partie du features/power SQL.

**Grouper par** Cette transformation fournit une fonctionnalité clé qui ne fait pas partie de la syntaxe Jira JQL standard : le regroupement. À l'aide de la transformation **Grouper par**, vous pouvez les regrouper par sprints ou autres champs de problèmes, et les agréger par groupe pour obtenir des indicateurs tels que la vélocité et les estimations de points narratifs par rapport à la réalisation réelle d'un sprint.

**Jointure externe** Comme pour les jointures SQL, vous pouvez joindre deux requêtes ou plus par le biais de champs communs. Cela permet de combiner des ensembles de données issus de requêtes et d'utiliser d'autres transformations pour calculer des valeurs à partir de plusieurs requêtes/ensembles de données.

**Ajouter un champ à partir d'un calcul** Semblable aux expressions SQL, cette transformation permet d'ajouter de nouveaux champs à votre jeu de données en fonction des calculs d'autres champs. Les champs utilisés dans le calcul peuvent provenir d'une seule requête ou de requêtes que vous avez réunies. Vous pouvez également enchaîner des calculs et effectuer des calculs à partir de champs calculés.

### Utiliser les transformations de Grafana pour répondre aux questions courantes
<a name="gitlab-transformations-common"></a>

Vous pouvez utiliser les transformations pour visualiser, agréger, regrouper et joindre des ensembles de données, ainsi que de nombreux autres types de transformations pour transformer des résultats simples en réponses à des questions complexes.

**Comment afficher la vélocité par sprint ?**

1.  Sélectionnez les champs : **nom du sprint**, **estimation des points narratifs**. 

1.  Ajoutez un filtre JQL : `project = "Your Project" AND type != epic AND status = done order by created ASC` 

1.  Ajouter un **groupe par** transformation : 
   + Nom du sprint \$1 Grouper par
   + Estimation des points narratifs \$1 Calculer \$1 Total

1. Choisissez la visualisation **Bar Gauage**.

**Comment puis-je montrer ce qui a été terminé par rapport à ce qui a été estimé lors d'un sprint ?**

1.  Ajoutez une requête. Sélectionnez d'abord les champs : **nom du sprint****, date de début du sprint,** **estimation des points du scénario**. 

   Ajoutez ensuite un filtre JQL : `project = 'Your Project' AND type != epic` 

1.  Ajoutez une deuxième requête. Sélectionnez d'abord les champs : **nom du sprint****, date de début du sprint,** **estimation des points du scénario**. 

   Ajoutez ensuite un filtre JQL : `project = 'Your Project' AND type != epic AND status = done` 

1.  Ajouter un **groupe par** transformation : 
   + Nom du sprint \$1 Grouper par
   + Date de début du sprint \$1 Regrouper par
   + Estimation des points narratifs \$1 Calculer \$1 Total

1. Choisissez la visualisation **graphique**.

**Quel est le délai moyen pour résoudre les problèmes de mon projet ?**

1.  Ajoutez une requête. Sélectionnez d'abord les champs : **créé**, **statut, catégorie modifiée**. 

   Ajoutez ensuite un filtre JQL : `project = 'Your Project' AND type != epic AND status = done` 

1.  Ajouter une transformation : **Ajouter un champ à partir du calcul**
   + Mode = Réduire la ligne
   + Calcul = Différence

1.  Ajouter une transformation : **Ajouter un champ à partir du calcul**
   + Mode = Opération binaire
   + Fonctionnement = Différence/86000000
   + Alias = Jours

1.  Ajouter une transformation : **organiser les champs**
   + Masquer un champ différent

1.  Ajouter une transformation : **filtrer les données par valeurs**
   + Type de filtre = Inclure
   + conditions = Correspond à n'importe laquelle
     + Champ = jours \$1 Match = est supérieur \$1 Valeur = 1

1.  Ajouter une transformation : **Réduire**
   + Mode = série par lignes
   + Calculs = moyenne

1. Choisissez la visualisation des **statistiques**.

# Connect à une source de données MongoDB
<a name="AMG-mongodb-datasource"></a>

 La source de données MongoDB vous permet de visualiser les données de MongoDB dans Amazon Managed Grafana. 

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Usage
<a name="mongo-usage"></a>

### Éditeur de requêtes
<a name="mongo-query-editor"></a>

 L'éditeur de requêtes prend en charge la même syntaxe que le MongoDB Shell, avec certaines limitations :\$1 Vous ne pouvez exécuter qu'une seule commande/requête. \$1 Seules les commandes de lecture sont prises en charge : **find** et **aggregate** \$1 *La plupart des* constructeurs d'objets ne sont pas pris en charge (à l'exception de **ISODate**, qui est pris en charge) 

 L'éditeur développe la syntaxe MongoDB Shell de la manière suivante : 
+  **Sélection de la base** de données — Vous pouvez fournir le nom de la base de données à la place du « db » normal : 
**Note**  
Vous pouvez toujours utiliser « db ». Il fera référence à la base de données par défaut dans votre chaîne de connexion.

  ```
  sample_mflix.movies.find()
  ```
+  **Tri agrégé** — Normalement, le tri s'effectue par une étape dans le pipeline d'agrégation, mais le niveau gratuit de MongoDB Atlas ne permet pas le tri. Nous avons étendu la syntaxe pour l'autoriser à ceux qui utilisent le niveau gratuit. 
**Note**  
MongoDB n'effectue pas le tri avec cette syntaxe. Le tri s'effectue une fois que les résultats ont été demandés dans la collection.

  ```
  sample_mflix.movies.aggregate({}).sort({"time": 1})
  ```
+  Avec un éditeur vide, **Ctrl \$1 Space affichera** une sélection de toutes les bases de données disponibles. 
+  La saisie d'un point après la base de données affichera une sélection de toutes les collections disponibles pour cette base de données. 
+  La saisie d'un point après la collection affichera les méthodes de requête disponibles. 
+  La saisie d'un point après la méthode de requête affichera des fonctions supplémentaires : trier/limiter. 

#### Exécution de la requête
<a name="mongo-running-the-query"></a>

 Appuyez sur **Cmd \$1 S** pour exécuter la requête 

### Séries chronologiques
<a name="mongo-time-series"></a>

 Lors de la visualisation de données de séries chronologiques, le plugin doit savoir quel champ utiliser comme heure. Il suffit de projeter le champ avec un alias de nom « time ». Le type de données du champ doit être une date. 

 Vous pouvez forcer les types de données non datés à ce jour. Cela permettra d'utiliser des champs autres que la date comme heure de la série chronologique. L'exemple suivant montre comment convertir le champ int « année » en une date projetée sous forme d' « heure » à l'aide de l'opérateur de dateFromParts pipeline MongoDB \$1. 

```
sample_mflix.movies.aggregate([
{"$match": { "year": {"$gt" : 2000} }},
{"$group": { "_id": "$year", "count": { "$sum": 1 }}},
{"$project": { "_id": 0, "count": 1, "time": { "$dateFromParts": {"year": "$_id", "month": 2}}}}
]
).sort({"time": 1})
```

### Diagnostic
<a name="mongo-diagnostics"></a>

 [Commandes de diagnostic](https://docs.mongodb.com/manual/reference/command/nav-diagnostic/) 

 Les commandes de diagnostic suivantes sont actuellement prises en charge : « stats », « ServerStatus », "replSetGetStatus », « GetLog », « ConnectionStatus », connPoolStats « BuildInfo », « DBStats », « HostInfo », « LockInfo » 

 Exemples : 

```
admin.connectionStatus()  // run the connectionStatus command
admin.connectionStatus({"authInfo.authenticatedUserRoles": 1})  // run and only return the "authInfo.authenticatedUserRoles" field
admin.connPoolStats({arg: "pool"})  // run the connPoolStats command and pass 1 argument
admin.serverStatus({args: {repl: 0, metrics:0}})  // run the serverStatus command and pass multiple args
```

### Macros
<a name="mongo-macros"></a>

 Vous pouvez faire référence à la plage horaire du tableau de bord dans vos requêtes.
+ ` $__timeFrom `— une macro qui fait référence à l'heure de début du tableau de bord
+ ` $__timeTo `— une macro qui fait référence à l'heure de fin du tableau de bord

```
          $__timeTo -  ``` sample_mflix.movies.find({released: {$gt:
          "$__timeFrom"}}).sort({year: 1})
```

#### Variables du modèle
<a name="mongo-variables"></a>

MongoDB soutient l'idée des « variables composées », qui vous permettent d'utiliser une variable en tant que plusieurs variables pour effectuer des filtres multiclés complexes.

Pour créer une variable composée, utilisez la convention de dénomination qui consiste à diviser les variables en utilisant des traits de soulignement (doivent commencer par un trait de soulignement) : `_var1_var2` lors de la requête, la réponse doit être au format suivant : `val1-val2`

**Exemple : je souhaite filtrer les résultats en fonction du nom du film et de l'année.**

1. Créez une variable de type Query : `_movie_year`

1. Définissez la variable query sur une requête qui renverra un tableau d'éléments avec une propriété ciné-année, comme indiqué dans l'exemple suivant.

   ```
   // Example sample_mflix.movies.aggregate([
             {"$match": {year: {"$gt": 2011}}},
             {"$project": {_id: 0, movie_year: {"$concat":
             ["$title", " - ", {"$toString":"$year"}]}}}
             ])
   ```

   ```
    // [{"movie-year": "Ted - 2016"},
             {"movie-year": "The Terminator -
             1985"}]
   ```

1. Dans votre requête, vous pouvez désormais référencer « Movie » et « Year » en tant que variables de modèle distinctes en utilisant la syntaxe « \$1\$1variable ». 

##### Utilisation de filtres ad hoc
<a name="mongo-adhoc"></a>

En plus de la variable standard de type « filtre ad hoc », quel que soit son nom, une deuxième variable auxiliaire doit être créée. Il doit s'agir d'un type « constant » avec le nom « mongodb\$1adhoc\$1query` et une valeur compatible avec l'éditeur de requêtes. Le résultat de la requête sera utilisé pour renseigner les filtres sélectionnables. Vous pouvez choisir de masquer cette variable car elle ne sert à rien d'autre.

```
          sample_mflix.movies.aggregate([
          {"$group": { "_id": "$year"}},
          {"$project": { "year": "$_id","_id":
          0 }} ] )
```

# Connectez-vous à une source de données New Relic
<a name="new-relic-data-source"></a>

 Cette section couvre New Relic [APM](https://newrelic.com/products/application-monitoring) et [Insights for Grafana](https://newrelic.com/products/insights). 

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Caractéristiques
<a name="newrelic-features"></a>
+  Variables du modèle 
  +  Noms des métriques 
  +  Valeurs de métriques 
+  Annotations 
+  Aliasage 
  +  Noms des métriques 
  +  Valeurs de métriques 
+  Filtres ad hoc 
  +  Non pris en charge actuellement 
+  Alerte 

## Configuration
<a name="newrelic-configuration"></a>

 Ajoutez la source de données en remplissant les champs de votre clé d'[API d'administration, de votre clé](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#admin) d'[API personnelle](https://docs.newrelic.com/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key) et de votre [identifiant de compte](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/account-id). 

## Usage
<a name="newrelic-usage"></a>

### Types de services
<a name="newrelic-service-types"></a>
+  **Métriques** [; pour interroger New Relic APM via l'API REST de New Relic.](https://docs.newrelic.com/docs/apis/rest-api-v2) 
+  **Insights** [; pour interroger New Relic Insights via NRQL.](https://docs.newrelic.com/docs/insights/nrql-new-relic-query-language/nrql-resources/nrql-syntax-components-functions) 

### les alias ;
<a name="newrelic-aliases"></a>

 Vous pouvez combiner du texte brut avec les variables suivantes pour produire une sortie personnalisée. 


|  Variable  |  Description  |  Exemple de valeur  | 
| --- | --- | --- | 
|  \$1\$1\$1nr\$1metric  |  Nom de la métrique  |  CPU/User heure  | 
|  \$1\$1\$1nr\$1metric\$1value  |  Valeurs de métriques  |  valeur\$1moyenne  | 

Par exemple :

```
    <para>
      Server: $__nr_server Metric: $__nr_metric
    </para>
    <programlisting>
```

### Modèles et variables
<a name="newrelic-templates-and-variables"></a>

1.  Créez une variable de modèle pour votre tableau de bord. Pour de plus amples informations, veuillez consulter [Modèles et variables](templates-and-variables.md). 

1.  Sélectionnez le type « Requête ». 

1.  Sélectionnez la source de données « New Relic ». 

1.  Formulez une requête à l'aide des points de terminaison relatifs de [l'API REST](https://docs.newrelic.com/docs/apis/rest-api-v2) (à l'exception des extensions de fichier). 

Liste des applications disponibles :

```
    <para>
      applications
    </para>
    <programlisting>
```

Liste des métriques disponibles pour une application :

```
    <para>
      applications/{application_id}/metrics
    </para>
    <programlisting>
```

### Macros NRQL
<a name="nrql-macros"></a>

 Pour améliorer l'expérience d'écriture lors de la création de requêtes NRQL (New Relic Query Language), l'éditeur prend en charge les macros prédéfinies : 
+  `$__timeFilter`(ou`[[timeFilter]]`) interpolera en `SINCE &lt;from&gt; UNTIL &lt;to&gt;` fonction de la plage de temps de votre tableau de bord. 

Exemple :

```
    <para>
      SELECT average(value) FROM $event_template_variable
      $__timeFilter TIMESERIES
    </para>
    <programlisting>
```

 Pour plus d'informations sur l'utilisation des macros et des variables de modèle, consultez la section d'aide de l'éditeur. 

### Événements d'alerte
<a name="newrelic-alert-events"></a>

 Sélectionnez votre source de données New Relic et définissez des filtres supplémentaires. Si aucun filtre n'est défini, tous les événements seront renvoyés. 

 Si vous souhaitez filtrer les événements par *ID d'entité*, utilisez des variables de modèle car vous pourrez sélectionner le nom de l'entité au lieu de l'ID. Par exemple, pour filtrer les événements d'une application particulière, créez une variable `_$app_` qui récupère une liste d'applications et l'utilise comme filtre d'*ID d'entité*. 

### Événements de déploiement
<a name="newrelic-deployment-events"></a>

 Le champ *ID de candidature* est obligatoire. 

# Se connecter à une source de données Oracle Database
<a name="oracle-datasource-AMG"></a>

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Ajouter la source de données
<a name="datasource-configuration"></a>

 Sélectionnez **Sources de données** dans le panneau de gauche de Grafana. 

 Sélectionnez Ajouter une source de données : 

 Entrez **oracle** pour trouver la source de données. 

 Entrez les détails du serveur Oracle. 

 Entrez un nom d'hôte (ou adresse IP) ainsi que le numéro de port, le nom d'utilisateur et le mot de passe pour vous connecter. 

 Avec l'option tnsnames, toute entrée valide trouvée dans votre fichier de configuration tnsnames.ora peut être utilisée, ainsi que l'authentification de base. 

 Similaire à l'exemple précédent, mais en utilisant Kerberos pour l'authentification. Consultez le guide de configuration spécifique à Kerberos pour plus de détails sur la façon de configurer le système d'exploitation ou le conteneur docker pour utiliser Kerberos. 

 Modifiez éventuellement le fuseau horaire utilisé pour vous connecter au serveur Oracle et à utiliser par les macros adaptées au fuseau horaire. Le paramètre par défaut est UTC. 

 Enregistrez et testez la source de données, vous devriez voir un message vert avec « Connexion à la base de données OK » 

## Usage
<a name="usage-4"></a>

### Macros
<a name="macros-1"></a>

 Pour simplifier la syntaxe et autoriser les parties dynamiques, telles que les filtres de plage de dates, la requête peut contenir des macros. Le nom de colonne doit être placé entre guillemets (`"`). 


|  Exemple de macro  |  Description  | 
| --- | --- | 
|  \$1\$1\$1\$1time (DateColumn) \$1 \$1 Sera remplacé par une expression pour renommer la colonne en `time`. Par exemple, `DateColumn as time` \$1\$1\$1\$1timeEpoch (DateColumn) \$1  |  Sera remplacée par une expression pour renommer la colonne time et convertir la valeur en horodatage Unix (en millisecondes).  | 
|  \$1\$1\$1\$1TimeFilter (DateColumn) \$1 \$1 Sera remplacé par un filtre de plage de temps utilisant le nom de colonne spécifié. Par exemple, `DateColumn BETWEEN TO\$1DATE ('19700101', 'yyyymmdd') \$1 (1/24/60/60/1000) \$1 1500376552001 ET TO\$1DATE ('19700101', 'yyyymmdd') \$1 (1/24/60/60/1000) \$1 1500376552002` \$1\$1\$1\$1TimeFrom () \$1  |  Sera remplacé par le début de la sélection d'heure actuellement active convertie en type de DATE données. Par exemple, TO\$1DATE('19700101','yyyymmdd') \$1 (1/24/60/60/1000) \$1 1500376552001.  | 
|  \$1\$1\$1\$1TimeTo () \$1 \$1 Sera remplacé par la fin de la sélection d'heure actuellement active convertie en type de données `DATE`. \$1\$1\$1\$1TimeGroup (DateColumn, « 5 m ») \$1  |  Sera remplacée par une expression utilisable dans la clause GROUP BY.  | 
|  \$1\$1\$1\$1timeGroup (DateColumn, « 5m » [, valeur de remplissage]) \$1  |  Sera remplacée par une expression utilisable dans la clause GROUP BY. La fourniture d'une valeur FillValue NULL ou d'une valeur flottante remplira automatiquement les séries vides dans la plage de temps avec cette valeur. Par exemple, t i m e G r o u p c r e a t e d A t, ′1 m ′, 0. \$1\$1\$1TimeGroup (colonne de date, « 5 m », 0) \$1.  | 
|  \$1 t i m e G r o u p (d a t e C o l u m n, '5 m ', N U L L) \$1 \$1 S a m e a s a b o v e b u t N U L L w i l l b e u s e d a s v a l u e f o r m i s s i n g C'est à nous de le faire. \$1\$1\$1TimeGroup (DateColumn, « 5m », précédent) \$1  |  Comme ci-dessus, mais la valeur précédente de cette série sera utilisée comme valeur de remplissage si aucune valeur n'a été vue mais que la valeur NULL sera utilisée.  | 
|  \$1\$1\$1\$1 unixEpochFilter (DateColumn) \$1 \$1 Sera remplacé par un filtre de plage de temps utilisant le nom de colonne spécifié avec les heures représentées par un horodatage Unix (en millisecondes). Par exemple, `DateColumn >= 1500376552001 ET DateColumn <= 1500376552002` \$1\$1\$1\$1 () \$1 unixEpochFrom  |  Sera remplacé par le début de la sélection d'heure actuellement active sous forme d'horodatage Unix. Par exemple, 1500376552001.  | 
|  \$1\$1\$1\$1unixEpochTo()\$1  |  Sera remplacé par la fin de la sélection d'heure actuellement active sous forme d'horodatage Unix. Par exemple, 1500376552002.  | 

 Le plugin prend également en charge la notation à l'aide d'accolades. `{}` Utilisez cette notation lorsque des requêtes sont nécessaires dans les paramètres. 

**Note**  
Utilisez un type de notation par requête. Si la requête nécessite des accolades, toutes les macros de la requête doivent utiliser des accolades. 

```
$__timeGroup{"dateColumn",'5m'}
$__timeGroup{SYS_DATE_UTC("SDATE"),'5m'}
$__timeGroup{FROM_TZ(CAST("SDATE" as timestamp), 'UTC'), '1h'}
```

 L'éditeur de requêtes possède un lien **SQL généré** qui s'affiche après l'exécution d'une requête, en mode édition du panneau. Lorsque vous choisissez le lien, il se développe et affiche la chaîne SQL interpolée brute qui a été exécutée. 

### Requêtes de table
<a name="table-queries"></a>

 Si l'option **Formater en tant que** requête est définie sur **Table**, vous pouvez essentiellement effectuer n'importe quel type de requête SQL. Le panneau du tableau affiche automatiquement les résultats des colonnes et des lignes renvoyées par votre requête. Vous pouvez contrôler le nom des colonnes du panneau Table à l'aide de la syntaxe `as` SQL classique de sélection des colonnes. 

### Requêtes de séries chronologiques
<a name="time-series-queries"></a>

 Si vous **définissez Format** en fonction de la **série chronologique**, pour une utilisation dans le panneau graphique par exemple, la requête doit renvoyer une colonne nommée `time` qui renvoie soit une date SQL, soit un type de données numérique représentant l'époque Unix en secondes. Grafana interprète les colonnes DATE et TIMESTAMP sans fuseau horaire explicite en UTC. Toute colonne sauf `time` et `metric` est traitée comme une colonne de valeur. Vous pouvez renvoyer une colonne nommée `metric` qui est utilisée comme nom de métrique pour la colonne de valeurs. 

 L'exemple de code suivant montre la `metric` colonne. 

```
SELECT
  $__timeGroup("time_date_time", '5m') AS time,
  MIN("value_double"),
  'MIN' as metric
FROM test_data
WHERE $__timeFilter("time_date_time")
GROUP BY $__timeGroup("time_date_time", '5m')
ORDER BY time
```

### Plus de requêtes — en utilisant oracle-fake-data-gen
<a name="more-queries---using-oracle-fake-data-gen"></a>

```
SELECT
  $__timeGroup("createdAt", '5m') AS time,
  MIN("value"),
  'MIN' as metric
FROM "grafana_metric"
WHERE $__timeFilter("createdAt")
GROUP BY $__timeGroup("createdAt", '5m')
ORDER BY time
```

 L'exemple de code suivant montre une série chronologique de Fake Data. 

```
SELECT
  "createdAt",
  "value"
FROM "grafana_metric"
WHERE $__timeFilter("createdAt")
ORDER BY "createdAt" ASC
```

```
SELECT
  "createdAt" as time,
  "value" as value
FROM "grafana_metric"
WHERE $__timeFilter("createdAt")
ORDER BY time ASC
```

 L'exemple suivant montre un résultat de tableau utile. 

```
select tc.table_name Table_name
,tc.column_id Column_id
,lower(tc.column_name) Column_name
,lower(tc.data_type) Data_type
,nvl(tc.data_precision,tc.data_length) Length
,lower(tc.data_scale) Data_scale
,tc.nullable nullable
FROM all_tab_columns tc
,all_tables t
WHERE tc.table_name = t.table_name
```

### Création de modèles
<a name="templating-3"></a>

 Au lieu de coder en dur des éléments tels que le nom du serveur, de l'application et du capteur dans vos requêtes métriques, vous pouvez utiliser des variables à leur place. Les variables sont affichées sous forme de boîtes de sélection déroulantes en haut du tableau de bord. Ces listes déroulantes permettent de modifier facilement les données affichées dans votre tableau de bord. 

#### Variable de requête
<a name="query-variable-1"></a>

 Si vous ajoutez une variable de modèle de ce type`Query`, vous pouvez écrire une requête Oracle qui peut renvoyer des éléments tels que des noms de mesures, des noms de clés ou des valeurs clés affichés sous forme de zone de sélection déroulante. 

 Par exemple, vous pouvez avoir une variable contenant toutes les valeurs de la `hostname` colonne d'une table si vous spécifiez une requête de ce type dans le paramètre *Query* de la variable de modèle. 

```
SELECT "hostname" FROM host
```

 Une requête peut renvoyer plusieurs colonnes et Grafana créera automatiquement une liste à partir de celles-ci. Par exemple, la requête suivante renverra une liste contenant les valeurs de `hostname` et`hostname2`. 

```
SELECT "host.hostname", "other_host.hostname2" FROM host JOIN other_host ON host.city = other_host.city
```

 Pour utiliser des macros dépendantes d'une plage de temps, comme `$__timeFilter("time_column")` dans votre requête, le mode d'actualisation de la variable de modèle doit être défini *sur On Time Range Change*. 

```
SELECT "event_name" FROM event_log WHERE $__timeFilter("time_column")
```

 Une autre option est une requête qui permet de créer une key/value variable. La requête doit renvoyer deux colonnes nommées `__text` et`__value`. La valeur de la `__text` colonne doit être unique (si elle ne l'est pas, c'est la première valeur qui est utilisée). Les options de la liste déroulante comporteront un texte et une valeur qui vous permettront d'avoir un nom convivial sous forme de texte et un identifiant comme valeur. L'exemple de code suivant montre une requête dont `hostname` le texte et la valeur sont `id` les suivants. 

```
SELECT "hostname" AS __text, "id" AS __value FROM host
```

 Vous pouvez également créer des variables imbriquées. Par exemple, si vous aviez une autre variable nommée`region`. Vous pouvez alors faire en sorte que la variable hosts n'affiche que les hôtes de la région actuellement sélectionnée avec une requête comme celle-ci (s'il s'`region`agit d'une variable à valeurs multiples, utilisez l'opérateur de `IN` comparaison plutôt que de la comparer `=` à plusieurs valeurs). 

```
SELECT "hostname" FROM host WHERE region IN('$region')
```

#### Utilisation de variables dans les requêtes
<a name="using-variables-in-queries-1"></a>

 Les valeurs des variables de modèle ne sont citées que lorsque la variable de modèle est un`multi-value`. 

 Si la variable est une variable à valeurs multiples, utilisez l'opérateur de `IN` comparaison plutôt que de `=` la comparer à plusieurs valeurs. 

 Il existe deux syntaxes : 

 `$<varname>`Exemple avec une variable de modèle nommée `hostname` : 

```
SELECT
  "atimestamp" as time,
  "aint" as value
FROM table
WHERE $__timeFilter("atimestamp") AND "hostname" IN('$hostname')
ORDER BY "atimestamp" ASC
```

 `[[varname]]`Exemple avec une variable de modèle nommée `hostname` : 

```
SELECT
  "atimestamp" as time,
  "aint" as value
FROM table
WHERE $__timeFilter("atimestamp") AND "hostname" IN('[[hostname]]')
ORDER BY atimestamp ASC
```

# Connectez-vous à une source de données Salesforce
<a name="salesforce-AMG-datasource"></a>

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

La source de données Salesforce vous permet de visualiser les données de Salesforce dans Amazon Managed Grafana.

Pour utiliser cette source de données, vous devez disposer d'un compte [Salesforce](https://www.salesforce.com/) et d'une [application connectée Salesforce](https://help.salesforce.com/articleView?id=sf.connected_app_overview.htm&type=5).

## Limitations connues
<a name="salesforce-known-limitations"></a>
+  Les filtres ad hoc ne sont pas encore pris en charge. 
+  Seules les requêtes SOQL et les données accessibles via SOQL sont actuellement prises en charge. Les formats de requête SOSL et SAQL ne sont pas encore pris en charge. 

## Réglages requis
<a name="salesforce-settings"></a>

Les paramètres suivants sont obligatoires.

**Note**  
Le plugin utilise actuellement le flux de nom d'utilisateur-mot de passe OAuth 2.0. L'URL de rappel requise dans l'application connectée n'est pas utilisée. Ainsi, vous pouvez le définir sur n'importe quelle URL valide.


|  Nom  |  Description  | 
| --- | --- | 
|  Enable OAuth settings  |  Vous devez cocher cette case pour l'activer OAuth.  | 
|  Callback URL  |  Non utilisé dans ce plugin, vous pouvez donc spécifier n'importe quelle URL valide.  | 
|  Selected OAuth Scopes (minimum requirements)  | Accédez à vos données et gérez-les (API). | 
|  Require Secret for Refresh Token Flow  |  Vous pouvez l'activer ou le désactiver.  | 

## Ajouter la source de données
<a name="salesforce-adding-the-data-source"></a>

1.  Ouvrez la console Grafana dans l'espace de travail Amazon Managed Grafana et assurez-vous que vous êtes connecté. 

1.  Dans le menu latéral, sous **Configuration** (icône en forme de roue dentée), choisissez **Sources de données**. 

1.  Choisissez **Add data source**. 
**Note**  
 Si le lien **Sources de données** n'apparaît pas dans le menu latéral, cela signifie que votre utilisateur actuel n'a pas le `Admin` rôle. 

1.  Sélectionnez **Salesforce** dans la liste des sources de données. 

1. Entrez les informations suivantes :
   + Dans **Nom d'utilisateur**, entrez le nom d'utilisateur du compte Salesforce que vous souhaitez utiliser pour vous connecter et interroger Salesforce.
   + Dans **Mot de passe**, entrez le mot de passe de cet utilisateur.
   + Pour le **jeton de sécurité**, entrez le jeton de sécurité pour cet utilisateur.
   + Pour **Consumer Key**, entrez A Consumer Key pour vous connecter à Salesforce. Vous pouvez l'obtenir depuis votre application Salesforce Connected.
   + Pour **Consumer Secret**, saisissez A Consumer secrete pour vous connecter à Salesforce. Vous pouvez l'obtenir depuis votre application Salesforce Connected.
   + Pour **Utiliser le bac** à sable, sélectionnez cette option si vous souhaitez utiliser un bac à sable Salesforce.

## Interrogez la source de données Salesforce
<a name="salesforce-query"></a>

L'éditeur de requêtes prend en charge les modes Générateur de requêtes et Éditeur SOQL. SOQL est l'abréviation de [Salesforce Object Query Language.](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm) 

### Générateur de requêtes (Générateur SOQL)
<a name="salesforce-query-builder"></a>

Query Builder est une interface conviviale permettant de créer des requêtes SOQL. Si vous n'êtes pas habitué à écrire des requêtes SOQL, vous pouvez utiliser ce mode pour créer le SOQL afin d'interroger des objets Salesforce. Le champ **FROM** du générateur de requêtes fait référence à l'entité ou aux entités de Salesforce. Vous devez sélectionner le champ **FROM** avant toute autre opération dans le générateur de requêtes. Après avoir choisi le champ **FROM**, vous devez choisir le mode générateur. SOQL Builder prend actuellement en charge les modes suivants.
+ `List`— Répertoriez les éléments avec leurs champs dans la table/la force de vente sélectionnée. Utilisez ce mode pour obtenir des résultats tels que « Montrez-moi la liste des opportunités créées au cours de ce trimestre fiscal ainsi que leur nom, leur valeur et leur stade ».
+ `Aggregate`— Agrégez les éléments dans une entité. Utilisez ce mode pour obtenir des résultats tels que « Comptez les opportunités créées le mois dernier ». ou « Quelle est la valeur totale des opportunités regroupées par nom d'étape ? »
+ `Trend`— Afficher les résultats agrégés au fil du temps. Utilisez ce mode pour obtenir des résultats tels que « Comptez le nombre d'opportunités par » CreatedDate. ou « Quelle est la somme totale de la valeur regroupée par date de clôture des opportunités ? »

Après avoir choisi le **mode `Entity/FROM`** et dans l'éditeur de requêtes, créez votre requête à l'aide des options suivantes. 


|  **Champs**  |  **Applicable à**  |  **Descriptions**  | 
| --- | --- | --- | 
|  SELECT |  ALL  |  Sélectionnez la liste des champs que vous souhaitez consulter. Pour la vue agrégée ou la vue des tendances, sélectionnez également la manière dont vous souhaitez agréger les valeurs. | 
|  WHERE |  ALL  |  (Facultatif) Spécifiez les conditions du filtre. Les résultats sont filtrés en fonction des conditions que vous sélectionnez. | 
|  ORDER BY |  LISTE, AGRÉGAT  |  (Facultatif) Sélectionnez le nom du champ et l'ordre de tri que vous souhaitez pour les résultats. | 
|  LIMIT |  LISTE, AGRÉGAT  |  (Facultatif) Limitez le nombre de résultats renvoyés. La valeur par défaut est 100. | 
|  GROUP BY |  AGGREGATE  |  (Facultatif) Sélectionnez le champ si vous souhaitez diviser la valeur agrégée par un champ spécifique. | 
|  CHAMP HORAIRE |  TENDANCE  |  Spécifiez le champ de date selon lequel vous souhaitez regrouper vos résultats. Les résultats sont filtrés en fonction de la plage de sélection de temps de Grafana. | 

Lorsque vous configurez les champs précédents dans l'éditeur de requêtes, vous verrez également un aperçu du SOQL généré sous l'éditeur de requêtes. Si vous êtes bloqué par des restrictions dans le générateur de requêtes, vous pouvez passer en toute sécurité à l'éditeur SOQL, où vous pouvez personnaliser la requête SOQL générée.

### éditeur SOQL
<a name="salesforce-SOQL-editor"></a>

L'éditeur SOQL brut offre la possibilité d'interroger des objets Salesforce via une requête SOQL brute. L'éditeur SOQL fournit des suggestions de saisie semi-automatique, telles que les entités disponibles par table et les champs correspondants. Utilisez Ctrl\$1Espace après SELECT ou WHERE pour voir les entités disponibles par table. Vous pouvez voir les champs disponibles si vous entrez un point après le nom de l'entité.

**Raccourcis**

Utilisez CTRL \$1 ESPACE pour afficher la fin du code, qui indique les options contextuelles disponibles.

CMD \$1 S exécute la requête.

**Requête sous forme de série chronologique**

Effectuez une requête de série chronologique en attribuant un alias à un champ de date par rapport à l'heure, et un champ métrique à une métrique, puis en regroupant par métrique et par date. Voici un exemple :

```
SELECT sum(Amount) amount, CloseDate time, Type metric from Opportunity
group by Type, CloseDate
```

**Macros**

Pour filtrer par plage horaire du tableau de bord, vous pouvez utiliser des macros dans vos requêtes SOQL :
+ `$__timeFrom`— Sera remplacé par le début de la sélection d'heure actuellement active convertie en type de `time` données.
+ `$__timeTo`— Sera remplacé par la fin de la sélection d'heure actuellement active convertie en type de `time` données.
+ `$__quarterStart`— Le début du trimestre fiscal (dérivé des paramètres de l'année SalesForce fiscale).
+ `$__quarterEnd`— La fin du trimestre fiscal (dérivée des paramètres de l'année SalesForce fiscale).

```
SELECT UserId, LoginTime from LoginHistory where LoginTime > $__timeFrom
```

## Modèles et variables
<a name="salesforce-templates"></a>

Pour ajouter une nouvelle variable de requête Salesforce, consultez[Ajouter une variable de requête](variables-types.md#add-a-query-variable). Utilisez votre source de données Salesforce comme source de données. Vous pouvez utiliser n'importe quelle requête SOQL ici.

Si vous souhaitez utiliser des name/value paires, par exemple un identifiant et un nom d'utilisateur, renvoyez deux champs à partir de votre requête SOQL. Le premier champ sera utilisé comme identifiant. Faites-le lorsque vous souhaitez filtrer par clé (ID, etc.) dans votre éditeur de requêtes SOQL.

Utilisez la variable dans vos requêtes SOQL à l'aide de la syntaxe variable. Pour de plus amples informations, veuillez consulter [Syntaxe variable](templates-and-variables.md#variable-syntax).

# Connectez-vous à une source de données SAP HANA
<a name="saphana-AMG-datasource"></a>

[SAP HANA](https://www.sap.com/products/technology-platform/hana.html) est une base de données en mémoire à hautes performances qui accélère les décisions et les actions en temps réel basées sur les données. Il est développé et commercialisé par SAP. Le plug-in de source de données SAP HANA vous permet de connecter votre instance SAP HANA à Grafana.

Avec le plugin SAP HANA Grafana Enterprise, vous pouvez visualiser vos données SAP HANA aux côtés de toutes vos autres sources de données dans Grafana, ainsi que les données de log et de métrique dans leur contexte. Ce plugin inclut un éditeur de requêtes intégré, prend en charge les annotations et vous permet de définir des seuils d'alerte, de contrôler l'accès, de définir des autorisations, etc.

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Caractéristiques
<a name="saphana-features"></a>
+ **Éditeur de requêtes** — Le plugin est livré avec un éditeur de requêtes SQL intégré avec surlignage syntaxique qui vous permet de visualiser des séries chronologiques ou des données de tables et de compléter automatiquement les macros Grafana de base.
+ **Autorisations relatives aux sources de données** : contrôlez qui peut consulter ou interroger les données SAP HANA dans Grafana.
+ **Annotations** — Superposez les événements ou les données SAP HANA sur n'importe quel graphe Grafana pour corréler les événements avec d'autres données du graphique.
+ **Alertes — Définissez des** magasins de métriques basés sur des alertes dans SAP HANA.
+ **Variables pour les requêtes** — Créez des variables modèles dans Grafana, basées sur les données SAP HANA, et incluez des variables dans les requêtes SAP HANA pour rendre les tableaux de bord interactifs.

## Ajouter la source de données
<a name="saphana-adding-the-data-source"></a>

1.  Ouvrez la console Grafana dans l'espace de travail Amazon Managed Grafana et assurez-vous que vous êtes connecté. 

1.  Dans le menu latéral, sous **Configuration** (icône en forme de roue dentée), choisissez **Sources de données**. 

1.  Choisissez **Add data source**. 
**Note**  
 Si le lien **Sources de données** n'apparaît pas dans le menu latéral, cela signifie que votre utilisateur actuel n'a pas le `Admin` rôle. 

1.  Sélectionnez **SAP HANA** dans la liste des sources de données. 

1. Dans l'éditeur Config, entrez les informations suivantes :
   + Pour **Adresse du serveur**, indiquez l'adresse de l'instance SAP HANA. Exemple :`xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx.hana.trial-us10.hanacloud.ondemand.com`.
   + Pour le **port du serveur**, indiquez le port de l'instance SAP HANA.
   + Dans **Nom d'utilisateur**, entrez le nom d'utilisateur à utiliser pour vous connecter à l'instance SAP HANA.
   + Dans **Mot de passe**, entrez le mot de passe de cet utilisateur.
   + (Facultatif) Activez **Ignorer la vérification TLS** si vous souhaitez ignorer la vérification TLS.
   + (Facultatif) Activez l'**authentification du client TLS** si vous devez fournir un certificat client et une clé.
   + (Facultatif) Activez **avec certificat CA** si vous souhaitez activer la vérification des certificats TLS auto-signés.
   + (Facultatif) **Dans Schéma par** défaut, entrez le schéma par défaut à utiliser. Si vous omettez cela, vous devrez spécifier le schéma dans chaque requête. 

**Accès et autorisations**

Pour connecter Grafana à SAP HANA, utilisez des informations d'identification dédiées. Fournissez uniquement les autorisations requises à l'utilisateur. Créez d'abord un utilisateur restreint avec un nom d'utilisateur et un mot de passe. La requête suivante est un exemple de création d'un utilisateur restreint. Cette requête désactive également le changement de mot de passe forcé.

```
CREATE RESTRICTED USER <USER> PASSWORD <PASSWORD> NO FORCE_FIRST_PASSWORD_CHANGE;
```

Ensuite, autorisez l'utilisateur à connecter le système via des clients tels que Grafana avec les éléments suivants :

```
ALTER USER <USER> ENABLE CLIENT CONNECT;
```

Enfin, donnez à l'utilisateur l'accès aux vues, tables et schémas nécessaires.

```
ALTER USER <USER> GRANT ROLE PUBLIC;
GRANT SELECT ON SCHEMA <SCHEMA> TO <USER>;
```

**Autorisations au niveau de l'utilisateur**

Limitez l'accès à SAP HANA en cliquant sur l'onglet Autorisations de la page de configuration de la source de données pour activer les autorisations de source de données. Sur la page des autorisations, les administrateurs peuvent activer les autorisations et restreindre les autorisations de requête à des utilisateurs et à des équipes spécifiques.

## Éditeur de requêtes
<a name="saphana-queryeditor"></a>

Le plugin SAP HANA Grafana est livré avec un éditeur de requêtes SQL dans lequel vous pouvez saisir toutes les requêtes HANA. Si votre requête renvoie des données de séries chronologiques, vous pouvez les formater sous forme de séries chronologiques pour les visualiser dans un panneau graphique. L'éditeur de requêtes permet de compléter automatiquement les macros Grafana prises en charge et de mettre en évidence la syntaxe de votre requête SQL.

## Annotations
<a name="saphana-annotations"></a>

Vous pouvez utiliser les requêtes SAP HANA comme sources d'annotations Grafana. Votre requête d'annotation doit renvoyer au moins une colonne temporelle et une colonne de texte. Pour plus d'informations sur les annotations, consultez[Annotations](dashboard-annotations.md).

**Pour créer des annotations à partir de SAP HANA**

1.  Choisissez l'icône représentant un engrenage **dans les paramètres du tableau** de bord. 

1.  Dans le menu de gauche, choisissez **Annotations**, **Nouveau**. 

1.  Dans le menu déroulant **Source de données**, sélectionnez votre instance de source de données SAP HANA. 

1.  Dans le champ **Requête**, entrez une requête SAP HANA qui renvoie au moins un champ temporel et un champ de texte. 

1.  Dans le menu déroulant **Format en tant que**, sélectionnez **Série chronologique**. 

1.  Pour chaque annotation, configurez les champs **From**. 

## Modèles et variables
<a name="saphana-templates"></a>

Pour ajouter une nouvelle variable de requête SAP HANA, consultez[Ajouter une variable de requête](variables-types.md#add-a-query-variable). Utilisez votre source de données SAP HANA comme source de données.

L'exemple de requête suivant renvoie la liste distincte des éléments `username` de la `users` table.

```
select distinct("username") from "users"
```

**Note**  
Assurez-vous de ne sélectionner qu'une seule colonne dans votre requête variable. Si votre requête renvoie deux colonnes, la première colonne sera utilisée comme valeur d'affichage et la deuxième comme valeur réelle de la variable. Si votre requête renvoie plus de deux colonnes, elles seront rejetées.

### Modèles et variables
<a name="saphana-Grafana-variables"></a>

Vous pouvez utiliser n'importe quelle variable Grafana dans votre requête. Les exemples suivants montrent comment utiliser la variable unique/multiple dans votre requête.

```
-- For example, following query
select * from "users" where "city" = ${city}
-- will be translated into
select * from "users" where "city" = 'london'
--- where you can see ${city} variable translated into actual value in the variable
```

Tout comme le texte, les variables fonctionnent également pour les champs numériques. Dans l'exemple ci-dessous, il `${age}` s'agit d'une variable de zone de texte dans laquelle elle accepte des nombres puis est comparée au champ numérique du tableau.

```
select * from "users" where "age" > ${age}
--- wil be translated into
select * from "users" where "age" > '36'
```

Si votre variable renvoie plusieurs valeurs, vous pouvez l'utiliser dans l'`in`état de la requête SAP HANA, comme ci-dessous. Notez les crochets qui entourent la variable pour que la `where in` condition soit valide dans SAP HANA.

```
select * from "users" where "city" in (${cities})
--- will be translated into
select * from "users" where "city" in ('london','perth','delhi')
--- where you can see ${cities} turned into a list of grafana variables selected.
--- You can also write the same query using shorthand notation as shown below
select * from "users" where "city" in ($cities)
```

### Macros
<a name="saphana-macros"></a>
+ `$__timeFilter(<time_column>)`— Applique la plage de temps de Grafana à la colonne spécifiée lorsqu'elle est utilisée dans la requête brute. Applicable aux colonnes date/timestamp/long temporelles.
+ `$__timeFilter(<time_column>, <format>)`— Comme ci-dessus. Mais donne la possibilité de spécifier le format de la time\$1column stockée dans la base de données.
+ `$__timeFilter(<time_column>, "epoch", <format>)`— Comme ci-dessus, mais peut être utilisé lorsque votre colonne de temps est en époque. Le format peut être l'un des suivants : « s », « ms » et « ns ».
+ `$__fromTimeFilter(<time_column>)`— Comme ci-dessus, mais peut être utilisé lorsque votre colonne de temps est en époque. Le format peut être l'un des suivants : « s », « ms » et « ns ».
+ `$__fromTimeFilter(<time_column>, <comparison_predicate>)`— Identique à ci-dessus, mais possibilité de spécifier comparison\$1predicate.
+ `$__fromTimeFilter(<time_column>, <format>)`— Comme ci-dessus, mais possibilité de spécifier le format de la colonne de temps.
+ `$__fromTimeFilter(<time_column>, <format>, <comparison_predicate>)`— Identique à ci-dessus, mais possibilité de spécifier comparison\$1predicate.
+ `$__toTimeFilter(<time_column>)`— Renvoie la condition temporelle basée sur le temps de grafana sur un champ temporel.
+ `$__toTimeFilter(<time_column>, <comparison_predicate>)`— Identique à ci-dessus, mais possibilité de spécifier comparison\$1predicate.
+ `$__toTimeFilter(<time_column>, <format>)`— Comme ci-dessus, mais possibilité de spécifier le format de la colonne de temps.
+ `$__toTimeFilter(<time_column>, <comparison_predicate>)`— Identique à ci-dessus, mais possibilité de spécifier comparison\$1predicate.
+ `$__timeGroup(<time_column>, <interval>)`— Étend la colonne de temps en groupes d'intervalles. Applicable aux colonnes date/timestamp/long temporelles.

**macro \$1\$1\$1timeFilter ()** <time\$1column>

L'exemple suivant explique la `$__timeFilter(<time_column>)` macro :

```
- In the following example, the query
select ts, temperature from weather where $__timeFilter(ts)
--- will be translated into
select ts, temperature from weather where ts > '2021-02-24T12:52:48Z' AND ts < '2021-03-24T12:52:48Z'
--- where you can see the grafana dashboard's time range is applied to the column ts in the query.
```

**macro \$1\$1\$1timeFilter (,)** <time\$1column><format>

Dans certains cas, les colonnes temporelles de la base de données sont stockées dans des formats personnalisés. L'exemple suivant explique la `$__timeFilter(<time_column>, <format>)` macro, qui permet de filtrer les horodatages personnalisés en fonction du sélecteur de temps de Grafana :

```
SELECT TO_TIMESTAMP("TS",'YYYYMMDDHH24MISS') AS METRIC_TIME , "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TS","YYYYMMDDHH24MISS") -- TS is in 20210421162012 format
SELECT TO_TIMESTAMP("TS",'YYYY-MON-DD') AS METRIC_TIME , "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TS","YYYY-MON-DD") -- TS is in 2021-JAN-15 format
```

Dans la macro, le format peut être l'un des formats HANA valides correspondant à votre colonne d'horodatage. Par exemple, `YYYYMMDDHH24MISS` est un format valide lorsque vos données sont stockées dans un `20210421162012` format.

**macro \$1\$1\$1timeFilter (, « époque »)** <time\$1column><format>

Dans certains cas, les horodatages sont stockés sous forme d'horodatages d'époque dans votre base de données. L'exemple suivant explique la `$__timeFilter(<time_column>, "epoch" <format>)` macro qui permet de filtrer les horodatages d'époque en fonction du sélecteur de temps de Grafana. Dans la macro, le format peut être ms, s ou ns. S'il n'est pas spécifié, s sera traité comme format par défaut.

```
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP") AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch") -- Example : TIMESTAMP field stored in epoch_second format 1257894000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP") AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","s") -- Example : TIMESTAMP field stored in epoch_second format 1257894000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ms") -- Example : TIMESTAMP field stored in epoch_ms format 1257894000000
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000000000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ns") -- Example : TIMESTAMP field stored in epoch_nanoseconds format 1257894000000000000
```

Au lieu d'utiliser le troisième argument du \$1\$1\$1timeFilter, vous pouvez utiliser l'un des arguments epoch\$1s, epoch\$1ms ou epoch\$1ns comme deuxième argument.

```
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch","ms")
-- is same as
SELECT ADD_SECONDS('1970-01-01', "TIMESTAMP"/1000) AS "METRIC_TIME", "VALUE" FROM "SCH"."TBL" WHERE $__timeFilter("TIMESTAMP","epoch_ms")
```

**Macros \$1\$1\$1 fromTimeFilter () et \$1\$1\$1 toTimeFilter ()**

La `$__fromTimeFilter()` macro s'étend à une condition sur un champ temporel en fonction du temps du sélecteur de temps de Grafana.

Cela accepte trois paramètres. Le premier paramètre est le nom du champ horaire. Vous pouvez passer comparison\$1predicate ou le format de la colonne de temps comme deuxième argument. Si vous souhaitez transmettre les deux, le format est le deuxième paramètre et utilisez comparison\$1predicate comme troisième paramètre.

****<format>Si le format n'est pas spécifié, le plugin supposera que la colonne de temps est de timestamp/date type. Si votre colonne d'heure est stockée dans un format autre que l'horodatage/la date, transmettez le format comme deuxième argument. <format>peut être l'un des formats epoch\$1s, epoch\$1ms, epoch\$1ns ou tout autre format personnalisé tel que. YYYY-MM-DD

****<comparison\$1predicate>paramètre optionnel. S'il n'est pas transmis, le plugin utilisera > comme prédicat de comparaison. <comparison\$1predicate>peut être l'un des suivants =, \$1 =, <>, <, <=, >, >=

`$__toTimeFilter()`fonctionne de la même manière que \$1\$1\$1 fromTimeFilter (). Au lieu d'utiliser Grafana de temps en temps, il l'utilisera au fil du temps. Le prédicat de comparaison par défaut sera également <.

**\$1\$1\$1timeGroup (,)** <time\$1column><interval> 

Par exemple, la macro \$1\$1\$1timeGroup (timecol,1h) est étendue à SERIES\$1ROUND (« timecol », « INTERVAL 1 HOUR ») dans la requête.

L'exemple suivant explique `$__timeGroup(<time_column>, <interval>) macro.`

```
SELECT $__timeGroup(timestamp,1h),  "user", sum("value") as "value"
FROM "salesdata"
WHERE $__timeFilter("timestamp")
GROUP BY $__timeGroup(timestamp,1h), "user"
ORDER BY $__timeGroup(timestamp,1h) ASC
```

Ceci est traduit dans la requête suivante où `$__timeGroup(timestamp,1h)` est développé en`SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR')`.

```
SELECT SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR') as "timestamp",  "user", sum("value") as "value"
FROM "salesdata"
WHERE "timestamp" > '2020-01-01T00:00:00Z' AND "timestamp" < '2020-01-01T23:00:00Z'
GROUP BY SERIES_ROUND("timestamp", 'INTERVAL 1 HOUR'), "user"
ORDER BY "timestamp" ASC
```

**Note**  
Lorsque vous utilisez la macro group by avec \$1\$1\$1timeGroup, assurez-vous que vos champs de sélection et de tri par portent le même nom que votre groupe par champ. Dans le cas contraire, HANA risque de ne pas reconnaître la requête.

Si vous ne voulez pas coder en dur l'intervalle dans la fonction \$1\$1\$1timeGroup (), vous pouvez laisser Grafana s'en charger en spécifiant \$1\$1\$1interval comme intervalle. Grafana calculera cet intervalle à partir de la plage de temps du tableau de bord. Exemple de requête :

```
SELECT $__timeGroup(timestamp, $__interval), sum("value") as "value"
FROM "salesdata"
WHERE $__timeFilter("timestamp")
GROUP BY $__timeGroup(timestamp, $__interval)
ORDER BY $__timeGroup(timestamp, $__interval) ASC
```

Cette requête est traduite dans la requête suivante en fonction de la plage horaire du tableau de bord.

```
SELECT SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE'), sum("value") as "value"
FROM "salesdata"
WHERE "timestamp" > '2019-12-31T23:09:14Z' AND "timestamp" < '2020-01-01T23:17:54Z'
GROUP BY SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE')
ORDER BY SERIES_ROUND("timestamp", 'INTERVAL 1 MINUTE') ASC
```

### Alerte
<a name="saphana-alerting"></a>

**Pour configurer une alerte SAP HANA dans Grafana**

1. Créez un panneau graphique dans votre tableau de bord.

1. Créez une requête SAP HANA au format de série chronologique.

1. Choisissez l'onglet **Alerte** et spécifiez les critères d'alerte.

1. Choisissez **Test Rule** pour tester la requête d'alerte.

1. Spécifiez les destinataires des alertes, les messages et le traitement des erreurs.

1. Enregistrez le tableau de bord.

#### Alertes sur les données autres que les séries chronologiques
<a name="saphana-alerting-nontimeseries"></a>

Pour émettre une alerte sur des données autres que des séries chronologiques, utilisez la `TO_TIMESTAMP('${__to:date}')` macro pour transformer des métriques autres que des séries chronologiques en séries chronologiques. Cela convertira votre métrique en une requête de série chronologique à point unique. Le format de la requête est indiqué ci-dessous

```
SELECT TO_TIMESTAMP('${__to:date}'),  <METRIC> FROM <TABLE≶ WHERE <YOUR CONDITIONS>
```

Dans l'exemple suivant, une table comporte quatre champs appelés nom d'utilisateur, âge, ville et rôle. Ce tableau ne contient aucun champ horaire. Nous voulons avertir lorsque le nombre d'utilisateurs ayant le rôle de développeur est inférieur à trois.

```
SELECT  TO_TIMESTAMP('${__to:date}'), count(*) as "count" FROM (
   SELECT 'John' AS "username", 32 AS "age", 'Chennai' as "city", 'dev' as "role" FROM dummy
   UNION ALL SELECT 'Jacob' AS "username", 32 AS "age", 'London' as "city", 'accountant' as "role" FROM dummy
   UNION ALL SELECT 'Ali' AS "username", 42 AS "age", 'Delhi' as "city", 'admin' as "role" FROM dummy
   UNION ALL SELECT 'Raja' AS "username", 12 AS "age", 'New York' as "city", 'ceo' as "role" FROM dummy
   UNION ALL SELECT 'Sara' AS "username", 35 AS "age", 'Cape Town' as "city", 'dev' as "role" FROM dummy
   UNION ALL SELECT 'Ricky' AS "username", 25 AS "age", 'London' as "city", 'accountant' as "role" FROM dummy
   UNION ALL SELECT 'Angelina' AS "username", 31 AS "age", 'London' as "city", 'cxo' as "role" FROM dummy
) WHERE "role" = 'dev'
```

# Se connecter à une source ServiceNow de données
<a name="grafana-enterprise-servicenow-datasource"></a>

Il s'agit de la source de ServiceNow données utilisée pour se connecter aux ServiceNow instances.

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Caractéristiques
<a name="features-1"></a>
+  Requêtes 
  +  Requêtes d'API Stat 
  +  Requêtes d'API de table 
    +  Incidents, modifications et tout autre tableau 
+  Alerts (Alertes) 
+  Annotations (fonctionnalité bêta) 
+  Variables du modèle 

## Configuration
<a name="configuration-2"></a>

 Sélectionnez les sources de données dans le panneau de gauche de Grafana. 

 Sélectionnez Ajouter une source de données : 

 Entrez **servicenow** pour trouver le plug-in de source de données : 

 Entrez ServiceNow l'URL : 

 Choisissez **Enregistrer et tester**. Vous devriez voir un message vert avec « ServiceNow  Connexion OK ». 

### Exemples de tableaux de bord
<a name="example-dashboards"></a>

 Des tableaux de bord prédéfinis sont inclus dans le plugin et peuvent être importés via la page de configuration de la source de données, sous l'onglet Tableaux de bord. 

## Usage
<a name="usage-2"></a>

 Il existe deux manières de renvoyer des données dans l'éditeur de requêtes. 
+  API de tableau 
+  API agrégée 

 Les utilisateurs peuvent actuellement choisir entre interroger des tables prédéfinies, telles que les suivantes : 
+  Modifications 
+  Incidents 

 Ou, à partir de`v1.4.0`, une liste de tables et de champs pilotée par l'API utilisant l'option **Autre (tableau personnalisé).** Cette option vous permet d'interroger les données figurant dans n'importe quelle table accessible à l'utilisateur utilisé pour configurer la source de ServiceNow données. 

 L'option **Tableau personnalisé** doit prendre en charge les mêmes fonctionnalités que les listes de tables prédéfinies. 

### Requêtes TableAPI
<a name="tableapi-queries"></a>

 La TableAPI renvoie des données pouvant être affichées dans un panneau de tableau. Il permet une sélection ordonnée des champs à afficher ainsi que des options de filtrage. L'éditeur de requêtes fournit également un champ pour limiter le nombre de lignes renvoyées par une requête. 

 Exemple de panneau de tableau affichant les résultats de la requête précédente. 

#### Afficher
<a name="show"></a>

 La ligne *Afficher* fournit un sélecteur pour un champ à afficher. Plusieurs champs peuvent également être spécifiés. Les champs seront renvoyés dans l'ordre exact indiqué. 

#### Afficher les valeurs
<a name="display-values"></a>

 L'indicateur *Afficher les valeurs* permet à la requête de renvoyer des valeurs adaptées aux humains, ou des valeurs d'affichage, au lieu de valeurs numériques. 

 Par exemple, une sévérité égale à l'`1`absence de cet indicateur s'affichera uniquement`1`. Si le drapeau est activé, la valeur affichée sera`1 - High`. 

 Selon la [documentation de l'ServiceNow API](https://developer.servicenow.com/dev.do#!/reference/api/orlando/rest/c_TableAPI), cela peut avoir un impact négatif sur les performances. 

**Note**  
 [...] la spécification de la valeur d'affichage peut entraîner des problèmes de performances car elle ne lit pas directement depuis la base de données et peut inclure le référencement d'autres champs et enregistrements. 

#### Filtres (généraux)
<a name="filters-general"></a>

 La ligne *Filtres* permet de réduire les lignes affichées en fonction de plusieurs critères de champ et de valeur. 

 Tous les filtres sont combinés avec une opération *AND* *ou OR*. 

 Les champs suivants sont disponibles lorsque vous n'utilisez pas de table personnalisée (cette liste s'étendra dans le futur).

```
Active
Asset
Group
Assigned To
Escalation
Issue Number
Description
Priority
State
Type
Change Risk
Change State
Start Date
End Date
On Hold
```

 Lorsque vous sélectionnez une table personnalisée, les champs sont automatiquement remplis à partir de l'API Service Now. 

##### Filtres de date
<a name="date-filters"></a>


|  Champ horaire  |  Opérateurs  |  Value  | 
| --- | --- | --- | 
|  Ouvert à  |  À ou avant aujourd'hui, pas aujourd'hui, avant, après, à ou après  |  horodatage javascript:GS. Il y a plusieurs jours (30)  | 
|  Activité due  |   |   | 
|  Fermé à  |   |   | 
|  Date d'échéance  |   |   | 
|  Début prévu  |   |   | 
|  Heure de réouverture  |   |   | 
|  Résolu à  |   |   | 
|  Fin du travail  |   |   | 
|  Début du travail  |   |   | 
|  Ignorer le temps  |   |   | 

 Pour des valeurs de date supplémentaires, voir : https://developer.servicenow.com/app.do\$1\$1/ api\$1doc ? v=NewYork&ID=R\$1SGSYS-DateGenerate\$1S\$1S 

##### Opérateurs (généraux, basés sur des chaînes)
<a name="operators-generalstring-based"></a>
+  Commence par 
+  Se termine par 
+  Comme 
+  Pas comme 
+  Égal à 
+  N’est pas égal à 
+  Est vide 

##### Opérateurs (basés sur le temps)
<a name="operators-time-based"></a>
+  Aujourd'hui 
+  Pas aujourd'hui 
+  Avant 
+  À ou avant 
+  Après 
+  À ou après 

##### Valeurs
<a name="values"></a>

 La sélection de la valeur dépend du type de filtre sélectionné. 
+  Les filtres booléens ont des options True/False 
+  Les filtres de texte permettent de saisir n'importe quelle valeur 
+  Escalade, Priority possède un ensemble fixe de valeurs numériques 

#### Trier par
<a name="sort-by"></a>

 La ligne *Trier par* permet de réduire les lignes affichées en fonction de plusieurs critères de champ et de valeur. 

 Tous les filtres sont combinés avec une opération *AND*. Support pour d'autres opérateurs sera ajouté. 

#### Limite
<a name="limit"></a>

 Une limite de lignes peut être spécifiée pour éviter de renvoyer trop de données. La valeur par défaut est 25. 

#### Champ horaire
<a name="time-field"></a>

 `Time Field`C'est ce qui transforme les données que vous avez demandées en séries chronologiques. Vos données étant traitées sous forme de séries chronologiques, les valeurs du « champ temporel » sélectionné qui ne se situent pas dans la plage de temps de votre tableau de bord/panneau ne seront pas affichées. 

 Le champ horaire par défaut utilisé est « Ouvert à », mais il peut être remplacé par n'importe quel champ disponible contenant une valeur horaire. 

 Une valeur spéciale « Ignorer le temps » est fournie pour autoriser les résultats « jusqu'à présent » et également pour permettre aux filtres de contrôler les données affichées. 

### Requêtes d'API agrégées (Stats)
<a name="aggregateapi-queries-stats"></a>

 L'AggregateAPI renverra toujours des métriques, avec les agrégations suivantes : avg, min, max, sum. Le filtrage est également disponible pour affiner les requêtes. 

#### Afficher
<a name="show-1"></a>

 La ligne *Afficher* fournit un sélecteur pour une métrique à afficher. Plusieurs métriques peuvent également être spécifiées. 

#### Filtres (généraux)
<a name="filters-general-1"></a>

 *Les filtres* d'agrégation permettent d'affiner les mesures affichées en fonction de critères de champ et de valeur, comme dans le cas de l'option table. 

 Tous les filtres sont combinés avec une opération *AND*. Support pour d'autres opérateurs sera ajouté. 

 Les options du filtre Stat sont les mêmes que celles de TableAPI. 

#### Agrégation
<a name="aggregation"></a>

 Il existe quatre types d'agrégations métriques, plus un « décompte » : 
+  Moyenne 
+  Minimum 
+  Maximum 
+  Somme 
+  Nombre : renvoie le « nombre » de métriques renvoyées par une requête 

##### Grouper par
<a name="group-by"></a>

 Ce sélecteur permet de diviser les métriques en agrégats de moindre importance. Le regroupement par « priorité » renverrait les métriques avec un « tag » de priorité et les valeurs uniques séparées. 

### Création de modèles
<a name="templating-2"></a>

 Au lieu de coder en dur les noms dans vos requêtes, vous pouvez utiliser des variables à leur place. Les variables sont affichées sous forme de boîtes de sélection déroulantes en haut du tableau de bord. Vous pouvez utiliser ces listes déroulantes pour modifier les données affichées sur votre tableau de bord. 

 Consultez l'exemple de la section **Variable de requête** pour savoir comment ajouter une variable de requête et y faire référence avec une valeur de modèle. 

#### Variable de requête
<a name="query-variable"></a>

 Si vous ajoutez une variable de modèle de ce type`Query`, vous pouvez écrire une requête qui peut renvoyer des éléments tels que des noms de catégories, des noms de clés ou des valeurs clés affichées sous forme de zone de sélection déroulante. 

 Par exemple, vous pouvez avoir une variable contenant toutes les valeurs de `categories` en spécifiant une requête comme celle-ci dans le paramètre *Query* de la variable de modèle. 

 Lorsque vous choisissez le paramètre **Requête**, une section **Filtre** s'affiche, vous permettant de choisir un **type** et un **champ**. Actuellement, le **type** est limité aux incidents et aux modifications. Lorsque vous sélectionnez un type, une liste de champs applicables à ce type vous est fournie. Une fois qu'un **type** et un **champ** sont sélectionnés, un aperçu des valeurs s'affiche en bas, indiquant les options disponibles pour ce type/champ. Ces valeurs seront affichées dans une liste déroulante sur le tableau de bord, que vous pourrez utiliser avec Templating pour filtrer les données sur les panneaux de votre tableau de bord. 

 Par exemple, si vous ajoutez une variable nommée *catégorie* puis sélectionnez Type = Incidents et Champ = Catégorie, vous verrez une liste d'options pour Catégorie. Si vous ajoutez ensuite un filtre à un panneau et que vous sélectionnez Catégorie égale à \$1 \$1category\$1, les données du panneau n'afficheront que les données de la catégorie sélectionnée dans la liste déroulante du tableau de bord. 

 Importez le tableau de bord **Incidents par catégorie** pour voir un exemple. 

#### Utilisation de variables dans les requêtes
<a name="using-variables-in-queries"></a>

 Il existe deux syntaxes : 

 `$<varname>`Exemple avec une variable de modèle nommée `hostname` : 

 `[[varname]]`Exemple avec une variable de modèle nommée `hostname` : 

## Alerte
<a name="servicenow-alerting"></a>

 Les alertes Grafana standard sont prises en charge. Toutes les requêtes définies dans un panneau graphique peuvent être utilisées pour générer des alertes. 

 Voici un exemple de requête et d'alerte. Cette requête renverra un graphique de tous les incidents critiques hautement prioritaires ouverts : 

 Cette alerte sera déclenchée lorsqu'il y aura plus de cinq incidents critiques hautement prioritaires ouverts : 

 Le test de la règle d'alerte affichera le résultat de la règle d'alerte, et la sélection de l'historique de l'état indiquera que l'alerte passe de OK à En attente puis d'alerte. 

 La vue graphique affichera une ligne verticale et l'icône en forme de cœur en haut deviendra orange pendant que l'alerte est en attente. 

 Une fois que les critères d'alerte sont remplis, la règle passe au rouge.

 Dans la vue graphique, la ligne verticale rouge apparaît et l'icône en forme de cœur en haut devient rouge. 

### Rédaction d'incidents pour les alertes
<a name="writing-incidents-for-alerts"></a>

 **Fonctionnalité bêta** 
+  Configurez un canal de notification pour votre source de ServiceNow données. 

 Cela configurera un [canal de notification Grafana](https://grafana.com/docs/grafana/latest/alerting/notifications/) qui utilise votre utilisateur configuré pour créer des incidents sur l' ServiceNow instance pour cette source de données. 

 Cette action nécessite que l'utilisateur de la source de ServiceNow données soit autorisé à écrire des incidents. 

## Annotations
<a name="annotations-1"></a>

 Les annotations Grafana sont une **fonctionnalité bêta** de cette source `v1.4.0` de données. Les annotations vous permettent de superposer des événements sur des graphiques. 

 La requête Annotations prend en charge les mêmes options que l'éditeur de requêtes standard, à quelques différences mineures près : 
+  Une seule colonne « Afficher » est sélectionnable. Cela sera probablement corrigé dans une future amélioration. 
+  Le champ horaire est obligatoire. 

## FAQ
<a name="faq-1"></a>

### Et si nous n'avons pas le plugin ITSM Roles ?
<a name="what-if-we-dont-have-the-itsm-roles-plugin"></a>

 **L'accès administrateur est requis pour effectuer les actions suivantes** 

 Option 1 : accordez aux utilisateurs de Grafana des autorisations d'administrateur pour autoriser l'accès à toutes les tables. 

 Option 2 : créer un rôle et l'appliquer ACLs à toutes les tables auxquelles Grafana doit accéder.

 L'accès administrateur est requis pour effectuer les actions suivantes.

1.  L'administrateur connecté doit élever l'accès à security\$1admin.

   1.  Dans le volet de navigation en haut à droite, choisissez l'icône du profil. L'icône de profil comporte un indicateur de curseur déroulant. 

   1.  Dans la liste déroulante, choisissez **Elevate Roles.** 

   1.  Dans le modal affiché, cochez la case **security\$1admin**.

   1.  Choisissez OK. 

1. Créez un nouveau rôle avec la convention de dénomination de votre choix.

   1.  Accédez à la section des rôles dans le menu de navigation de gauche Sécurité du système => Utilisateurs et groupes => Rôles 

   1.  Choisissez **Nouveau** en haut.

   1.  Entrez un nom pour le rôle et une description appropriée. 

   1.  Sélectionnez **Soumettre**. 

1.  Créez un nouvel utilisateur ou modifiez un utilisateur existant avec les rôles nécessaires. 

   1.  Le rôle que vous créez à l'étape 2 

   1.  personnaliser\$1dictionnaire\$1 

   1.  personnaliser\$1choix\$1 

   1.  cmdb\$1read (cela accordera un accès en lecture à toutes les tables cmdb) 

1.  Créez une table ACLs pour les tables et les champs requis. 

   1.  Créez une ACL pour la table sys\$1db\$1object. 

     1.  Dans la deuxième colonne d'en-tête de recherche **Nom****sys\$1db\$1object**, entrez et appuyez sur **Entrée**. 

     1.  Le résultat filtré doit afficher le **tableau**. Choisissez **Table** pour accéder à l'enregistrement. 

     1.  Dans l'onglet, choisissez **Controls**.

     1.  Dans la partie inférieure de la page, assurez-vous que **l'onglet Contrôle d'accès** est sélectionné. 

     1.  Choisissez **Nouveau** pour créer une nouvelle ACL. 

     1.  Modifiez la sélection **d'opération** pour lire. 

     1.  Dans la section **Rôle requis** dans la partie inférieure de l'écran, choisissez (double-cliquez) **Insérer une nouvelle ligne** et recherchez le rôle que vous avez créé. 

     1. Après avoir sélectionné le rôle que vous avez créé, cochez la case verte. 

     1.  Choisissez **Soumettre** dans la partie inférieure de l'écran pour créer l'ACL, puis choisissez **Continuer** lorsque le modal apparaît. 

1.  Créez ACLs pour des champs sys\$1db\$1object spécifiques. Les étapes suivantes doivent être répétées pour chacun des champs suivants : nom, étiquette, nom d'affichage et table étendue. 

   1.  Pendant que vous êtes toujours dans la vue des enregistrements de table pour sys\$1db\$1object, sélectionnez l'onglet **Colonnes** dans le groupe d'onglets le plus proche en haut de l'écran.

   1.  Localisez le nom du champ et sélectionnez-le. 

   1.  Dans l'onglet inférieur, choisissez **Nouveau** dans l'onglet **Contrôles d'accès**. 

   1.  Modifier l'opération pour lire 

   1.  Choisissez (double-cliquez) d'insérer une ligne de texte dans le tableau « Rôle requis » inférieur. 

   1.  Recherchez le rôle que vous avez créé, puis cochez la case verte. 

   1.  Sélectionnez **Soumettre**. 

   1.  Assurez-vous d'avoir répété ces étapes pour tous les champs obligatoires : nom, étiquette, nom d'affichage et table étendue. 

1.  Répétez les étapes de la version 4.1 pour les tables Change, Incident et toutes les autres tables non CMDB que vous souhaitez interroger depuis Grafana. Ne répétez pas les étapes de la version 4.2 ; cette étape n'est requise que pour sys\$1db\$1object. 

# Connectez-vous à une source de données Snowflake
<a name="snowflake-datasource-for-AMG"></a>

 Avec la source de données Snowflake Enterprise, vous pouvez visualiser vos données Snowflake à côté de toutes vos autres sources de données dans Grafana, ainsi que les données de log et de métrique dans leur contexte. Cette source de données inclut un puissant éditeur de requêtes à saisie anticipée, prend en charge les annotations complexes, définit des seuils d'alerte, contrôle l'accès et les autorisations, etc. 

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Présentation de
<a name="snowflake-overview"></a>

### Qu'est-ce que Snowflake ?
<a name="what-is-snowflake"></a>

 Snowflake propose un service de stockage et d'analyse de données basé sur le cloud, généralement appelé « données warehouse-as-a-service », qui offre une solution pour l'entreposage de données, les lacs de données, l'ingénierie des données, la science des données, le développement d'applications de données et le partage de données. Au cours des dernières années, Snowflake a gagné en popularité en raison de sa capacité à stocker et à analyser des données à un prix abordable à l'aide de matériel et de logiciels basés sur le cloud ; elle a récemment atteint son apogée avec la plus grande introduction en bourse de logiciels jamais réalisée. Aujourd'hui, de nombreuses entreprises utilisent Snowflake comme base de données principale pour stocker des données applicatives et commerciales telles que le nombre de transactions, les sessions utilisateur actives et même les séries chronologiques et les données métriques. 

### Tirer le meilleur parti de Snowflake et Amazon Managed Grafana
<a name="making-the-most-of-snowflake-and-AMG"></a>

 **Visualisez les données Snowflake sans les déplacer : l'**architecture unique de Grafana interroge les données directement là où elles se trouvent plutôt que de les déplacer et de payer pour un stockage et une ingestion redondants. 

 **Composez des panneaux à partir de sources variées :** grâce à des tableaux de bord prédéfinis et personnalisés, regroupez des données provenant de nombreuses sources de données différentes dans un seul panneau de verre. 

 **Transformation et calcul au niveau de l'utilisateur** : les utilisateurs peuvent transformer les données et exécuter divers calculs sur les données qu'ils consultent, ce qui nécessite moins de préparation des données. 

 **Combinez, calculez et visualisez dans des panneaux** : créez des panneaux de sources de données mixtes qui affichent des données connexes provenant de Snowflake et d'autres sources. 

### Caractéristiques
<a name="snowflake-features"></a>

 Éditeur de **requêtes : l'éditeur** de requêtes est un éditeur d'autocomplétion SQL intelligent qui vous permet de visualiser des séries chronologiques ou des données de tables, de gérer les erreurs de syntaxe SQL et de compléter automatiquement les mots clés SQL de base. 

 **Autorisations relatives aux sources de données** : contrôlez qui peut afficher ou interroger les données Snowflake dans Grafana 

 **Annotations :** Superposez les événements Snowflake sur n'importe quel graphe Grafana, pour corréler les événements avec d'autres données du graphique 

 **Alertes : définissez des** alertes basées sur des banques de statistiques dans Snowflake 

 **Variables pour les requêtes :** créez des variables de modèle dans Grafana à partir des données Snowflake, et incluez des variables dans les requêtes Snowflake pour créer des tableaux de bord interactifs. 

 **Requêtes multimétriques :** écrivez une seule requête qui renvoie plusieurs métriques, chacune dans sa propre colonne 

## Commencez avec le plugin Snowflake
<a name="get-started-with-the-snowflake-plugin"></a>

 Voici cinq étapes rapides pour démarrer avec le plugin Snowflake dans Grafana : 

### Étape 1 : configurer la source de données Snowflake
<a name="set-up-the-snowflake-data-source"></a>

 Pour configurer la source de données, choisissez **Configuration**, **Sources de données**, **Ajouter une source de données**, Snowflake. 

 Ajoutez vos informations d'authentification et la source de données est prête à être consultée \$1 

 Les champs de configuration suivants sont disponibles. 


|  Nom  |  Description  | 
| --- | --- | 
|  Compte  |  Compte pour Snowflake.  | 
|  Nom d’utilisateur  |  Nom d'utilisateur du compte de service.  | 
|  Mot de passe  |  Mot de passe du compte de service.  | 
|  Schéma (facultatif)  |  Définit un schéma par défaut pour les requêtes.  | 
|  Entrepôt (facultatif)  |  Définit un entrepôt par défaut pour les requêtes.  | 
|  Base de données (facultatif)  |  Définit une base de données par défaut pour les requêtes.  | 
|  Rôle (facultatif)  |  Assume un rôle pour les requêtes.  | 

### Étape 2 : Rédiger des requêtes pour vos données Snowflake
<a name="write-queries-for-your-snowflake-data"></a>

 Créez un panneau dans un tableau de bord et sélectionnez une source de données Snowflake pour commencer à utiliser l'éditeur de requêtes. 
+  La date et l'heure peuvent apparaître n'importe où dans la requête tant qu'elles sont incluses. 
+  Une colonne numérique doit être incluse. Il peut s'agir d'une agrégation ou d'une int/float colonne. 
+  Vous pouvez éventuellement inclure des colonnes de chaîne pour créer des séries de données distinctes, si les données de vos séries chronologiques sont mises en forme pour différentes mesures. 

#### Disposition d'une requête Snowflake
<a name="layout-of-a-snowflake-query"></a>

```
select
  <time_column>,
  <any_numerical_column>
  <other_column_1>,
  <other_column_2>,
  <...>
from
  <any_table>
where
  $__timeFilter(<time_column>) // predefined where clause for time range
  and $<custom_variable> = 1 // custom variables start with dollar sign
```

#### Format de requête SQL pour les séries chronologiques groupées par intervalle
<a name="sql-query-format-for-timeseries-group-by-interval"></a>

```
select
  $__timeGroup(created_ts, '1h'), // group time by interval of 1h
  <time_column>, 
  <any_numerical_column>,
  <metric_column>
from
  <any_table>
where
  $__timeFilter(<time_column>) // predefined where clause for time range
  and $<custom_variable> = 1 // custom variables start with dollar sign
group by <time_column>
```

#### Format de requête SQL pour les tables
<a name="sql-query-format-for-tables"></a>

```
select
  <time_column>, // optional if result format option is table
  <any_column_1>
  <any_column_2>
  <any_column_3>
from
  <any_table>
where
  $__timeFilter(time_column) // macro for time range, optional if format as option is table
  and $<custom_variable> = 1 // custom variables start with dollar sign
```

### Étape 3 : Création et utilisation de variables de modèle
<a name="snowflake-create-and-use-template-variables"></a>

#### Utilisation de variables de modèle
<a name="snowflake-using-template-variables-1"></a>

 Vous pouvez inclure des variables de modèle dans les requêtes, comme illustré dans l'exemple suivant. 

```
 select
   <column>
 from 
   <table>
 WHERE column >= '$variable'
```

 L'exemple suivant montre l'utilisation de variables à valeurs multiples dans une requête. 

```
select
  <column>
from 
  <table>
WHERE <column> regexp '${variable:regex}'
```

#### Utilisation de la source de données Snowflake pour créer des variables
<a name="using-the-snowflake-datasource-to-create-variables"></a>

 Dans les paramètres du tableau de bord, choisissez **Variables**, puis **Nouveau**. 

 À l'aide du type de variable « Requête », sélectionnez la source de données Snowflake comme « Source de données ». 

**Important**  
 Assurez-vous de ne sélectionner qu'une seule colonne dans votre requête variable. 

 Exemple : 

```
SELECT DISTINCT query_type from account_usage.query_history;
```

 vous donnera ces variables : 

```
All DESCRIBE USE UNKNOWN GRANT SELECT CREATE DROP SHOW
```

### Étape 4 : configurer une alerte
<a name="snowflake-set-up-an-alert"></a>

 Vous pouvez définir des alertes sur des métriques spécifiques de Snowflake ou sur des requêtes que vous avez créées. 

 Cliquez sur le bouton de l'onglet d'alerte dans l'éditeur de requêtes, puis sélectionnez **Créer une alerte**. 

### Étape 5. Création d'une annotation
<a name="snowflake-create-an-annotation"></a>

 Les annotations vous permettent de superposer des événements sur un graphique. 

 Pour créer une annotation, dans les paramètres du tableau de bord, choisissez **Annotations** et **Nouveau**, puis sélectionnez Snowflake comme source de données. 

 Les annotations étant des événements, elles nécessitent au moins une colonne temporelle et une colonne pour décrire l'événement. 

 L'exemple de code suivant montre une requête pour annoter toutes les connexions échouées à Snowflake. 

```
SELECT
  EVENT_TIMESTAMP as time,
  EVENT_TYPE,
  CLIENT_IP
FROM ACCOUNT_USAGE.LOGIN_HISTORY
WHERE $__timeFilter(time) AND IS_SUCCESS!='YES'
ORDER BY time ASC;
```

 Et 
+  heure : `TIME` 
+  titre : `EVENT_TYPE` 
+  texte : `CLIENT_IP` 

 Cela superposera les annotations de toutes les connexions échouées à Snowflake sur les panneaux de votre tableau de bord. 

## Fonctionnalités supplémentaires
<a name="additional-functionality"></a>

### Utilisation du champ Nom d'affichage
<a name="snowflake-using-display-name"></a>

 Ce plugin utilise le champ Nom d'affichage dans l'onglet Champ du panneau Options pour raccourcir ou modifier une clé de légende en fonction de son nom, de ses étiquettes ou de ses valeurs. D'autres sources de données utilisent des `alias` fonctionnalités personnalisées pour modifier les clés de légende, mais la fonction Nom d'affichage est un moyen plus cohérent de le faire. 

### Autorisations relatives aux sources de données
<a name="snowflake-data-source-permissions"></a>

 Limitez l'accès à Snowflake en choisissant l'onglet **Autorisations** sur la page de configuration de la source de données pour activer les autorisations de source de données. Sur la page des autorisations, les administrateurs peuvent activer les autorisations et restreindre les autorisations de requête à des utilisateurs et à des équipes spécifiques. 

### Comprenez vos données de facturation et d'utilisation de Snowflake
<a name="understand-your-snowflake-billing-and-usage-data"></a>

 Dans la source de données Snowflake, vous pouvez importer un tableau de bord de facturation et d'utilisation qui affiche des informations utiles sur la facturation et l'utilisation. 

 Ajoutez le tableau de bord dans la page de configuration de la source de données Snowflake : 

 Ce tableau de bord utilise la base de données ACCOUNT\$1USAGE et nécessite que le demandeur ait le rôle ACCOUNTADMIN. Pour le faire en toute sécurité, créez une nouvelle source de données Grafana dont l'utilisateur possède le rôle ACCOUNTADMIN. Sélectionnez ensuite cette source de données dans les variables. 

# Connect à une source de données Splunk
<a name="splunk-datasource"></a>

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Configuration
<a name="splunk-configuration-3"></a>

### Configuration de source de données
<a name="splunk-data-source-config"></a>

 Lorsque vous configurez la source de données, assurez-vous que le champ URL utilise le port Splunk que vous avez configuré `https` et pointe vers celui-ci. Le point d'API Splunk par défaut est 8089, et non 8000 (il s'agit du port d'interface utilisateur Web par défaut). Activez l'*authentification de base et spécifiez le* nom d'utilisateur et le mot de passe Splunk. 

#### Mode d'accès (direct) au navigateur et CORS
<a name="splunk-browser-direct-access-mode-and-cors"></a>

 Amazon Managed Grafana ne prend pas en charge l'accès direct par navigateur à la source de données Splunk. 

### Options avancées
<a name="splunk-advanced-options"></a>

#### Mode diffusion
<a name="stream-mode"></a>

 Activez le mode streaming si vous souhaitez obtenir les résultats de recherche dès qu'ils sont disponibles. Il s'agit d'une fonctionnalité expérimentale, ne l'activez pas tant que vous n'en avez pas vraiment besoin. 

#### Résultat du sondage
<a name="splunk-poll-result"></a>

 Lancez la recherche, puis vérifiez régulièrement le résultat. Sous le capot, cette option exécute un appel d'`search/jobs`API avec `exec_mode` défini sur`normal`. Dans ce cas, la demande d'API renvoie le SID de la tâche, puis Grafana vérifie l'état de la tâche de temps en temps afin d'obtenir le résultat de la tâche. Cette option peut être utile pour les requêtes lentes. Par défaut, cette option est désactivée et Grafana définit `oneshot` ce qui permet `exec_mode` de renvoyer le résultat de la recherche dans le même appel d'API. Pour en savoir plus sur le point de terminaison de `search/jobs` l'API, consultez la [documentation Splunk](https://docs.splunk.com/Documentation/Splunk/latest/RESTREF/RESTsearch#search.2Fjobs). 

#### Intervalle d'interrogation de recherche
<a name="splunk-search-polling-interval"></a>

 Cette option permet d'ajuster la fréquence à laquelle Amazon Managed Grafana interroge Splunk pour obtenir des résultats de recherche. C'est l'heure du prochain sondage, en choisissant au hasard parmi l'intervalle [min, max)]. Si vous effectuez de nombreuses recherches intensives, il est judicieux d'augmenter ces valeurs. Conseils : augmentez le *minimum* si l'exécution des tâches de recherche prend du temps, et le *maximum* si vous effectuez de nombreuses recherches parallèles (beaucoup de statistiques Splunk sur le tableau de bord Grafana). L'intervalle par défaut est [500, 3000] millisecondes. 

#### Annulation automatique
<a name="auto-cancel"></a>

 Si cette option est spécifiée, la tâche est automatiquement annulée après ces nombreuses secondes d'inactivité (0 signifie qu'il ne faut jamais annuler automatiquement). La valeur par défaut est 30. 

#### Buckets de statut
<a name="status-buckets"></a>

 Le plus grand nombre de compartiments de statut à générer. 0 indique qu'il ne faut pas générer d'informations chronologiques. La valeur par défaut est 300. 

#### Mode de recherche de champs
<a name="splunk-fields-search-mode"></a>

 Lorsque vous utilisez l'éditeur de requêtes visuel, la source de données tente d'obtenir la liste des champs disponibles pour le type de source sélectionné. 
+  rapide - utilise le premier résultat disponible depuis l'aperçu 
+  complet - attendez la fin du travail et obtenez le résultat complet. 

#### Heure la plus proche par défaut
<a name="default-earliest-time"></a>

 Certaines recherches ne peuvent pas utiliser la plage horaire du tableau de bord (comme les requêtes de variables de modèle). Cette option permet d'empêcher toute recherche permanente, ce qui peut ralentir Splunk. La syntaxe est un entier et une unité de temps`[+|-]<time_integer><time_unit>`. Par exemple `-1w`. [L'unité de temps](https://docs.splunk.com/Documentation/Splunk/latest/Search/Specifytimemodifiersinyoursearch) peut être`s, m, h, d, w, mon, q, y`. 

#### Mode de recherche de variables
<a name="splunk-variables-search-mode"></a>

 Mode de recherche pour les requêtes de variables de modèle. Valeurs possibles : 
+  rapide - Découverte des champs désactivée pour les recherches d'événements. Aucune donnée d'événement ou de champ pour les recherches de statistiques. 
+  smart - La découverte de champs est activée pour les recherches d'événements. Aucune donnée d'événement ou de champ pour les recherches de statistiques. 
+  verbose - Toutes les données relatives aux événements et aux champs. 

## Usage
<a name="splunk-usage-5"></a>

### Éditeur de requêtes
<a name="splunk-query-editor-2"></a>

#### Modes de l'éditeur
<a name="splunk-editor-modes"></a>

 L'éditeur de requêtes prend en charge deux modes : brut et visuel. Pour passer d'un mode à l'autre, choisissez l'icône du hamburger sur le côté droit de l'éditeur et sélectionnez *Basculer en mode éditeur*. 

#### Mode brut
<a name="raw-mode"></a>

 Utilisez `timechart` la commande pour les données de séries chronologiques, comme indiqué dans l'exemple de code suivant. 

```
index=os sourcetype=cpu | timechart span=1m avg(pctSystem) as system, avg(pctUser) as user, avg(pctIowait) as iowait
index=os sourcetype=ps | timechart span=1m limit=5 useother=false avg(cpu_load_percent) by process_name
```

 Les requêtes prennent en charge les variables de modèle, comme illustré dans l'exemple suivant. 

```
sourcetype=cpu | timechart span=1m avg($cpu)
```

 N'oubliez pas que Grafana est une application axée sur les séries chronologiques et que votre recherche doit renvoyer des données de séries chronologiques (horodatage et valeur) ou une valeur unique. Vous pouvez en savoir plus sur la commande [timechart](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Timechart) et trouver d'autres exemples de recherche dans le document de référence officiel de [Splunk](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/WhatsInThisManual) Search 

#### Splunk Metrics et `mstats`
<a name="splunk-metrics-and-mstats"></a>

 Splunk 7.x fournit une `mstats` commande pour analyser les métriques. Pour que les graphiques fonctionnent correctement`mstats`, ils doivent être combinés avec une `timeseries` commande et `prestats=t` une option doivent être définies. 

```
Deprecated syntax:
| mstats prestats=t avg(_value) AS Value WHERE index="collectd" metric_name="disk.disk_ops.read" OR metric_name="disk.disk_ops.write" by metric_name span=1m
| timechart avg(_value) span=1m by metric_name

Actual:
| mstats prestats=t avg(disk.disk_ops.read) avg(disk.disk_ops.write) WHERE index="collectd" by metric_name span=1m
| timechart avg(disk.disk_ops.read) avg(disk.disk_ops.write) span=1m
```

 Pour en savoir plus sur les `mstats` commandes, consultez le [document Splunk Search Reference](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Mstats). 

#### Formater comme
<a name="format-as"></a>

 Deux modes de format de résultat sont pris en charge : *Série chronologique* (par défaut) et *Tableau*. Mode tableau adapté à une utilisation avec le panneau Tableau lorsque vous souhaitez afficher des données agrégées. Cela fonctionne avec les événements bruts (renvoie tous les champs sélectionnés) et la fonction `stats` de recherche, qui renvoie des données de type tableau. Exemples : 

```
index="os" sourcetype="vmstat" | fields host, memUsedMB
index="os" sourcetype="ps" | stats avg(PercentProcessorTime) as "CPU time", latest(process_name) as "Process", avg(UsedBytes) as "Memory" by PID
```

 Le résultat est similaire à celui de l'onglet *Statistiques* de l'interface utilisateur de Splunk.

 Pour en savoir plus sur l'utilisation des `stats` fonctions, consultez [Splunk Search Reference](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/Stats). 

#### Mode visuel
<a name="splunk-visual-mode"></a>

Ce mode permet step-by-step de créer des recherches. Notez que ce mode crée une recherche `timechart` Splunk. Sélectionnez simplement l'index, le type de source et les métriques, et définissez le fractionnement par champs si vous le souhaitez. 

##### Métrique
<a name="splunk-metric"></a>

 Vous pouvez ajouter plusieurs indicateurs à rechercher en cliquant sur le bouton *Plus* sur le côté droit de la ligne des indicateurs. L'éditeur de mesures contient la liste des agrégations fréquemment utilisées, mais vous pouvez spécifier ici n'importe quelle autre fonction. Choisissez simplement un segment agg (`avg`par défaut) et saisissez ce dont vous avez besoin. Sélectionnez le champ intéressé dans la liste déroulante (ou saisissez-le) et définissez un alias si vous le souhaitez. 

##### Séparé par et où
<a name="split-by-and-where"></a>

 Si vous définissez Fractionner par champ et que vous utilisez *le mode Série chronologique*, l'éditeur Where sera disponible. Choisissez *plus* et sélectionnez l'opérateur, l'agrégation et la valeur, par exemple *Where avg in top 10*. Notez que cette clause *Where* fait partie de *Split by*. Pour en savoir plus, consultez [Timechart Docs](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart#where_clause). 

#### Options
<a name="splunk-options"></a>

 Pour modifier les options du diagramme chronologique par défaut, choisissez **Options** sur la dernière ligne.

Pour en savoir plus sur ces options, consultez la [documentation du chronogramme](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/timechart). 

#### Recherche Splunk rendue
<a name="rendered-splunk-search"></a>

 Choisissez la lettre cible sur la gauche pour réduire l'éditeur et afficher la recherche Splunk rendue. 

### Annotations
<a name="splunk-annotations-2"></a>

Utilisez des annotations si vous souhaitez afficher les alertes ou les événements Splunk sur un graphique. L'annotation peut prendre la forme d'une alerte Splunk prédéfinie ou d'une recherche Splunk classique. 

#### Alerte Splunk
<a name="splunk-alert"></a>

 Spécifiez un nom d'alerte ou laissez le champ vide pour obtenir toutes les alertes déclenchées. Les variables de modèle sont prises en charge. 

#### Recherche Splunk
<a name="splunk-search"></a>

 Utilisez Splunk Search pour obtenir les événements nécessaires, comme illustré dans l'exemple suivant. 

```
index=os sourcetype=iostat | where total_ops > 400
index=os sourcetype=iostat | where total_ops > $io_threshold
```

 Les variables de modèle sont prises en charge. 

 L'option **Champ d'événement sous forme de texte** convient si vous souhaitez utiliser la valeur du champ comme texte d'annotation. L'exemple suivant montre le texte des messages d'erreur provenant des journaux. 

```
Event field as text: _raw
Regex: WirelessRadioManagerd\[\d*\]: (.*)
```

 Regex permet d'extraire une partie du message. 

### Variables du modèle
<a name="splunk-template-variables"></a>

 La fonctionnalité des variables de modèle prend en charge les requêtes Splunk qui renvoient une liste de valeurs, par exemple avec une `stats` commande. 

```
index=os sourcetype="iostat" | stats values(Device)
```

 Cette requête renvoie la liste des valeurs des `Device` champs à partir de `iostat` la source. Vous pouvez ensuite utiliser ces noms de périphériques pour les requêtes de séries chronologiques ou les annotations. 

 Il existe deux types de requêtes variables pouvant être utilisées dans Grafana. La première est une requête simple (telle que présentée précédemment), qui renvoie une liste de valeurs. Le second type est une requête qui permet de créer une key/value variable. La requête doit renvoyer deux colonnes nommées `_text` et`_value`. La valeur de la `_text` colonne doit être unique (si elle ne l'est pas, c'est la première valeur qui est utilisée). Les options de la liste déroulante comporteront un texte et une valeur afin que vous puissiez avoir un nom convivial sous forme de texte et un identifiant comme valeur. 

 Par exemple, cette recherche renvoie un tableau avec des colonnes `Name` (nom du conteneur Docker) et `Id` (identifiant du conteneur). 

```
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id
```

 Pour utiliser le nom du conteneur comme valeur visible pour la variable et l'identifiant comme valeur réelle, la requête doit être modifiée, comme dans l'exemple suivant. 

```
source=docker_inspect | stats count latest(Name) as Name by Id | table Name, Id | rename Name as "_text", Id as "_value"
```

#### Variables à valeurs multiples
<a name="splunk-multi-value-variables"></a>

 Il est possible d'utiliser des variables à valeurs multiples dans les requêtes. Une recherche interpolée dépendra du contexte d'utilisation variable. Le plugin prend en charge un certain nombre de ces contextes. Supposons qu'il existe une variable `$container` avec des valeurs sélectionnées `foo` et que `bar` : 
+  Filtre de base pour la `search` commande 

  ```
  source=docker_stats $container
  =>
  source=docker_stats (foo OR bar)
  ```
+  Filtre de valeur de champ 

  ```
  source=docker_stats container_name=$container
  =>
  source=docker_stats (container_name=foo OR container_name=bar)
  ```
+  Filtre de valeur de champ avec `IN` opérateur et fonction `in()` 

  ```
  source=docker_stats container_name IN ($container)
  =>
  source=docker_stats container_name IN (foo, bar)
  
  source=docker_stats | where container_name in($container)
  =>
  source=docker_stats | where container_name in(foo, bar)
  ```

#### Variables à valeurs multiples et guillemets
<a name="multi-value-variables-and-quotes"></a>

 Si une variable est placée entre guillemets (doubles ou simples), ses valeurs seront également entre guillemets, comme dans l'exemple suivant. 

```
source=docker_stats container_name="$container"
=>
source=docker_stats (container_name="foo" OR container_name="bar")

source=docker_stats container_name='$container'
=>
source=docker_stats (container_name='foo' OR container_name='bar')
```

# Connectez-vous à une source de données de surveillance de l'infrastructure Splunk
<a name="AMG-datasource-splunkinfra"></a>

Fournit un support pour la surveillance de l'infrastructure Splunk (anciennement SignalFx).

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Ajouter la source de données
<a name="bigquery-adding-the-data-source"></a>

1.  Ouvrez la console Grafana dans l'espace de travail Amazon Managed Grafana et assurez-vous que vous êtes connecté. 

1.  Dans le menu latéral, sous **Configuration** (icône en forme de roue dentée), choisissez **Sources de données**. 

1.  Choisissez **Add data source**. 
**Note**  
 Si le lien **Sources de données** n'apparaît pas dans le menu latéral, cela signifie que votre utilisateur actuel n'a pas le `Admin` rôle. 

1.  Sélectionnez **Splunk Infrastructure Monitoring** dans la liste des sources de données. 

1. Entrez les informations suivantes :
   + Pour le **jeton d'accès**, entrez le jeton généré par votre SignalFx compte. Pour plus d'informations, consultez la section [Jetons d'authentification](https://docs.signalfx.com/en/latest/admin-guide/tokens.html).
   + **Realm** Un déploiement autonome qui héberge votre organisation. Vous pouvez trouver le nom de votre domaine sur votre page de profil lorsque vous êtes connecté à l'interface SignalFx utilisateur.

## Utilisation de l’éditeur de requêtes
<a name="splunkinfra-query"></a>

L'éditeur de requêtes accepte un [ SignalFlow](https://dev.splunk.com/observability/docs/signalflow/)programme/une requête.

Pour les étiquettes, une étiquette Signalflow `publish(label = 'foo')` est appliquée sous forme de métadonnées aux résultats : **« label » « foo »**

Pour les variables de modèle de type de requête, il n'existe aucun champ de **requête**. Vous devez plutôt sélectionner l'un des types de requêtes suivants :
+ Dimensions
+ Métriques
+ Étiquettes

Les filtres ad hoc sont pris en charge, ce qui permet des filtres globaux utilisant des dimensions.

Les annotations Grafana sont prises en charge. Lorsque vous créez des annotations, utilisez les requêtes SignalFlow Alerts ou Events.

Exemple de réception d'alertes pour un détecteur :

```
alerts(detector_name='Deployment').publish();
```

Exemple d'obtention d'événements personnalisés par type :

```
events(eventType='simulated').publish();
```

# Connectez-vous à une source de données Wavefront (VMware Tanzu Observability by Wavefront)
<a name="wavefront-datasource-for-AMG"></a>

 La source de données Wavefront (VMware Tanzu Observability by Wavefront) permet aux utilisateurs d'Amazon Managed Grafana d'interroger et de visualiser les données qu'ils collectent directement depuis Wavefront et de les visualiser facilement aux côtés de toute autre source de données métriques, journaux, traceurs ou autres. Cette vue flexible à volet unique facilite le suivi de l'état du système et les problèmes de débogage. 

**Note**  
Cette source de données est réservée à Grafana Enterprise. Pour de plus amples informations, veuillez consulter [Gérer l'accès aux plug-ins d'entreprise](upgrade-to-enterprise-plugins.md).  
En outre, dans les espaces de travail qui prennent en charge la version 9 ou une version plus récente, cette source de données peut nécessiter l'installation du plug-in approprié. Pour de plus amples informations, veuillez consulter [Étendez votre espace de travail avec des plugins](grafana-plugins.md).

## Qu'est-ce que Wavefront ?
<a name="what-is-wavefront"></a>

 [Wavefront](https://www.wavefront.com) est un outil de surveillance et d'analyse du cloud développé par VMware. Wavefront est un service hébergé dans le cloud où vous envoyez vos données chronologiques (métriques), à partir de CollectD, StatsD, JMX, Ruby's logger ou d'autres outils. AWS Avec Wavefront, les utilisateurs peuvent effectuer des opérations mathématiques sur ces séries, afficher des graphiques pour détecter les anomalies KPIs, suivre et créer des alertes. 

## Optimisez votre infrastructure technologique avec Wavefront et Grafana
<a name="maximizing-your-tech-stack-with-wavefront-and-AMG"></a>

 Bien qu'à première vue, Grafana et Wavefront semblent similaires, de nombreuses entreprises utilisent Wavefront et Grafana comme éléments essentiels de leurs flux de travail d'observabilité. 

 **Visualisez sans déplacer les sources de données :** l'architecture unique de Grafana interroge les données directement là où elles se trouvent plutôt que de les déplacer et de payer pour un stockage et une ingestion redondants. 

 **Composez des panneaux à partir de sources variées** Avec des tableaux de bord prédéfinis et personnalisés, regroupez des données provenant de nombreuses sources de données différentes dans un seul panneau de verre. 

 **Transformation et calcul au niveau de l'utilisateur :** les utilisateurs peuvent transformer les données et exécuter divers calculs sur les données qu'ils voient, ce qui nécessite moins de préparation des données. 

 **Combinez, calculez et visualisez dans des panneaux :** créez des panneaux de sources de données mixtes qui affichent des données connexes provenant de Waveferont et d'autres sources, telles que Prometheus et InfluxDB. 

## Documentation
<a name="wavefront-documentation"></a>

### Caractéristiques
<a name="wavefront-features-3"></a>
+  Visualisations de séries chronologiques 
+  Visualisations de tableaux 
+  Visualisations de cartes thermiques 
+  Visualisations à statistiques uniques 
+  Éditeur de requêtes guidées 
+  Éditeur de requêtes SQL brut 
+  Annotations pour les données d'événements 
+  Variables du modèle 
+  Filtres ad hoc 
+  Alerte 

### Configuration
<a name="wavefront-configuration-4"></a>

 La configuration de la source de données Wavefront est relativement simple. Seuls deux champs sont requis pour terminer la configuration : `API URL` et`Token`. 
+  `API URL`sera l'URL que vous utiliserez pour accéder à votre environnement de front d'onde. Exemple: `https://myenvironment.wavefront.com`. 
+  `Token`doit être généré à partir d'un compte utilisateur ou d'un compte de service. 

  1.  **Pour créer un jeton basé sur un compte utilisateur, connectez-vous à votre environnement Wavefront, choisissez le rouage dans le coin supérieur droit de la page, choisissez votre nom d'utilisateur (par exemple`me@grafana.com`), sélectionnez l'onglet **Accès aux API** en haut de la page utilisateur, puis copiez une clé existante ou choisissez Générer.**

  1. Pour créer un jeton basé sur un compte de service, connectez-vous à votre environnement Wavefront, choisissez le rouage dans le coin supérieur droit de la page, puis choisissez Gestion du compte. Dans le volet de navigation de gauche**, sélectionnez Comptes, groupes et rôles**, choisissez l'onglet **Comptes de service** en haut, puis choisissez **Créer un nouveau compte**. Entrez un nom pour le compte de service. Cela peut être tout ce que tu veux. Copiez le jeton fourni dans la section **Jetons**.

  1. La dernière étape consiste à vérifier que la case **Comptes, groupes et rôles** est cochée sous **Autorisations**. 

 Une fois que vous avez le jeton, ajoutez-le au champ de `Token` configuration et vous devriez être prêt \$1 

 La page de configuration finalisée doit ressembler à ceci : 

### Usage
<a name="wavefront-usage-6"></a>

#### Utilisation de l’éditeur de requêtes
<a name="wavefront-using-the-query-editor"></a>

 L'éditeur de requêtes Wavefront dispose de deux modes : **Query Builder** et **Raw Query**. Pour passer de l'une à l'autre, utilisez le sélecteur en haut à droite du formulaire de requête : 

 En mode **Générateur de requêtes**, quatre choix s'offrent à vous : 

1.  Quelle métrique souhaitez-vous interroger ? 

1.  Quelle agrégation souhaitez-vous effectuer sur cette métrique ? 

1.  Comment souhaitez-vous filtrer les résultats de cette requête métrique ? 

1.  Voulez-vous appliquer des fonctions supplémentaires au résultat ? 

 Le sélecteur de mesures est une hiérarchie de catégories. Sélectionnez une catégorie, puis choisissez à nouveau pour explorer les sous-catégories. Répétez ce processus jusqu'à ce que vous ayez atteint la métrique souhaitée. 

 Après avoir sélectionné une métrique, les filtres et valeurs de filtre disponibles seront automatiquement renseignés pour vous. 

 En mode **Requête brute**, vous verrez un seul champ intitulé **Requête**. Cela vous permet d'exécuter n'importe quelle requête [WQL](#wavefront-references) de votre choix. 

#### Utilisation de filtres
<a name="wavefront-using-filters-1"></a>

 Le plugin Wavefront interrogera dynamiquement les filtres appropriés pour chaque métrique. 

 Pour ajouter un filtre, cliquez sur le **signe \$1** à côté de l'étiquette **Filtres** dans l'éditeur de requêtes Wavefront, sélectionnez le champ sur lequel vous souhaitez filtrer, puis sélectionnez une valeur à filtrer. 

#### Utilisation de fonctions
<a name="wavefront-using-functions"></a>

 Les fonctions fournissent un moyen supplémentaire d'agréger, de manipuler et d'effectuer des calculs sur les données de réponse métrique. Pour afficher les fonctions disponibles, choisissez la liste déroulante à côté de l'étiquette de fonction dans le **générateur de requêtes**. En fonction de la fonction que vous sélectionnez, vous pourrez effectuer d'autres actions, telles que définir un groupe par champ ou appliquer des seuils. Les utilisateurs peuvent enchaîner plusieurs fonctions pour effectuer des calculs avancés ou des manipulations de données. 

#### Ajouter une variable de modèle de requête
<a name="wavefront-adding-a-query-template-variable-1"></a>

1.  Pour créer une nouvelle variable de modèle Wavefront pour un tableau de bord, choisissez le rouage des paramètres dans le coin supérieur droit du tableau de bord. 

1.  Dans le panneau de gauche, choisissez **Variables**. 

1.  En haut à droite de la page Variables, choisissez **Nouveau**. 

1.  Entrez un **nom** et une **étiquette** pour la variable de modèle que vous souhaitez créer. Le **nom** est la valeur que vous utiliserez dans les requêtes pour référencer la variable de modèle. **Label** est un nom convivial à afficher pour la variable de modèle dans le panneau de sélection du tableau de bord. 

1.  Sélectionnez le type **Requête** pour le champ de type (il doit être sélectionné par défaut). 

1.  Sous le titre **Options de requête**, sélectionnez **Wavefront** dans la liste déroulante **des sources de données**. 

1.  Voir [Structure de requête variable du modèle](#template-variable-query-structure) pour plus de détails sur ce qui doit être saisi dans le champ **Requête**. 

1.  Si vous souhaitez filtrer l'une des valeurs renvoyées par votre requête, entrez une expression régulière dans le champ de saisie **Regex**. 

1.  Appliquez toutes les préférences de tri que vous pourriez avoir en choisissant un type de tri dans la liste déroulante **Trier**. 

1.  Après avoir vérifié la configuration, choisissez **Ajouter** pour ajouter la variable de modèle, puis sélectionnez **Enregistrer le tableau de bord** dans le panneau de navigation de gauche pour enregistrer vos modifications. 

#### Structure de requête variable du modèle
<a name="template-variable-query-structure"></a>

 listes de mesures : métriques : ts (...) 

 listes de sources : sources : ts (...) 

 listes de balises source : SourceTags : ts (...) 

 listes de balises source correspondantes matchingSourceTags : ts (...) 

 listes de noms de balises : TagNames : ts (...) 

 listes de valeurs de balises : tagValues (<tag>) : ts (...) 

 **Remarques** 
+  Le s à la fin de chaque type de requête est facultatif. 
+  Support pour toutes les minuscules. Vous pouvez utiliser des tagnames ou des tagNames, mais pas des TAGNAMES. 
+  L'utilisation d'espaces autour du : est facultative 

   **WARNING** 

   `Multi-value`et ne `Include All option` sont actuellement pas pris en charge par le plugin Wavefront. 

#### Utilisation de variables de modèle
<a name="wavefront-using-template-variables-2"></a>

 Après avoir effectué les étapes d'[ajout d'une nouvelle variable de modèle](#wavefront-adding-a-query-template-variable-1), vous êtes maintenant prêt à utiliser la variable de modèle dans les panneaux de votre tableau de bord pour créer des visualisations dynamiques. 

1.  Ajoutez un nouveau panneau de tableau de bord à l'aide de l'icône Panel\$1 dans le coin supérieur droit de votre tableau de bord. 

1.  Sélectionnez l'agrégat que vous souhaitez utiliser pour votre requête. 

1.  Cliquez sur l'icône \$1 à côté de l'étiquette **Filtres** et sélectionnez le type de clé correspondant à votre variable de modèle. `host=`pour un filtre hôte, par exemple. 

1.  Entrez le nom de la variable de modèle que vous avez créée dans le champ de saisie **Valeur** du filtre. 

1.  Enregistrez le tableau de bord. 

 Vous devriez maintenant être en mesure de parcourir les différentes valeurs de votre variable de modèle et de mettre à jour votre panneau de manière dynamique \$1 

#### Utilisation de filtres ad hoc
<a name="wavefront-using-ad-hoc-filters"></a>

 Pour utiliser des filtres ad hoc, nous devons créer deux variables de modèle. La première est une variable d'assistance qui sera utilisée pour sélectionner une métrique afin que des filtres supplémentaires puissent être remplis pour le nom de cette métrique. L'autre sera la variable de filtre ad hoc réelle. 

**Important**  
 La variable d'assistance requise doit être nommée`metriclink`. Il peut s'agir d'une variable personnalisée avec la liste des mesures que vous souhaitez utiliser ou d'une variable basée sur une requête utilisant la [structure de requête de variables du modèle](#template-variable-query-structure). Si vous souhaitez remplir les champs de filtre ad hoc uniquement avec les valeurs d'une seule métrique, vous pouvez masquer la variable de `metriclink` modèle. 

 Après avoir créé la `metriclink` variable, vous pouvez désormais ajouter le filtre ad hoc en suivant les mêmes étapes que celles décrites dans la section [Ajout d'une variable de modèle de requête](#wavefront-adding-a-query-template-variable-1). La différence est que vous allez sélectionner des **filtres ad hoc** comme **type** et qu'aucune entrée n'est requise pour une requête. 

#### Ajouter des annotations
<a name="wavefront-adding-annotations"></a>

1.  Pour créer une nouvelle annotation Wavefront pour un tableau de bord, choisissez le rouage des paramètres dans le coin supérieur droit du tableau de bord. 

1.  Dans le panneau de gauche, choisissez **Annotations.** 

1.  En haut à droite de la page Annotations, choisissez **Nouveau**. 

1.  Entrez le nom de l'annotation (celui-ci sera utilisé comme nom du bouton sur le tableau de bord).

1.  Sélectionnez la **source de données** de Wavefront. 

1.  Par défaut, les annotations sont limitées à 100 événements d'alerte qui seront renvoyés. Pour changer cela, définissez le champ **Limite** sur la valeur que vous souhaitez. 

1.  Choisissez **Ajouter**. 

#### Utilisation d'annotations
<a name="using-annotations"></a>

 Lorsque les annotations sont activées, vous devriez désormais voir les événements d'alerte et les problèmes liés à une période donnée. 

 Si vous faites une pause au bas d'une section annotée d'une visualisation, une fenêtre contextuelle s'affiche. Elle indique le nom de l'alerte et fournit un lien direct vers l'alerte dans Wavefront. 

#### Utilisation du champ Nom d'affichage
<a name="wavefront-using-display-name-1"></a>

 Cette source de données utilise le champ Nom d'affichage dans l'onglet Champ du panneau Options pour raccourcir ou modifier une clé de légende en fonction de son nom, de ses étiquettes ou de ses valeurs. D'autres sources de données utilisent des `alias` fonctionnalités personnalisées pour modifier les clés de légende, mais la fonction Display Name permet de le faire de manière plus cohérente. 

### Références
<a name="wavefront-references"></a>
+  [WQL (langage de requête Wavefront)](https://docs.wavefront.com/query_language_reference.html) 