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.
| 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.
| 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 | 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).
| 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.
| 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.