Erste Schritte in Ihrer Grafana-Workspace-Konsole - Amazon Managed Grafana

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erste Schritte in Ihrer Grafana-Workspace-Konsole

Dieser Abschnitt bietet einen allgemeinen Überblick über die Grafana-Konsole in einem Amazon Managed Grafana Workspace. Es ist ein guter Ort, um zu erfahren, wie Sie die Grafana-Konsole verwenden.

Was ist Grafana?

Grafana ist Open-Source-Visualisierungs- und Analysesoftware. Sie können damit Ihre Metriken unabhängig davon abfragen, visualisieren, warnen und untersuchen, wo sie gespeichert sind.

Wenn Sie beispielsweise die Metrik-, Protokoll- und Ablaufverfolgungsdaten für Ihre Anwendung anzeigen möchten, können Sie ein Dashboard erstellen. Wenn Sie der Administrator für einen Kredit sind und Grafana für mehrere Teams verwalten, müssen Sie möglicherweise Bereitstellung und Authentifizierung einrichten.

Die folgenden Abschnitte bieten einen Überblick über die Dinge, die Sie mit Ihrer Grafana-Datenbank und Links machen können, damit Sie mehr erfahren können.

Metriken und Protokolle untersuchen

Erkunden Sie Ihre Daten durch einmalige oder Ad-hoc-Abfragen und stufen Sie sie dynamisch herunter. Sie können die Ansicht aufteilen und verschiedene Zeitbereiche, Abfragen und Datenquellen nebeneinander vergleichen.

Weitere Informationen finden Sie unter Erkunden.

Benachrichtigungen

Wenn Sie Grafana-Warnungen verwenden, können Warnungen über verschiedene Warnbenachrichtigungen gesendet werden, darunter die folgenden:

  • Amazon SNS

  • PagerDuty

  • VictorOps

  • OpsGenie

  • Slack

Weitere Informationen finden Sie unter Grafana-Warnungen.

Anmerkungen

Kommentieren Sie Diagramme mit umfangreichen Ereignissen aus verschiedenen Datenquellen. Pausieren Sie Ereignisse, um die vollständigen Ereignismetadaten und Tags anzuzeigen.

Dieses Feature, das als Diagrammmarkierung in Grafana angezeigt wird, ist nützlich für die Korrelation von Daten, falls etwas schief geht. Sie können die Anmerkungen manuell erstellen, indem Sie Strg drücken, während Sie ein Diagramm auswählen und dann etwas Text eingeben. Oder Sie können Daten aus jeder Datenquelle abrufen.

Weitere Informationen finden Sie unter Anmerkungen.

Dashboard-Variablen

Verwenden Sie Vorlagenvariablen, um Dashboards zu erstellen, die für viele verschiedene Anwendungsfälle wiederverwendet werden können. Mit diesen Vorlagen sind Werte nicht fest codiert. Das bedeutet, dass Sie ein Dashboard für mehrere Server verwenden können. Wenn Sie beispielsweise über einen Produktionsserver und einen Testserver verfügen, können Sie für beide dasselbe Dashboard verwenden.

Vorlagen helfen Ihnen dabei, Ihre Daten detailliert zu untersuchen. Sie können beispielsweise von allen Daten auf nordamerikanische Daten, von auf -Train-Daten und darüber hinaus aufschlüsseln. Sie können diese Dashboards auch für Teams innerhalb Ihrer Organisation freigeben. Wenn Sie eine hervorragende Dashboard-Vorlage für eine beliebte Datenquelle erstellen, können Sie sie auch zur gesamten Community beitragen, um sie anzupassen und zu verwenden.

Weitere Informationen finden Sie unter Vorlagen und Variablen.

Erstellen eines Dashboards

Gehen Sie wie folgt vor, um ein Dashboard in der Grafana-Konsole zu erstellen.

So erstellen Sie Ihr erstes Dashboard
  1. Wählen Sie im linken Bereich das Symbol +, dann Dashboard erstellen und dann Neues Panel hinzufügen aus.

  2. Wählen Sie in der Ansicht Neues Dashboard/Bearbeiten die Registerkarte Abfrage aus.

  3. Konfigurieren Sie Ihre Abfrage, indem Sie die Datenquelle auswählen, die Sie abfragen möchten. Wenn Sie beispielsweise TestDB als Datenquelle hinzugefügt haben, wird ein Beispiel-Dashboard generiert, das als Random-Walk-Dashboard bezeichnet wird.

