

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.

# Utilisation de la source OpenSearch de données Amazon Service
<a name="ES-use-datasource"></a>

## Éditeur de requêtes métriques
<a name="ES-metric-query-editor"></a>

L'éditeur de OpenSearch requêtes vous permet de sélectionner plusieurs indicateurs et de les regrouper selon plusieurs termes ou filtres. Utilisez les icônes plus et moins situées à droite pour les add/remove indicateurs ou regroupez-les par clauses. Certaines métriques et clauses de regroupement par comportent des options. Choisissez le texte de l'option pour développer la ligne \$1 afin d'afficher et de modifier la métrique ou de la regrouper par options. 

## Utilisation du langage de traitement canalisé (PPL)
<a name="ES-PPL"></a>

La source de données Amazon OpenSearch Service prend en charge le langage PPL (Piped Processing Language), qui permet des fonctionnalités de requête et de visualisation plus simples mais puissantes pour. OpenSearch Le PPL permet aux clients d'explorer et de rechercher des données sans avoir à composer de longues instructions DSL ( OpenSearch Domain Specific Language) ou à écrire des requêtes à l'aide d'objets JSON. Avec PPL, vous pouvez écrire des requêtes sous la forme d'un ensemble de commandes délimitées par des canaux similaires aux canaux UNIX.

Prenons l'exemple de requête DSL suivant comme exemple :

```
GET opensearch_sample_data_logs/_search{"from":0,"size":0,"timeout":"1m","query":{"bool":{"should":[{"term":{"response.keyword":{"value":"404","boost":1}}},{"term":{"response.keyword":{"value":"503","boost":1}}}],"adjust_pure_negative":true,"boost":1}},"sort":[{"_doc":{"order":"asc"}}],"aggregations":{"composite_buckets":{"composite":{"size":1000,"sources":[{"host":{"terms":{"field":"host.keyword","missing_bucket":true,"order":"asc"}}},{"response":{"terms":{"field":"response.keyword","missing_bucket":true,"order":"asc"}}}]},"aggregations":{"request_count":{"value_count":{"field":"request.keyword"}},"sales_bucket_sort":{"bucket_sort":{"sort":[{"request_count":{"order":"desc"}}],"size":10}}}}}}>
```

La requête DSL précédente peut être remplacée par la commande PPL suivante qui est concise et lisible par l'homme.

```
source = opensearch_sample_data_logs | where response='404' or response='503' | stats count(request) as request_count by host, response | sort –request_count
```

Pour plus d'informations sur PPL, consultez la section [Interrogation des données Amazon OpenSearch Service à l'aide du langage de traitement canalisé.](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ppl-support.html)

## Dénomination des séries et modèles d'alias
<a name="ES-series-naming-and-alias-patterns"></a>

 Vous pouvez contrôler le nom des séries chronologiques à l'aide du champ de `Alias` saisie. 


|  Modèle  |  Description  | 
| --- | --- | 
|  \$1\$1term fieldname\$1\$1  |  Remplacé par la valeur d'un terme Grouper par.  | 
|  \$1\$1metric\$1\$1  |  Remplacé par le nom de la métrique (ex. Moyenne, minimale, maximale). | 
|  \$1\$1field\$1\$1  |  Remplacé par le nom du champ métrique. | 

## Métriques du pipeline
<a name="ES-pipeline-metrics"></a>

*Certaines agrégations métriques sont appelées agrégations de pipelines ; par exemple, *moyenne mobile* et dérivée.* OpenSearch les métriques du pipeline nécessitent une autre métrique sur laquelle se baser. Utilisez l'icône en forme d'œil à côté de la métrique pour empêcher les métriques d'apparaître dans le graphique. Cela est utile pour les métriques que vous avez uniquement dans la requête et destinées à être utilisées dans une métrique de pipeline. 

## Création de modèles
<a name="ES-templating"></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. Vous pouvez utiliser ces listes déroulantes pour modifier les données affichées dans votre tableau de bord. 

 Pour plus d'informations sur les modèles et les variables de modèles, consultez[Modèles et variables](templates-and-variables.md). 

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

 La source OpenSearch de données du service prend en charge deux types de requêtes que vous pouvez utiliser dans le champ *Requête* des variables de *requête*. La requête est écrite à l'aide d'une chaîne JSON personnalisée. 


|  Query  |  Description  | 
| --- | --- | 
|  \$1"find": "fields", "type": "keyword"\$1  |  Renvoie une liste de noms de champs avec le type d'indexkeyword.  | 
|  \$1"find": "terms", "field": "@hostname", "size": 1000\$1  |  Renvoie une liste de valeurs pour un champ à l'aide de l'agrégation de termes. La requête utilisera la plage horaire actuelle du tableau de bord comme plage de temps pour la requête.  | 
|  \$1"find": "terms", "field": "@hostname", "query": '<lucene query>'\$1  |  Renvoie une liste de valeurs pour un champ en utilisant l'agrégation de termes et un filtre de requête Lucene spécifié. La requête utilisera la plage horaire actuelle du tableau de bord comme plage de temps pour la requête.  | 

