OpenSearch - Amazon Managed Grafana

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.

OpenSearch

Note

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 plus d’informations, consultez Plug-ins Grafana.

Avec Amazon Managed Grafana, vous pouvez ajouter du code source ouvert OpenSearch(ou Elasticsearch existant) en tant que source de données. Vous pouvez effectuer de nombreux types de OpenSearch requêtes simples ou complexes pour visualiser les journaux ou les métriques qui y sont stockés OpenSearch. Vous pouvez également annoter les événements du journal dans OpenSearch vos graphiques.

Ajouter OpenSearch en tant que source de données

Note

Pour pouvoir ajouter la source de OpenSearch données, vous devez ajouter votre compte Grafana IAM aux rôles ALL_ACCESS et SECURITY_MANAGER.

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

  2. Dans le menu latéral, sous le lien Tableaux de bord, vous devriez trouver le lien nommé Sources de données.

  3. Cliquez sur le bouton + Ajouter une source de données dans l'en-tête supérieur.

  4. Sélectionnez OpenSearchdans la liste déroulante Type.

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.

Name (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 et les requêtes.
Default La source de données par défaut signifie qu'elle sera présélectionnée pour les nouveaux panneaux.
Url Le protocole HTTP, l'adresse IP et le port de votre OpenSearch serveur.
Access Serveur (par défaut) = L'URL doit être accessible depuis le backend/serveur Grafana. Navigateur = L'URL doit être accessible depuis le navigateur.

Le mode d'accès contrôle la manière dont les demandes adressées à la source de données seront traitées. Le serveur doit être le moyen préféré si rien d'autre n'est indiqué.

Mode d'accès au serveur (par défaut)

Toutes les demandes sont effectuées depuis le navigateur vers le backend ou le serveur de Grafana, qui les transmet à la source de données, contournant ainsi les éventuelles exigences de partage de ressources entre origines (CORS). Si vous sélectionnez ce mode d'accès, l'URL doit être accessible depuis le backend ou le serveur Grafana.

Accès (direct) au navigateur

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

Paramètres de l'index

Ici, vous pouvez définir une valeur par défaut pour time field et spécifier le nom de votre OpenSearch index. Vous pouvez utiliser un modèle temporel pour le nom de l'index ou un caractère générique.

OpenSearch/Version d'Elasticsearch

Spécifiez votre version OpenSearch ou celle de votre ancienne version d'Elasticsearch dans le menu déroulant des versions. La version est importante car il existe des différences dans la façon dont les requêtes sont composées pour chaque version. Grafana prend actuellement en charge OpenSearch la version 1.0.x. Les versions prises en charge d'Elasticsearch sont 2.0+5.0+, 5.6+6.0+, et. 7.0+ La valeur 5.6+ signifie la version 5.6 ou supérieure, mais inférieure à 6.0. La valeur 6.0+ signifie la version 6.0 ou supérieure, mais inférieure à 7.0. Enfin, 7.0+ signifie la version 7.0 ou supérieure, mais inférieure à 8.0.

Intervalle de temps minimum

Limite inférieure pour le regroupement automatique par intervalle de temps. Il est recommandé de régler la fréquence d'écriture, par exemple 1m si vos données sont écrites toutes les minutes. Cette option peut également être remplacée/configurée dans un panneau de tableau de bord sous Options de source de données. Cette valeur doit être formatée sous la forme d'un nombre suivi d'un identifiant horaire valide, par exemple 1m (1 minute) ou 30s (30 secondes). Les identifiants horaires suivants sont pris en charge.

Identifiant Description
y Année
M Mois
w semaine
d jour
h Heure
m Minute
s Seconde
ms Milliseconde

Journaux

Deux paramètres, Message field name etLevel field name, peuvent éventuellement être configurés à partir de la page des paramètres de la source de données pour déterminer les champs qui seront utilisés pour les messages de journal et les niveaux de journalisation lors de la visualisation des connexions. Explorez

Par exemple, si vous utilisez une configuration par défaut de Filebeat pour les journaux d'expédition OpenSearch, la configuration suivante devrait fonctionner.

  • Nom du champ du message : message

  • Nom du champ de niveau : fields.level

Les liens de données créent un lien à partir d'un champ spécifié accessible dans la vue des journaux dans Explore.

Chaque configuration de liaison de données comprend les éléments suivants :

  • Champ : nom du champ utilisé par le lien de données.

  • URL/requête — Si le lien est externe, entrez l'URL complète du lien. S'il s'agit d'un lien interne, cette entrée sert de requête pour la source de données cible. Dans les deux cas, vous pouvez interpoler la valeur du champ à l'aide d'une ${__value.raw } macro.

  • Lien interne : sélectionnez cette option s'il s'agit d'un lien interne ou externe. Si le lien est interne, un sélecteur de source de données vous permet de sélectionner la source de données cible. Seules les sources de données de suivi sont prises en charge.

Utilisation de la source OpenSearch de données

Éditeur de requêtes métriques

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 à droite pour ajouter/supprimer des métriques ou les regrouper par clauses. Certaines métriques et clauses de regroupement par comportent des options. Choisissez le texte de l'option pour développer la ligne afin d'afficher et de modifier la métrique ou de grouper par options.

Dénomination des séries et modèles d'alias

Vous pouvez contrôler le nom des séries chronologiques via le champ de Alias saisie.

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

Métriques du pipeline

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

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 la création de modèles et les variables de modèle, consultezModèles et variables.

Variable de requête

La source de OpenSearch données 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.

Requête Description
{"find": "fields", "type": "keyword"} Renvoie une liste de noms de champs avec le type d'indexkeyword.
{"find": "terms", "field": "@hostname", "size": 1000} 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.
{"find": "terms", "field": "@hostname", "query": '<lucene query>'} Renvoie une liste de valeurs pour un champ à l'aide de l'agrégation de termes et d'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, via la liste déroulante, la valeur actuelle de la $source variable, une mise à jour de la $host variable est lancé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é dedoc_count. Cela permet de sélectionner automatiquement un tri décroissant. L'utilisation asc avec doc_count (une liste inférieure à N) peut être effectuée en configurantorder: "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 Trier 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

Il existe deux syntaxes :

  • $<varname>Exemple : @hostname : $hostname

  • [[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

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 via le menu Tableau de bord ou la vue Annotations. Grafana peut interroger n'importe quel OpenSearch index pour les événements d'annotation. Pour plus d’informations, consultez Annotations.

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

L'interrogation et l'affichage des données du journal depuis OpenSearch sont disponibles dans Explore. Pour afficher vos journaux, sélectionnez la source de OpenSearch données, puis entrez éventuellement une requête Lucene. Pour plus d’informations, consultez Explorez.

Requêtes de journal

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

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.