Abfrageerstellungsprogramm

Mit dem Query Builder können Sie Abfragen für Ihre benutzerdefinierten IBM® Cloud Logs Dashboard-Widgets erstellen, ohne die DataPrime, Lucene- oder PromQL-Syntax kennen zu müssen.

Bei der Definition Ihres Widgets können Sie auswählen, ob Sie den Builder- oder den Abfragemodus verwenden möchten.

Auf Metriken basierende Abfragen

Wenn Sie ein Widget erstellen, das Metriken verwendet, wählen Sie den Builder-Modus und dann Metriken als Quelle.

Abfragetyp

Als Abfragetyp wählen Sie entweder eine Sofort- oder eine Bereichsabfrage. Die Abfrage wird über einen bestimmten Zeitrahmen ausgeführt, der durch die Zeitauswahl auf dem Dashboard oder den Zeitrahmen des Widgets definiert ist.

  • Im Sofortabfragemodus wird der Wert der Metrik zu einem einzigen Zeitpunkt angezeigt, und zwar zum Endzeitstempel des ausgewählten Zeitrahmens. Der Sofortabfragemodus ist ideal für die Echtzeitüberwachung, da er eine Momentaufnahme der Daten zum Zeitpunkt der Visualisierung liefert. Sie ist auch leistungsfähiger, da sie nur den aktuellsten Datenpunkt abruft, ohne den gesamten Datensatz abzurufen.

  • Der Bereichsabfragemodus ruft metrische Daten über einen bestimmten Zeitraum ab und aggregiert sie. Sie gibt alle Datenpunkte zwischen dem Start- und dem Endzeitstempel zurück, die Ihrer Abfrage entsprechen. Wenn sich der Zeitrahmen ändert, passt das System das Intervall automatisch an, um die Anzahl der im Diagramm angezeigten Datenpunkte zu optimieren. Der Bereichsabfragemodus eignet sich am besten für die Ermittlung von Trends oder die Bewertung der Leistung über einen bestimmten Zeitraum.

Metrikname

Wählen Sie Ihre bevorzugte Metrik aus dem Dropdown-Menü, das dynamisch mit den verfügbaren Metriken gefüllt wird. Sie können die Autovervollständigungsfunktion verwenden, um den Namen, die Bezeichnungen und die Werte der Metrik zu ermitteln.

Filter

Um einen Filter hinzuzufügen, klicken Sie auf das +. Wählen Sie eine Metrikbezeichnung und einen zugehörigen Wert, um Ihre Metrik zu filtern.

Wählen Sie den Operator = oder != aus dem Dropdown-Menü, um einen oder mehrere Werte ein- oder auszuschließen. Mit den Operatoren =~ oder !~ können Sie einen Ausdruck RegEx eingeben.

Um weitere Bezeichner-Wert-Paare hinzuzufügen, klicken Sie auf das +, um eine Zeile hinzuzufügen.

Funktionen

Durch die Auswahl von Metriken und Labels erstellen Sie eine gültige Prometheus Abfrage, aber Sie können auch komplexere Abfragen mit Hilfe von Funktionen erstellen.

Um eine Funktion hinzuzufügen, klicken Sie auf +. Wählen Sie zwischen den Funktionen aggregation, count und rollup.

Aggregationsfunktionen berechnen eine Reihe von Werten und geben einen einzigen Wert zurück. Zu diesen Funktionen gehören SUM(), AVG(), MIN(), MAX(), COUNT(), und andere. Nachdem Sie die Funktion ausgewählt haben, wählen Sie im Dropdown-Menü das zu aggregierende Etikett aus oder geben Sie einen Etikettenwert ein.

