Verwenden der Amazon OpenSearch Service-Datenquelle - 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.

Verwenden der Amazon OpenSearch Service-Datenquelle

Editor für metrische Abfragen

Mit dem OpenSearch Abfrage-Editor können Sie mehrere Metriken auswählen und nach mehreren Begriffen oder Filtern gruppieren. Verwenden Sie die Plus- und Minus-Symbole auf der rechten Seite, um Metriken hinzuzufügen/zu entfernen oder nach Klauseln zu gruppieren. Für einige Metriken und Klauseln zum Gruppieren nach Optionen stehen Optionen zur Verfügung. Wählen Sie den Optionstext, um die Zeile\ zu erweitern und Metriken oder Gruppieren nach Optionen anzuzeigen und zu bearbeiten.

Verwenden der Piped Processing Language (PPL)

Die Amazon OpenSearch Service-Datenquelle unterstützt Piped Processing Language (PPL), die einfachere und dennoch leistungsstarke Abfrage- und Visualisierungsfunktionen für ermöglicht. OpenSearch PPL ermöglicht es Kunden, Daten zu durchsuchen und zu finden, ohne langwierige DSL-Anweisungen ( OpenSearch Domain Specific Language) verfassen oder Abfragen mithilfe von JSON-Objekten schreiben zu müssen. Mit PPL können Sie Abfragen als eine Reihe von Befehlen schreiben, die durch Pipes getrennt sind, ähnlich wie UNIX-Pipes.

Nehmen wir als Beispiel die folgende DSL-Beispielabfrage:

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}}}}}}>

Die vorherige DSL-Abfrage kann durch den folgenden PPL-Befehl ersetzt werden, der präzise und für Menschen lesbar ist.

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

Weitere Informationen zu PPL finden Sie unter Abfragen von Amazon OpenSearch Service-Daten mithilfe der Piped Processing Language.

Serienbenennungen und Aliasmuster

Sie können den Namen für Zeitreihen mithilfe des Alias Eingabefeldes steuern.

Muster Beschreibung
{{term fieldname}} Ersetzt durch den Wert eines Begriffs Group By.
{{metric}} Ersetzt durch den Namen der Metrik (z. B. Durchschnitt, Min., Max).
{{field}} Ersetzt durch den Namen des Metrikfeldes.

Pipeline-Messwerte

Einige Metrik-Aggregationen werden als Pipeline-Aggregationen bezeichnet, z. B. Moving Average und Derivative. OpenSearch Pipeline-Metriken erfordern, dass auf einer anderen Metrik basiert. Verwenden Sie das Augensymbol neben der Metrik, um zu verhindern, dass Metriken im Diagramm angezeigt werden. Dies ist nützlich für Metriken, die Sie nur in der Abfrage zur Verwendung in einer Pipeline-Metrik haben.

Erstellen von Vorlagen

Anstatt Dinge wie Server-, Anwendungs- und Sensornamen in Ihren metrischen Abfragen fest zu codieren, können Sie stattdessen Variablen verwenden. Variablen werden als Drop-down-Auswahlfelder oben im Dashboard angezeigt. Sie können diese Dropdown-Felder verwenden, um die in Ihrem Dashboard angezeigten Daten zu ändern.

Weitere Informationen zu Vorlagen und Vorlagenvariablen finden Sie unter. Vorlagen und Variablen

Variable abfragen

Die OpenSearch Dienstdatenquelle unterstützt zwei Arten von Abfragen, die Sie im Abfragefeld der Abfragevariablen verwenden können. Die Abfrage wird mit einer benutzerdefinierten JSON-Zeichenfolge geschrieben.

Abfrage Beschreibung
{"find": "fields", "type": "keyword"} Gibt eine Liste von Feldnamen mit dem Indextyp zurückkeyword.
{"find": "terms", "field": "@hostname", "size": 1000} Gibt eine Liste von Werten für ein Feld zurück, wobei die Begriffsaggregation verwendet wird. Query verwendet den aktuellen Dashboard-Zeitraum als Zeitbereich für die Abfrage.
{"find": "terms", "field": "@hostname", "query": '<lucene query>'} Gibt eine Werteliste für ein Feld zurück, wobei die Begriffsaggregation und ein bestimmter Lucene-Abfragefilter verwendet werden. Query verwendet den aktuellen Dashboard-Zeitraum als Zeitbereich für die Abfrage.

Für Begriffsabfragen gilt eine Standardgrößenbeschränkung von 500. Um ein benutzerdefiniertes Limit festzulegen, legen Sie die Größeneigenschaft in Ihrer Abfrage fest. Sie können andere Variablen in der Abfrage verwenden. Das folgende Codebeispiel zeigt die Abfragedefinition für eine Variable mit dem Namen$host.

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

