Créez votre premier tableau de bord - 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.

Créez votre premier tableau de bord

Créer un tableau de bord

Suivez ces étapes pour créer un tableau de bord dans la console Grafana.

Pour créer votre premier tableau de bord
  1. Cliquez sur l'icône + dans le panneau de gauche, choisissez Créer un tableau de bord, puis choisissez Ajouter un nouveau panneau.

  2. Dans la vue Nouveau tableau de bord/Panneau d'édition, choisissez l'onglet Requête.

  3. Configurez votre requête en sélectionnant la source de données que vous souhaitez interroger. Par exemple, si vous avez ajouté TestDB en tant que source de données, cela génère un exemple de tableau de bord appelé tableau de bord Random Walk.

Présentation des séries chronologiques

Imaginez que vous vouliez connaître l'évolution de la température extérieure au cours de la journée. Une fois par heure, vous vérifiiez le thermomètre et notiez l'heure ainsi que la température actuelle. Au bout d'un moment, vous aurez quelque chose comme les données suivantes.

Heure Valeur
09:00 24 °C
10 h 26 °C
11h00 27 °C

Les données de température telles que celles-ci sont un exemple de série chronologique, c'est-à-dire une séquence de mesures ordonnées dans le temps. Chaque ligne du tableau représente une mesure individuelle à un moment précis.

Les tableaux sont utiles lorsque vous souhaitez identifier des mesures individuelles, mais ils peuvent vous empêcher d'avoir une vue d'ensemble. Une visualisation plus courante pour les séries chronologiques est le graphique, qui place chaque mesure le long d'un axe temporel. Les représentations visuelles telles que le graphique permettent de découvrir plus facilement des modèles et des caractéristiques des données qui seraient autrement difficiles à voir.

Voici d'autres exemples de séries chronologiques :

  • Utilisation du processeur et de la mémoire

  • Données de capteur

  • Indice boursier

Bien que chacun de ces exemples soit une séquence de mesures ordonnées par ordre chronologique, ils partagent également d'autres attributs :

  • Les nouvelles données sont ajoutées à la fin, à intervalles réguliers, par exemple toutes les heures à 9h00, 10h00, 11h00, etc.

  • Les mesures sont rarement mises à jour après leur ajout. Par exemple, la température d'hier ne change pas.

Les séries chronologiques sont puissantes. Ils vous aident à comprendre le passé en vous permettant d'analyser l'état du système à tout moment. Les séries chronologiques peuvent vous indiquer que le serveur s'est écrasé quelques instants après que l'espace disque libre soit tombé à zéro.

Les séries chronologiques peuvent également vous aider à prévoir le futur en découvrant les tendances de vos données. Par exemple, si le nombre d'utilisateurs enregistrés a augmenté de 4 % par mois au cours des derniers mois, vous pouvez prévoir la taille de votre base d'utilisateurs à la fin de l'année.

Certaines séries chronologiques présentent des modèles qui se répètent au cours d'une période connue. Par exemple, la température est généralement plus élevée le jour, avant de baisser la nuit. En identifiant ces séries chronologiques périodiques ou saisonnières, vous pouvez faire des prévisions fiables pour la prochaine période. Si vous savez que la charge du système atteint un pic tous les jours vers 18h00, vous pouvez ajouter d'autres machines juste avant.

Agrégation de séries chronologiques

Selon ce que vous mesurez, les données peuvent varier considérablement. Et si vous vouliez comparer des périodes supérieures à l'intervalle entre les mesures ? Si vous mesurez la température une fois par heure, vous obtiendrez 24 points de données par jour. Pour comparer la température du mois d'août au fil des ans, il faudrait combiner les 31 fois 24 points de données en un seul.

La combinaison d'un ensemble de mesures est appelée agrégation. Il existe plusieurs méthodes pour agréger les données de séries chronologiques. Voici quelques exemples courants :

  • La moyenne renvoie la somme de toutes les valeurs divisée par le nombre total de valeurs.

  • Min et Max renvoient la plus petite et la plus grande valeur de la collection.

  • Sum renvoie la somme de toutes les valeurs de la collection.

  • Count renvoie le nombre de valeurs de la collection.