Aggregationsfunktionen
Aggregation Beschreibung
average Der Durchschnittswert aller Datenpunkte innerhalb des ausgewählten Zeitraums.
count Die Gesamtzahl der Datenpunkte innerhalb des ausgewählten Zeitraums.
min Der kleinste Wert unter den Datenpunkten innerhalb des ausgewählten Zeitraums.
max Der größte Wert unter den Datenpunkten innerhalb des ausgewählten Zeitraums.
sum Die Summe aller Datenpunkte innerhalb des ausgewählten Zeitraums.
quantile Die Funktion quantile(phi, q) by (group_labels) ist ein Aggregat, das die phi-quantile für jede Gruppe von Etiketten innerhalb der Zeitreihe berechnet, die von q zurückgegeben wird. Der Wert von phi muss innerhalb des Bereichs [0...1] liegen. Das Quantil wird für jeden Satz von Punkten mit demselben Zeitstempel separat berechnet.
histogram_quantile Die Funktion histogram_quantile ist eine Transformationsfunktion, die die phi-percentile auf der Grundlage der angegebenen Histogrammbereiche berechnet. Der Wert von phi muss zwischen [0...1] liegen. Zum Beispiel gibt histogram_quantile(0.5, sum(rate(http_request_duration_seconds_bucket[5m])) by (le)) den Median der Anfragedauer für alle Anfragen der letzten 5 Minuten an.

Zählfunktionen führen Berechnungen mit einer Reihe von Werten durch und geben einen einzigen Wert zurück. Zu diesen Funktionen gehören Count(), Absent(), Absent over time(), Present over time(), Changes(), Resets(), und andere.

Funktionen zählen
Anzahl Beschreibung
count Die Gesamtzahl der Datenpunkte innerhalb des ausgewählten Zeitraums.
absent Gibt 1 zurück, wenn die Zeitreihe keine Punkte hat. Andernfalls gibt sie ein leeres Ergebnis zurück.
absent over time Gibt 1 zurück, wenn der angegebene Zeitbereich keine Rohproben enthält.
present over time Gibt 1 zurück, wenn es mindestens eine einzige Rohprobe im angegebenen Zeitbereich gibt.
changes Die Anzahl der Änderungen des Zeitreihenwerts innerhalb des angegebenen Zeitraums.
resets Die Anzahl der Zählerrückstellungen innerhalb des angegebenen Zeitraums.

Eine Rollup-Funktion bezieht sich auf Funktionen, die Zeitreihendaten über einen bestimmten Zeitbereich aggregieren. Diese Funktionen berechnen Metriken wie average (avg_over_time), sum (sum_over_time), minimum (min_over_time), maximum (max_over_time), count (count_over_time) und quantiles (quantile_over_time) über ein Zeitfenster. Sie dienen der Zusammenfassung und Analyse von metrischen Daten.

Rollup-Funktionen
rollup Beschreibung
average over time Berechnet den Durchschnitt von Zeitreihenwerten über einen Zeitbereich.
max over time Ermittelt den Maximalwert von Zeitreihendaten über einen Zeitbereich.
min over time Ermittelt den Mindestwert von Zeitreihendaten über einen Zeitbereich.
sum over time Berechnet die Summe der Zeitreihenwerte über einen Zeitbereich.
count over time Zählt die Anzahl der Elemente in der Zeitreihe, die nicht NaN sind, in einem bestimmten Zeitraum.
quantile over time Berechnet das angegebene Quantil von Zeitreihendaten über einen Zeitbereich.

Nachdem Sie die Funktion gewählt haben, wählen Sie den abzufragenden Bereich als Zahl oder ${__range} aus. ${__range} steht für die Dauer des Zeitbereichs des Dashboards. Sie wird als Intervall-String dargestellt, der von PromQL unterstützt wird. Wenn Sie zum Beispiel einen Zeitbereich von 13.00 bis 14.30 auswählen, wird die Variable ${__range} als 90m wiedergegeben.

Mit Rangfunktionen können Sie Daten in Ihren Abfragen sortieren, einordnen und filtern. Sie können sie verwenden, um Ihre Ergebnisse auf der Grundlage bestimmter Metriken und Werte zu verfeinern.

Um eine Rangfunktion hinzuzufügen, klicken Sie auf + und wählen Sie aus TOPK, SORT oder SORT Descending. Nachdem Sie eine Rangfunktion ausgewählt haben, konfigurieren Sie sie, indem Sie die Metrik und die Parameter angeben (geben Sie z. B. die Anzahl der K Ergebnisse an, die die Abfrage für TOPK abrufen soll).