Einführung in Zeitreihen

Angenommen, Sie möchten wissen, wie sich die Temperatur außerhalb des im Laufe des Tages ändert. Einmal stündlich überprüfen Sie den und notieren die Zeit zusammen mit der aktuellen Temperatur. Nach einer Weile haben Sie etwas wie die folgenden Daten.

Zeit Wert
09:00 Uhr 24°C
10:00 26°C
11:00 Uhr 27°C

Temperaturdaten wie diese sind ein Beispiel für eine Zeitreihe – eine zeitlich angeordnete Folge von Messungen. Jede Zeile in der Tabelle stellt eine einzelne Messung zu einem bestimmten Zeitpunkt dar.

Tabellen sind nützlich, wenn Sie einzelne Messungen identifizieren möchten, aber sie können es schwierig machen, das große Bild zu sehen. Eine häufigere Visualisierung für Zeitreihen ist das Diagramm , das stattdessen jede Messung entlang einer Zeitachse platziert. Visuelle Darstellungen wie das Diagramm erleichtern das Erkennen von Mustern und Features der Daten, die andernfalls schwer zu sehen wären.

Weitere Beispiele für Zeitreihen sind:

  • CPU- und Arbeitsspeichernutzung

  • Sensordaten

  • Aktienindex

Obwohl jedes dieser Beispiele eine Folge von chronologisch geordneten Messungen ist, teilen sie sich auch andere Attribute:

  • Neue Daten werden am Ende in regelmäßigen Abständen angehängt, z. B. stündlich um 09:00 Uhr, 10:00 Uhr, 11:00 Uhr usw.

  • Messungen werden selten aktualisiert, nachdem sie hinzugefügt wurden. Beispielsweise ändert sich die Temperatur von gestern nicht.

Zeitreihen sind leistungsfähig. Sie helfen Ihnen, die Vergangenheit zu verstehen, indem sie Ihnen ermöglichen, den Status des Systems jederzeit zu analysieren. Zeitreihen könnten Ihnen mitteilen, dass der Server ausgefallen ist, unmittelbar nachdem der freie Speicherplatz auf Null gefallen ist.

Zeitreihen können Ihnen auch helfen, die Zukunft vorherzusagen, indem sie Trends in Ihren Daten aufdecken. Wenn beispielsweise die Anzahl der registrierten Benutzer in den letzten Monaten monatlich um 4 Prozent zunimmt, können Sie vorhersagen, wie groß Ihre Benutzerbasis am Ende des Jahres sein wird.

Einige Zeitreihen haben Muster, die sich über einen bekannten Zeitraum wiederholen. Beispielsweise ist die Temperatur am Tag in der Regel höher, bevor sie nachts sinkt. Durch die Identifizierung dieser periodischen oder saisonalen Zeitreihen können Sie sichere Vorhersagen über den nächsten Zeitraum treffen. Wenn Sie wissen, dass die Systemlast jeden Tag um 18:00 Uhr Spitzenwerte erreicht, können Sie direkt zuvor weitere Maschinen hinzufügen.

Aggregieren von Zeitreihen

Je nachdem, was Sie messen, können die Daten stark variieren. Was ist, wenn Sie Zeiträume vergleichen möchten, die länger als das Intervall zwischen den Messungen sind? Wenn Sie die Temperatur einmal pro Stunde messen würden, würden Sie am Ende 24 Datenpunkte pro Tag erhalten. Um die Temperatur im August im Laufe der Jahre zu vergleichen, müssen Sie die 31-mal 24 Datenpunkte zu einem kombinieren.

Das Kombinieren einer Sammlung von Messungen wird als Aggregation bezeichnet. Es gibt mehrere Möglichkeiten, Zeitreihendaten zu aggregieren. Hier sind einige gängige:

  • Durchschnitt gibt die Summe aller Werte geteilt durch die Gesamtzahl der Werte zurück.

  • Min und Max geben den kleinsten und größten Wert in der Sammlung zurück.

  • Sum megibt die Summe aller Werte in der Sammlung zurück.

  • Count gibt die Anzahl der Werte in der Sammlung zurück.

Durch die Aggregation der Daten in einem Monat können Sie beispielsweise feststellen, dass August 2017 im Durchschnitt warmer war als das vorherige Jahr. Wenn Sie sehen möchten, welcher Monat die höchste Temperatur hatte, würden Sie die maximale Temperatur für jeden Monat vergleichen.