Im vorherigen Beispiel verwenden wir eine andere Variable, die $source innerhalb der Abfragedefinition benannt ist. Immer wenn Sie mithilfe der Dropdownliste den aktuellen Wert der $source Variablen ändern, wird eine Aktualisierung der $host Variablen initiiert. Nach der Aktualisierung enthält die $host Variable nur Hostnamen, die in diesem Fall nach der @source Dokumenteigenschaft gefiltert wurden.

Diese Abfragen geben standardmäßig Ergebnisse in der Reihenfolge der Begriffe zurück (die dann wie bei jeder Variablen alphabetisch oder numerisch sortiert werden können). Um eine Liste von Begriffen zu erstellen, die nach der Anzahl der Dokumente sortiert sind (eine Liste mit den wichtigsten N-Werten), fügen Sie eine orderBy Eigenschaft von hinzu. doc_count Dadurch wird automatisch eine absteigende Sortierung ausgewählt. Die Verwendung asc mit doc_count (einer Liste unter N) kann durch Einstellung erfolgenorder: "asc", aber davon wird abgeraten, da dadurch der Fehler bei der Anzahl der Dokumente zunimmt. Um Begriffe in der Reihenfolge der Anzahl der Dokumente beizubehalten, setzen Sie die Dropdownliste Sortieren der Variablen auf Deaktiviert. Alternativ können Sie auch weiterhin Alphabetisch verwenden, um sie neu zu sortieren.

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

Verwenden von Variablen in Abfragen

Es gibt zwei Syntaxen:

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

  • [[varname]]Beispiel: @hostname: [[hostname]]

Warum zwei Möglichkeiten? Die erste Syntax ist einfacher zu lesen und zu schreiben, erlaubt es Ihnen jedoch nicht, eine Variable in der Mitte eines Wortes zu verwenden. Wenn die Optionen Mehrwert oder Alle Werte einbeziehen aktiviert sind, konvertiert Grafana die Beschriftungen von Klartext in eine Lucene-kompatible Bedingung.

Im vorherigen Beispiel haben wir eine Lucene-Abfrage, die Dokumente anhand der Eigenschaft mithilfe einer Variablen namens filtert. @hostname $hostname Sie verwendet auch eine Variable im Eingabefeld Begriffe gruppieren nach Feld. Auf diese Weise können Sie mithilfe einer Variablen schnell ändern, wie die Daten gruppiert sind.

Anmerkungen

Anmerkungen ermöglichen es Ihnen, umfangreiche Ereignisinformationen über Grafiken zu legen. Sie fügen mithilfe des Dashboard-Menüs oder der Ansicht Anmerkungen Anmerkungen hinzu. Grafana kann jeden OpenSearch Index nach Annotationsereignissen abfragen. Weitere Informationen finden Sie unter Anmerkungen.

Name Beschreibung
Query Sie können die Suchabfrage leer lassen oder eine Lucene-Abfrage angeben.
Time Der Name des Zeitfeldes; muss ein Datumsfeld sein.
Time End Der optionale Name des Zeitendfeldes muss ein Datumsfeld sein. Wenn diese Option aktiviert ist, werden Anmerkungen als Bereich zwischen Uhrzeit und Zeitende markiert.
Text Feld für die Beschreibung des Ereignisses.
Tags Optionaler Feldname, der für Event-Tags verwendet werden soll (kann ein Array oder eine CSV-Zeichenfolge sein).

Abfragen von -Protokollen

Das Abfragen und Anzeigen von Protokolldaten von OpenSearch ist in Explore verfügbar. Um Ihre Protokolle anzuzeigen, wählen Sie die OpenSearch Service-Datenquelle aus und geben Sie dann optional eine Lucene-Abfrage ein. Weitere Informationen finden Sie unter Erkunden.

Abfragen protokollieren

Nachdem das Ergebnis zurückgegeben wurde, zeigt das Protokollfenster eine Liste der Protokollzeilen und ein Balkendiagramm, wobei die X-Achse die Zeit und die Y-Achse die Häufigkeit oder Anzahl anzeigt.

Filtern von Protokollnachrichten

Geben Sie optional eine Lucene-Abfrage in das Abfragefeld ein, um die Protokollnachrichten zu filtern. Wenn Sie beispielsweise ein Filebeat-Standard-Setup verwendenfields.level:error, sollten Sie in der Lage sein, nur Fehlerprotokollmeldungen anzuzeigen.