Par exemple, en agrégeant les données sur un mois, vous pouvez déterminer que le mois d'août 2017 a été, en moyenne, plus chaud que l'année précédente. Si vous vouliez savoir quel mois a connu la température la plus élevée, vous devez comparer la température maximale pour chaque mois.

La manière dont vous agrégerez vos données de séries chronologiques est une décision importante, qui dépend de l'histoire que vous souhaitez raconter avec vos données. Il est courant d'utiliser différentes agrégations pour visualiser les mêmes données de séries chronologiques de différentes manières.

Séries chronologiques et surveillance

Dans le secteur informatique, les données chronologiques sont souvent collectées pour surveiller des éléments tels que l'infrastructure, le matériel ou les événements liés aux applications. Les données de séries chronologiques générées par machine sont généralement collectées à de courts intervalles, afin que vous puissiez réagir à tout changement inattendu, quelques instants après qu'il se soit produit. Les données s'accumulent à un rythme rapide, il est donc essentiel de disposer d'un moyen de stocker et d'interroger les données de manière efficace. Par conséquent, les bases de données optimisées pour les séries chronologiques ont gagné en popularité ces dernières années.

bases de données de séries chronologiques

Une base de données de séries chronologiques (TSDB) est une base de données explicitement conçue pour les données de séries chronologiques. Bien qu'il soit possible d'utiliser n'importe quelle base de données ordinaire pour stocker les mesures, un TSDB comporte des optimisations utiles.

Les TSDB modernes tirent parti du fait que les mesures ne sont que ajoutées, et rarement mises à jour ou supprimées. Par exemple, les horodatages de chaque mesure changent peu au fil du temps, ce qui entraîne le stockage de données redondantes.

L'exemple suivant montre une séquence d'horodatages Unix.

1572524345, 1572524375, 1572524404, 1572524434, 1572524464

Si l'on considère ces horodatages, ils commencent tous par1572524, ce qui entraîne une mauvaise utilisation de l'espace disque. Au lieu de cela, vous pouvez enregistrer chaque horodatage suivant sous forme de différence, ou delta, par rapport au premier, comme indiqué dans l'exemple suivant.

1572524345, +30, +29, +30, +30

Vous pouvez même aller plus loin en calculant les deltas de ces deltas, comme le montre l'exemple suivant.

1572524345, +30, -1, +1, +0

Si les mesures sont prises à intervalles réguliers, la plupart d'entre elles delta-of-deltas seront égales à 0. Grâce à de telles optimisations, les TSDB utilisent considérablement moins d'espace que les autres bases de données.

Une autre caractéristique d'un TSDB est la possibilité de filtrer les mesures à l'aide de balises. Chaque point de données est étiqueté avec une balise qui ajoute des informations contextuelles, telles que l'endroit où la mesure a été prise.

Les TSDB suivants sont pris en charge par Grafana :

  • Graphite

  • InfluxDB

  • Prometheus

    weather,location=us-midwest temperature=82 1465839830100400200 | -------------------- -------------- | | | | | | | | | +-----------+--------+-+---------+-+---------+ |measurement|,tag_set| |field_set| |timestamp| +-----------+--------+-+---------+-+---------+
Collecte de données de séries chronologiques

Maintenant que vous avez un endroit où stocker vos séries chronologiques, comment collectez-vous réellement les mesures ? Pour collecter des données chronologiques, vous devez généralement installer un collecteur sur le périphérique, la machine ou l'instance que vous souhaitez surveiller. Certains collecteurs sont conçus avec une base de données spécifique à l'esprit, tandis que d'autres prennent en charge différentes destinations de sortie.

Voici quelques exemples de collectionneurs :

Un collecteur envoie des données vers une base de données ou laisse la base de données extraire les données du collecteur. Chaque approche comporte ses avantages et ses inconvénients.