Wie Sie Ihre Zeitreihendaten aggregieren, ist eine wichtige Entscheidung und hängt von der Geschichte ab, die Sie mit Ihren Daten teilen möchten. Es ist üblich, verschiedene Aggregationen zu verwenden, um dieselben Zeitreihendaten auf unterschiedliche Weise zu visualisieren.

Zeitreihen und Überwachung

In der IT-Branche werden häufig Zeitreihendaten gesammelt, um Dinge wie Infrastruktur, Hardware oder Anwendungsereignisse zu überwachen. Maschinengenerierte Zeitreihendaten werden in der Regel in kurzen Intervallen erfasst, sodass Sie auf unerwartete Änderungen reagieren können, unmittelbar nachdem sie auftreten. Die Daten sammeln sich schnell an, sodass es wichtig ist, dass Daten effizient gespeichert und abgefragt werden können. Infolgedessen haben Datenbanken, die für Zeitreihendaten optimiert sind, in den letzten Jahren einen Anstieg der Popularität festgestellt.

Zeitreihendatenbanken

Eine Zeitreihendatenbank (TSDB) ist eine Datenbank, die explizit für Zeitreihendaten entwickelt wurde. Obwohl es möglich ist, jede reguläre Datenbank zum Speichern von Messungen zu verwenden, bietet eine TSDB einige nützliche Optimierungen.

Moderne TSDBs nutzen die Tatsache, dass Messungen nur jemals angefügt und selten aktualisiert oder entfernt werden. Beispielsweise ändern sich die Zeitstempel für jede Messung im Laufe der Zeit geringfügig, was dazu führt, dass redundante Daten gespeichert werden.

Das folgende Beispiel zeigt eine Folge von Unix-Zeitstempeln.

1572524345, 1572524375, 1572524404, 1572524434, 1572524464

Wenn Sie sich diese Zeitstempel ansehen, beginnen sie alle mit 1572524, was zu einer schlechten Nutzung des Speicherplatzes führt. Stattdessen könnten Sie jeden nachfolgenden Zeitstempel als Differenz oder Delta vom ersten speichern, wie im folgenden Beispiel gezeigt.

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

Sie könnten ihn sogar einen Schritt weitergehen, indem Sie die Deltas dieser Deltas berechnen, wie im folgenden Beispiel gezeigt.

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

Wenn in regelmäßigen Abständen Messungen durchgeführt werden, delta-of-deltas sind die meisten davon 0. Aufgrund solcher Optimierungen wird bei TSDBs deutlich weniger Speicherplatz belegt als bei anderen Datenbanken.

Ein weiteres Feature einer TSDB ist die Möglichkeit, Messungen mithilfe von Tags zu filtern. Jeder Datenpunkt ist mit einem Tag gekennzeichnet, das Kontextinformationen hinzufügt, z. B. wo die Messung durchgeführt wurde.

Die folgenden TSDBs werden von Grafana unterstützt:

  • Graphit

  • InfluxDB

  • Prometheus

    weather,location=us-midwest temperature=82 1465839830100400200 | -------------------- -------------- | | | | | | | | | +-----------+--------+-+---------+-+---------+ |measurement|,tag_set| |field_set| |timestamp| +-----------+--------+-+---------+-+---------+
Erfassen von Zeitreihendaten

Nachdem Sie nun einen Ort zum Speichern Ihrer Zeitreihe haben, wie erfassen Sie die Messungen tatsächlich? Um Zeitreihendaten zu sammeln, installieren Sie in der Regel einen Kollektor auf dem Gerät, der Maschine oder der Instance, die Sie überwachen möchten. Einige Kollektoren werden mit einer bestimmten Datenbank erstellt, andere unterstützen unterschiedliche Ausgabeziele.

Hier sind einige Beispiele für Kollektoren:

Ein Kollektor überträgt Daten entweder an eine Datenbank oder ermöglicht es der Datenbank, die Daten aus dem Kollektor abzurufen. Jeder Ansatz verfügt über einen eigenen Satz von Vor- und Nachteilen.

Vorteile Nachteile
Push Einfachere Replikation von Daten zu mehreren Zielen. Die TSDB hat keine Kontrolle darüber, wie viele Daten gesendet werden.
pull Mehr Kontrolle darüber, wie die Datenmenge aufgenommen wird und wie die Datenechtheit aussieht. Firewalls, VPNs oder Load Balancer können den Zugriff auf die Agenten erschweren.