Il existe une limite de taille par défaut de 500 pour les requêtes Terms. Pour définir une limite personnalisée, définissez la propriété de taille dans votre requête. Vous pouvez utiliser d'autres variables dans la requête. L'exemple de code suivant montre la définition de requête pour une variable nommée`$host`. 

```
{"find": "terms", "field": "@hostname", "query": "@source:$source"}
```

Dans l'exemple précédent, nous utilisons une autre variable nommée `$source` dans la définition de la requête. Chaque fois que vous modifiez, à l'aide de la liste déroulante, la valeur actuelle de la `$source` variable, une mise à jour de la `$host` variable est initiée. Après la mise à jour, la `$host` variable contient uniquement les noms d'hôtes filtrés en fonction, dans ce cas, de la propriété du `@source` document. 

Ces requêtes renvoient par défaut les résultats par ordre des termes (qui peuvent ensuite être triés alphabétiquement ou numériquement comme pour n'importe quelle variable). Pour produire une liste de termes triés par nombre de documents (une liste de valeurs supérieures à N), ajoutez une `orderBy` propriété de`doc_count`. Cela permet de sélectionner automatiquement un tri décroissant. L'utilisation `asc` avec doc\$1count (une liste inférieure à N) peut être effectuée en configurant`order: "asc"`, mais elle est déconseillée car cela augmente l'erreur sur le nombre de documents. Pour conserver les termes dans l'ordre du nombre de documents, définissez la liste déroulante de **tri** de la variable sur **Désactivé**. Vous pouvez également toujours utiliser **Alphabétique** pour les trier à nouveau. 

```
{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}
```

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

 Il existe deux syntaxes : 
+  `$<varname>`Exemple : @hostname : \$1hostname 
+  `[[varname]]`Exemple : @hostname : [[hostname]] 

 Pourquoi de deux manières ? La première syntaxe est plus facile à lire et à écrire, mais elle ne permet pas d'utiliser une variable au milieu d'un mot. Lorsque les options *Multi-valeurs* ou *Inclure toutes les valeurs* sont activées, Grafana convertit les étiquettes du texte brut en une condition compatible avec Lucene. 

 Dans l'exemple précédent, nous avons une requête Lucene qui filtre les documents en fonction de la `@hostname` propriété à l'aide d'une variable nommée. `$hostname` Il utilise également une variable dans la zone de saisie du groupe *Termes* par champ. Cela vous permet d'utiliser une variable pour modifier rapidement le mode de regroupement des données. 

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

Les annotations vous permettent de superposer des informations détaillées sur les événements au-dessus des graphiques. Vous pouvez ajouter des requêtes d'annotation à l'aide du menu Tableau de bord ou de la vue Annotations. Grafana peut interroger n'importe quel OpenSearch index pour les événements d'annotation. Pour de plus amples informations, veuillez consulter [Annotations](dashboard-annotations.md). 


|  Nom  |  Description  | 
| --- | --- | 
|  Query  |  Vous pouvez laisser la requête de recherche vide ou spécifier une requête Lucene.  | 
|  Time  |  Nom du champ horaire ; il doit s'agir d'un champ de date.  | 
|  Time End  |  Le nom facultatif du champ de fin d'heure doit être un champ de date. Si cette option est définie, les annotations seront marquées comme une zone située entre l'heure et la fin de l'heure.  | 
|  Text  |  Champ de description de l'événement.  | 
|  Tags  |  Nom de champ facultatif à utiliser pour les balises d'événements (il peut s'agir d'un tableau ou d'une chaîne CSV).  | 

## Interrogation des journaux
<a name="ES-querying-logs-beta"></a>

 L'interrogation et l'affichage des données du journal depuis OpenSearch sont disponibles dans Explore. Pour afficher vos journaux, sélectionnez la source OpenSearch de données du service, puis entrez éventuellement une requête Lucene. Pour de plus amples informations, veuillez consulter [Explorez](explore.md). 

### Requêtes de journal
<a name="ES-log-queries"></a>

 Une fois le résultat renvoyé, le panneau du journal affiche une liste des lignes du journal et un graphique à barres où l'axe X indique l'heure et l'axe Y indique la fréquence ou le nombre. 

### Filtrer les messages du journal
<a name="ES-filter-log-messages"></a>

 Entrez éventuellement une requête Lucene dans le champ de requête pour filtrer les messages du journal. Par exemple, en utilisant une configuration Filebeat par défaut, vous devriez pouvoir `fields.level:error` afficher uniquement les messages du journal des erreurs. 