Avantages Inconvénients
Push Il est plus facile de répliquer les données vers plusieurs destinations. Le TSDB n'a aucun contrôle sur la quantité de données envoyée.
Pull Contrôle accru de la quantité de données ingérées et de l'authenticité des données. Les pare-feux, les VPN ou les équilibreurs de charge peuvent rendre l'accès aux agents difficile.

Comme il est inefficace d'écrire chaque mesure dans la base de données, les collecteurs pré-agrégent les données et écrivent dans le TSDB à intervalles réguliers.

Dimensions des séries chronologiques

Dans le cas des données de séries chronologiques, les données sont souvent un ensemble de séries chronologiques multiples. De nombreuses sources de données Grafana prennent en charge ce type de données.

Le cas courant est l'émission d'une seule requête pour une mesure avec une ou plusieurs propriétés supplémentaires en tant que dimensions. Par exemple, vous pouvez demander une mesure de température ainsi qu'une propriété de localisation. Dans ce cas, plusieurs séries sont renvoyées à partir de cette seule requête, et chaque série possède un emplacement unique en tant que dimension.

Pour identifier des séries uniques au sein d'un ensemble de séries chronologiques, Grafana stocke les dimensions dans des étiquettes.

Étiquettes

Chaque série chronologique de Grafana possède éventuellement des étiquettes. Les étiquettes sont un ensemble de paires clé-valeur permettant d'identifier les dimensions. Les exemples d'étiquettes sont {location=us} ou{country=us,state=ma,city=boston}. Dans un ensemble de séries chronologiques, la combinaison de son nom et de ses étiquettes identifie chaque série. Par exemple, temperature {country=us,state=ma,city=boston}.

Les différentes sources de données de séries chronologiques ont des dimensions stockées de manière native ou des modèles de stockage communs qui permettent d'extraire les données en dimensions.

Habituellement, les TSDB prennent en charge nativement la dimensionnalité. Prometheus enregistre les dimensions sur des étiquettes. Dans les TSDB tels que Graphite ou OpenTSDB, le terme tags est utilisé à la place.

Dans les bases de données de tables telles que SQL, ces dimensions sont généralement les GROUP BY paramètres d'une requête.

Dimensions multiples sous forme de tableau

Dans les bases de données SQL ou de type SQL qui renvoient des réponses sous forme de table, les dimensions supplémentaires sont généralement des colonnes de la table de réponses aux requêtes.

Dimension unique

Par exemple, considérez une requête comme dans l'exemple suivant.

SELECT BUCKET(StartTime, 1h), AVG(Temperature) AS Temp, Location FROM T GROUP BY BUCKET(StartTime, 1h), Location ORDER BY time asc

La requête peut renvoyer une table à trois colonnes.

StartTime Temp Emplacement
09:00 24 LGA
09:00 20 BOS
10 h 26 LGA
10 h 22 BOS

Le format du tableau est constitué de séries chronologiques longues, également appelées grandes séries. Il comporte des horodatages répétés et des valeurs répétées dans Location. Dans ce cas, deux séries chronologiques de l'ensemble seraient identifiées comme Temp {Location=LGA} etTemp {Location=BOS}.

Les séries chronologiques individuelles de l'ensemble sont extraites à l'aide des dimensions suivantes :

  • La colonne saisie dans le temps StartTime comme indice temporel de la série chronologique

  • La colonne saisie numériquement Temp comme nom de série

  • Le nom et les valeurs de la Location colonne saisie sous forme de chaîne pour créer les étiquettes, telles que Location=LGA

Dimensions multiples

Si la requête est mise à jour pour sélectionner et regrouper selon plusieurs colonnes de chaînes (par exemple,GROUP BY BUCKET(StartTime, 1h), Location, Sensor), une dimension supplémentaire est ajoutée.

StartTime Temp Emplacement Sensor
09:00 24 LGA A
09:00 24.1 LGA B
09:00 20 BOS A
09:00 20,2 BOS B
10 h 26 LGA A
10 h 26,1 LGA B
10 h 22 BOS A
10 h 22,2 BOS B