Da es ineffizient ist, jede Messung in die Datenbank zu schreiben, aggregieren Kollektoren die Daten vorab und schreiben in regelmäßigen Abständen in die TSDB.

Zeitreihendimensionen

Bei Zeitreihendaten handelt es sich bei den Daten häufig um einen Satz mehrerer Zeitreihen. Viele Grafana-Datenquellen unterstützen diese Art von Daten.

In der Regel wird eine einzelne Abfrage für eine Messung mit einer oder mehreren zusätzlichen Eigenschaften als Dimensionen ausgegeben. Sie können beispielsweise eine Temperaturmessung zusammen mit einer Standorteigenschaft abfragen. In diesem Fall werden mehrere Serien von dieser einzelnen Abfrage zurückgegeben, und jede Serie hat eine eindeutige Position als Dimension.

Um eindeutige Serien innerhalb einer Reihe von Zeitreihen zu identifizieren, speichert Grafana Dimensionen in Labels .

Labels

Jede Zeitreihe in Grafana hat optional Labels. Labels sind eine Reihe von Schlüssel-Wert-Paaren zur Identifizierung von Dimensionen. Beispielbezeichnungen sind {location=us} oder {country=us,state=ma,city=boston}. Innerhalb einer Reihe von Zeitreihen identifiziert die Kombination aus Name und Label jede Serie. Beispiel: temperature {country=us,state=ma,city=boston}

Verschiedene Quellen von Zeitreihendaten haben Dimensionen, die nativ gespeichert werden, oder gängige Speichermuster, mit denen die Daten in Dimensionen extrahiert werden können.

Normalerweise unterstützen TSDBs nativ Dimensionalität. Prometheus speichert Dimensionen in Labels . In TSDBs wie Graphite oder OpenTSDB wird stattdessen der Begriff Tags verwendet.

In Tabellendatenbanken wie SQL sind diese Dimensionen im Allgemeinen die GROUP BY Parameter einer Abfrage.

Mehrere Dimensionen im Tabellenformat

In SQL- oder SQL-ähnlichen Datenbanken, die Tabellenantworten zurückgeben, sind zusätzliche Dimensionen normalerweise Spalten in der Abfrageantworttabelle.

Einzelne Dimension

Betrachten Sie beispielsweise eine Abfrage wie im folgenden Beispiel.

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

Die Abfrage gibt möglicherweise eine Tabelle mit drei Spalten zurück.

StartTime Temporäre Dateien Ort
09:00 Uhr 24 LGA
09:00 Uhr 20 BOS
10:00 26 LGA
10:00 22 BOS

Das Tabellenformat ist eine lange formatierte Zeitreihe, auch bekannt als Bol . Es hat wiederholte Zeitstempel und wiederholte Werte an Standort. In diesem Fall würden zwei Zeitreihen im Satz als Temp {Location=LGA} und identifiziert. Temp {Location=BOS}

Einzelne Zeitreihen aus dem Satz werden mithilfe der folgenden Dimensionen extrahiert:

  • Die Spalte mit dem Zeittyp StartTime als Zeitindex der Zeitreihe

  • Die numerisch typisierte Spalte Temp als Serienname

  • Der Name und die Werte der Location Spalte mit Zeichenfolgentyp zum Erstellen der Beschriftungen, z. B. Location=LGA

Mehrere Dimensionen

Wenn die Abfrage aktualisiert wird, um mehr als eine Zeichenfolgenspalte auszuwählen und zu gruppieren (z. B. GROUP BY BUCKET(StartTime, 1h), Location, Sensor), wird eine zusätzliche Dimension hinzugefügt.

StartTime Temporäre Dateien Ort Sensor
09:00 Uhr 24 LGA A
09:00 Uhr 24.1 LGA B
09:00 Uhr 20 BOS A
09:00 Uhr 20,2 BOS B
10:00 26 LGA A
10:00 26.1 LGA B
10:00 22 BOS A
10:00 22.2 BOS B

In diesem Fall haben die Beschriftungen, die die Dimensionen darstellen, zwei Schlüssel, die auf den beiden Spalten mit Zeichenfolgentyp basieren, Location und Sensor. Die Daten führen zu vier Serien:

  • Temp {Location=LGA,Sensor=A}

  • Temp {Location=LGA,Sensor=B}

  • Temp {Location=BOS,Sensor=A}

  • Temp {Location=BOS,Sensor=B}