Rangfunktionen
Rang Beschreibung
TOPK Ruft die höchsten K Ergebnisse aus einem Datensatz auf der Grundlage einer angegebenen Metrik ab. Verwenden Sie TOPK, um die höchstrangigen Datenpunkte anzuzeigen.
SORT Ordnet die Daten in aufsteigender Reihenfolge auf der Grundlage der ausgewählten Metrik an. Verwenden Sie SORT, um Daten vom kleinsten zum größten Wert zu ordnen.
SORT Descending Ordnet die Daten in absteigender Reihenfolge auf der Grundlage der ausgewählten Metrik an. Verwenden Sie SORT Descending, um die größten Werte am Anfang der Ergebnismenge zu priorisieren.

Protokollbasierte Abfragen

Mit dem protokollbasierten Query Builder können Sie komplexe Abfragen erstellen, indem Sie Lucene-basierte Abfragen entwerfen und dann Filter und Funktionen hinzufügen.

Wenn Sie ein Widget erstellen, das Protokolle verwendet, wählen Sie den Erstellungsmodus und dann Protokolle als Quelle.

Sie müssen auch wählen, ob Sie die Protokolle in der Datenpipeline Prioritätserkenntnisse oder Analysieren und per Alert warnen abfragen wollen.

Filter

Um einen Filter hinzuzufügen, klicken Sie auf +. Wählen Sie eine Bezeichnung und einen zugehörigen Wert.

Wählen Sie den Operator = oder != aus dem Dropdown-Menü, um einen oder mehrere Werte ein- oder auszuschließen. Mit den Operatoren =~ oder !~ können Sie einen Ausdruck RegEx eingeben.

Um weitere Bezeichner-Wert-Paare hinzuzufügen, klicken Sie auf das +.

Funktionen

Um eine Funktion hinzuzufügen, klicken Sie auf +. Wählen Sie einen aggregierten Wert mit Hilfe einer Funktion aus.

Funktionen protokollieren
Funktion Beschreibung
Count Die Gesamtzahl der Datenpunkte innerhalb des ausgewählten Zeitraums.
Count Distinct Die Anzahl der eindeutigen Datenpunkte innerhalb des ausgewählten Zeitraums.
Sum Die Summe aller Datenpunkte innerhalb des ausgewählten Zeitraums.
Min Der kleinste Wert unter den Datenpunkten innerhalb des ausgewählten Zeitraums.
Max Der größte Wert unter den Datenpunkten innerhalb des ausgewählten Zeitraums.
Average Der Durchschnittswert aller Datenpunkte innerhalb des ausgewählten Zeitraums.
Percentile XX Stellt den Wert dar, auf den weniger als XX% der Datenpunkte fallen. Zum Beispiel ist Percentile 95 der Wert, auf den weniger als 95% der Datenpunkte fallen.

Mit Gruppieren nach können Sie Abfrageergebnisse nach einem oder mehreren Feldern gruppieren.

DataPrime abfragen

Sie können eine DataPrime Abfrage als Grundlage für Ihr Widget erstellen.

Sie müssen wählen, ob Sie die Protokolle in der Datenpipeline Prioritätserkenntnisse oder Analysieren und per Alert warnen abfragen wollen.

Wenn Sie eine Abfrage auf der Grundlage von Protokolldaten erstellen, haben Sie die Möglichkeit, die Abfrage in die Syntaxsprache DataPrime zu konvertieren, indem Sie im Query Builder auf Convert to DataPrime klicken.

Nach der Konvertierung erscheint die transformierte Abfrage unter der Registerkarte DataPrime registerkarte im Query Builder.

Wenn Sie Datenquellen ändern oder Ihre Abfrage in DataPrime, konvertieren, gehen Ihre ursprünglichen Abfrageparameter im Query Builder verloren. Durch das Speichern Ihres Widgets bleibt der letzte Zustand des Widgets erhalten.

Widget Zeit

Die Zeitauswahl auf dem Dashboard legt den Standardzeitrahmen für Ihre Abfrage fest. Um den Zeitrahmen für das Widget, das Sie konfigurieren, anzupassen, klicken Sie auf Widget-Zeit und schalten Sie den Schalter aus, um es vom Zeitrahmen des Dashboards zu trennen. Sie können dann einen Standard- oder benutzerdefinierten Zeitrahmen speziell für das zu konfigurierende Widget wählen.