Dans ce cas, les étiquettes qui représentent les dimensions comportent deux clés basées sur les deux colonnes saisies sous forme de chaîne, Location etSensor. Les données se répartissent en quatre séries :

  • Temp {Location=LGA,Sensor=A}

  • Temp {Location=LGA,Sensor=B}

  • Temp {Location=BOS,Sensor=A}

  • Temp {Location=BOS,Sensor=B}

Note

Remarque : Les dimensions multiples ne sont pas prises en charge d'une manière qui correspond à plusieurs alertes dans Grafana. Elles sont plutôt traitées comme des conditions multiples associées à une seule alerte.

Valeurs multiples

Dans le cas de sources de données de type SQL, plusieurs colonnes numériques peuvent être sélectionnées, avec ou sans colonnes de chaîne supplémentaires à utiliser comme dimensions ; par exemple,. AVG(Temperature) AS AvgTemp, MAX(Temperature) AS MaxTemp Ceci, combiné à plusieurs dimensions, peut donner lieu à de nombreuses séries. La sélection de plusieurs valeurs est actuellement conçue pour être utilisée uniquement dans le cadre de la visualisation.

Présentation des histogrammes et des cartes thermiques

Un histogramme est une représentation graphique de la distribution de données numériques. Il regroupe les valeurs dans des compartiments (parfois également appelés bacs). Ensuite, il compte le nombre de valeurs comprises dans chaque compartiment.

Au lieu de représenter graphiquement les valeurs réelles, les histogrammes représentent les compartiments. Chaque barre représente un compartiment, et la hauteur de la barre représente la fréquence (comme le nombre) des valeurs comprises dans l'intervalle de ce compartiment.

Les histogrammes examinent uniquement les distributions de valeurs sur une plage de temps spécifique. Le problème avec les histogrammes est que vous ne pouvez pas voir de tendances ou de changements dans la distribution au fil du temps. C'est là que les cartes thermiques deviennent utiles.

Cartes de chaleur

Une carte thermique est similaire à un histogramme dans le temps, où chaque tranche de temps représente son propre histogramme. Au lieu d'utiliser la hauteur des barres comme représentation de la fréquence, il utilise des cellules dont la couleur est proportionnelle au nombre de valeurs contenues dans le compartiment.

Données pré-regroupées

Un certain nombre de sources de données prennent en charge l'histogramme au fil du temps, notamment les suivantes :

  • Amazon OpenSearch Service (en utilisant une agrégation de compartiments d'histogrammes)

  • Prometheus (avec le type métrique de l'histogramme et l'option Format définis sur Heatmap)

En règle générale, vous pouvez utiliser n'importe quelle source de données qui renvoie des séries dont le nom correspond à un compartiment ou qui renvoie des séries triées par borne dans l'ordre croissant.

Données brutes et données agrégées

Si vous utilisez la carte thermique avec des données de séries chronologiques ordinaires (non prédéfinies), il est important de se rappeler que vos données sont souvent déjà agrégées par votre backend de séries chronologiques. La plupart des requêtes de séries chronologiques ne renvoient pas de données d'échantillon brutes. Ils incluent plutôt un groupe par intervalle de temps ou maxDataPoints limite associé à une fonction d'agrégation (généralement moyenne).

Cela dépend de l'intervalle de temps de votre requête. Le point important est de savoir que le découpage des histogrammes effectué par Grafana peut être effectué sur des données déjà agrégées et moyennées. Pour des cartes thermiques plus précises, il est préférable d'effectuer le découpage lors de la collecte des mesures ou de stocker les données dans ou dans OpenSearch une autre source de données qui prend en charge le découpage par histogramme sur les données brutes.

Si vous supprimez ou réduisez le groupe en fonction du temps (ou si vous l'augmentez maxDataPoints) dans votre requête pour renvoyer davantage de points de données, votre carte thermique est plus précise. Mais cela peut également alourdir votre processeur et votre mémoire. Si le nombre de points de données devient déraisonnablement élevé, cela peut provoquer des blocages et des pannes.