Anmerkung

Hinweis: Mehrere Dimensionen werden in Grafana nicht auf eine Weise unterstützt, die mehreren Warnungen zugeordnet ist. Stattdessen werden sie als mehrere Bedingungen für eine einzelne Warnung behandelt.

Mehrere Werte

Im Fall von SQL-ähnlichen Datenquellen kann mehr als eine numerische Spalte ausgewählt werden, mit oder ohne zusätzliche Zeichenfolgenspalten, die als Dimensionen verwendet werden sollen, z. B. AVG(Temperature) AS AvgTemp, MAX(Temperature) AS MaxTemp. Dies kann in Kombination mit mehreren Dimensionen zu zahlreichen Serien führen. Die Auswahl mehrerer Werte ist derzeit nur für die Verwendung mit Visualisierung konzipiert.

Einführung in Histogramme und Heatmaps

Ein Histogramm ist eine grafische Darstellung der Verteilung numerischer Daten. Es gruppiert Werte in Buckets (manchmal auch Bins genannt). Dann wird gezählt, wie viele Werte in jeden Bucket fallen.

Anstatt die tatsächlichen Werte grafisch darzustellen, grafisch darstellen Histogramme die Buckets. Jeder Balken steht für einen Bucket und die Balkenhöhe für die Häufigkeit (z. B. Anzahl) von Werten, die in das Intervall dieses Buckets gefallen sind.

Histogramme betrachten nur Werteverteilungen über einen bestimmten Zeitraum. Das Problem mit Histogrammen besteht darin, dass Sie im Laufe der Zeit keine Trends oder Änderungen in der Verteilung sehen können. Hier werden Heatmaps nützlich.

Heatmaps

Eine Heatmap ist wie ein Histogramm im Laufe der Zeit, wobei jeder Zeitabschnitt sein eigenes Histogramm darstellt. Anstatt die Balkenhöhe als Darstellung der Frequenz zu verwenden, werden Zellen verwendet, wobei eine Zelle proportional zur Anzahl der Werte im Bucket farbiget wird.

Vorab gebündelte Daten

Eine Reihe von Datenquellen unterstützen Histogramme im Laufe der Zeit, darunter die folgenden:

  • Amazon OpenSearch Service (unter Verwendung einer Histogramm-Bucket-Aggregation)

  • Prometheus (wobei der Metriktyp Histogramm und die Option Format as auf Heatmap festgelegt sind)

Im Allgemeinen können Sie jede Datenquelle verwenden, die Serien mit Namen zurückgibt, die Bucket-gebunden darstellen, oder Serien, die nach den Grenzen sortiert sind, in aufsteigender Reihenfolge zurückgibt.

Rohdaten im Vergleich zu aggregierten Daten

Wenn Sie die Heatmap mit regulären Zeitreihendaten verwenden (nicht mit einem Pre-Bucket), ist es wichtig zu denken, dass Ihre Daten oft bereits über Ihr Zeitreihen-Backend aggregiert sind. Die meisten Zeitreihenabfragen geben keine Rohdaten zurück. Stattdessen enthalten sie eine Gruppe nach Zeitintervall oder maxDataPoints Limit in Verbindung mit einer Aggregationsfunktion (in der Regel Durchschnitt).

Dies hängt vom Zeitraum Ihrer Abfrage ab. Der wichtige Punkt besteht darin, zu wissen, dass das Histogramm-Bucketing, das Grafana durchführt, möglicherweise für bereits aggregierte und gemittelte Daten durchgeführt wird. Für genauere Heatmaps ist es besser, das Bucketing während der Metrikerfassung durchzuführen oder die Daten in oder in der anderen Datenquelle zu speichern OpenSearch, die das Histogramm-Bucketing für die Rohdaten unterstützt.

Wenn Sie die Gruppe in Ihrer Abfrage entfernen oder verringern (oder erhöhen maxDataPoints), um mehr Datenpunkte zurückzugeben, ist Ihre Heatmap genauer. Dies kann jedoch auch zu einer hohen Belastung Ihrer CPU und Ihres Arbeitsspeichers führen. Wenn die Anzahl der Datenpunkte unangemessen groß wird, kann dies zu einem Stillstand und Absturz führen.