eventstats
Mit dem Befehl eventstats
können Sie allgemeine Übersichtsstatistiken (optional gruppiert nach Feldern) für Eigenschaften von Gruppen abrufen, die durch einen Gruppierungsbefehl wie stats
, link
oder timestats
identifiziert werden. Die Ausgabe enthält ein Feld für jede Aggregation.
Syntax
Der Aggregatoperator trend ist mit
eventstats
nicht zulässig.
eventstats <stats_function> (<field_name>) [as <new_field_name>] [, <stats_function> (<field_name>) [as <new_field_name>]]* [by <field_name> [, <field_name>]*]
Parameter
In der folgenden Tabelle sind die mit diesem Befehl verwendeten Parameter sowie deren Beschreibungen aufgeführt.
Parameter | Beschreibung |
---|---|
|
Mit diesem Parameter geben Sie das Feld an, nach dem die Ergebnisse gruppiert werden sollen. |
|
Mit diesem Parameter können Sie den neuen Namen für das Feld nach dem Anwenden des |
Die unterstützten Funktionen finden Sie unter Funktionen, Positionsfunktionen und Funktionen zur Zeitreihenanalyse.
Funktionen
In der folgenden Tabelle sind die mit diesem Befehl verfügbaren Funktionen sowie die zugehörigen Beispiele aufgeführt.
Funktion | Beispiele |
---|---|
Werte Führt die ersten 10 Werte für ein bestimmtes Feld mit optionalen Begrenzungszeichen auf. Kann auf jeden Felddatentyp angewendet werden. |
|
Eindeutig Führt die ersten 10 eindeutigen Werte für ein bestimmtes Feld mit optionalen Begrenzungszeichen auf. Kann auf jeden Felddatentyp angewendet werden. |
|
Erstes Gibt den ältesten Wert ungleich Null für das angegebene Feld zurück. Null wird zurückgegeben, wenn das Feld für bestimmte Abfrageergebnisse vollständig leer ist. |
|
Letzte Gibt den neuesten Wert ungleich Null für das angegebene Feld zurück. Null wird zurückgegeben, wenn das Feld für bestimmte Abfrageergebnisse vollständig leer ist. |
|
Durchschnitt Hinweis: Diese Funktion wird nur für numerische Felder unterstützt. |
|
Anzahl Hinweis: Diese Funktion verwendet ähnliche Semantik wie SQL. Das heißt, die Anzahl gibt die Anzahl für alle Zeilen zurück. "count(field)" gibt jedoch die Anzahl für alle Zeilen zurück, bei denen das Feld nicht Null ist. |
|
Eindeutige Anzahl |
|
Maximum Hinweis: Diese Funktion wird nur für numerische Felder unterstützt. |
|
Median Hinweis: Diese Funktion wird nur für numerische Felder unterstützt. |
|
Minimum Hinweis: Diese Funktion wird nur für numerische Felder unterstützt. |
|
Prozentsatz Hinweis: Diese Funktion wird nur für numerische Felder unterstützt. |
|
Summe Hinweis: Diese Funktion wird nur für numerische Felder unterstützt. |
|
Standardabweichung Hinweis: Diese Funktion wird nur für numerische Felder unterstützt. |
|
Wenn Null Ändert den Wert, wenn der Wert null ist. Hinweis: Diese Funktion gilt nur für Ereignisstatistiken, Geostats, Statistiken und Zeitstatistiken (nicht nach dem Link). |
|
Positionsfunktionen
In der folgenden Tabelle sind die für diesen Befehl eindeutigen Funktionen sowie die zugehörigen Beispiele aufgeführt.
Funktion | Beispiele |
---|---|
first Ruft den Eigenschaftswert aus der ersten Zeile, wie durch die aktuelle Sortierfolge definiert, innerhalb des abgerufenen Ergebnisses ab. |
Syntax:
|
last Ruft den Eigenschaftswert aus der letzten Zeile, wie durch die aktuelle Sortierfolge definiert, innerhalb des abgerufenen Ergebnisses ab. |
Syntax:
|
nthval Ruft den Eigenschaftswert aus der nten Zeile, wie durch die aktuelle Sortierfolge definiert, im abgerufenen Ergebnis ab ab. |
Syntax:
|
lag Ruft den Eigenschaftswert aus einer Zeile bei einem bestimmten Offset vor der aktuellen Zeile ab. Der Standard-Offset lautet 1. |
Syntax:
|
lead Ruft den Eigenschaftswert aus einer Zeile bei einem bestimmten Offset nach der aktuellen Zeile ab. Der Standard-Offset lautet 1. |
Syntax:
|
rownum Weist jeder Zeile im abgerufenen Ergebnis eine eindeutige Folgenummer ab 1 zu, wie durch die aktuelle Sortierfolge definiert. |
Syntax:
|
Funktionen zur Zeitreihenanalyse
In der folgenden Tabelle sind die Funktionen für die Zeitreihenanalyse sowie die zugehörigen Beispiele aufgeführt.
Funktion | Beispiele |
---|---|
peak Ruft den Eigenschaftswert mit höchster Größe innerhalb des abgerufenen Ergebnisses ab. Ein höherer Größenwert gibt größere absolute Werte an. |
Syntax:
|
peakscore Ruft den Eigenschaftswert mit einem normalisierten Spitzenscore zwischen 0 und 1 innerhalb des abgerufenen Ergebnisses ab. Der Score kann verwendet werden, um die Spitzen zu vergleichen. Dabei erhält die höchste Spitze 1 als Score und alle anderen Werte Scores zwischen 0 und 1. |
Syntax:
|
valley Ruft den Eigenschaftswert mit niedrigster Größe innerhalb des abgerufenen Ergebnisses ab. Ein niedrigerer Größenwert gibt kleinere absolute Werte an. |
Syntax:
|
valleyscore Ruft den Eigenschaftswert mit einem normalisierten Tiefstandscore zwischen 0 und 1 innerhalb des abgerufenen Ergebnisses ab. Der Score kann verwendet werden, um die Tiefstände zu vergleichen. Dabei erhält der niedrigste Tiefstand 0 als Score und alle anderen Werte Scores zwischen 0 und 1. |
Syntax:
|
Mit den Funktionen peak und peakscore können Sie sequenzielle Daten in der Linkvisualisierung für die Spitzengröße und einen normalisierten Score zwischen 0 und 1 analysieren. Beispiel: Die folgende Abfrage hebt die höchsten Spitzen in der Benutzerantwortzeit hervor. Dabei wird das Feld für die Dauer aus der Logquelle für Zugriffslogs verwendet:
'Log Source' = 'OCI API Gateway Access Logs'
| link span = 5minute Time, Server
| stats avg(Duration) as 'Avg. Duration'
| sort Server, 'Start Time'
| eventstats peak('Avg. Duration') as 'Peak Magnitude',
peakscore('Avg. Duration') as 'Peak Score' by Server
| highlightgroups priority = high
[ * | where 'Peak Score' > 0.9 ] as 'High Response Time - Needs Attention'

Dieses Feature kann zum Suchen und Gruppieren von Zeitreihendaten verwendet werden, wie zum Beispiel zum Identifizieren aller Out-of-Memory-Ereignisse, die nach einer Spitze aufgetreten sind. Ein höherer Wert für die Spitzengröße gibt größere absolute Werte an. Der Score kann verwendet werden, um Spitzen zu vergleichen. Dabei erhält die höchste Spitze 1 als Score und alle anderen Werte Scores zwischen 0 und 1.
Beispiele zur Verwendung des Befehls eventstats
in typischen Szenarios finden Sie unter:
Gruppieren Sie alle Logs mit schwerwiegenden Fehlern nach Transaktion, und rufen Sie die gesamte durchschnittliche verstrichene Zeit für alle Gruppen ab:
severity = fatal | link 'Transaction ID' | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time'
severity = fatal | stats avg('Elapsed Time (system)') as 'Average Elapsed Time' | eventstats avg('Average elapsed time') as 'Overall Average elapsed time'
Gruppieren Sie alle Logs mit schwerwiegenden Fehlern nach Entitytyp und Transaktion, und rufen Sie die gesamte durchschnittliche verstrichene Zeit für alle Gruppen mit demselben Entitytyp ab:
severity = fatal | link 'Entity Type', 'Transaction ID' | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time' by 'Entity Type'
severity = fatal | stats avg('Elapsed Time (System)') as 'Average Elapsed Time' by 'Entity Type', 'Transaction ID' | eventstats avg('Average Elapsed Time') as 'Overall Average Elapsed Time' by 'Entity Type'
Fügen Sie in der Linkvisualisierung jeder Zeile eine Zahl hinzu:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
Identifizieren Sie das letzte Ereignis anhand der Zeilennummer:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| eventstats rownum as 'Row Number' by Database
| addfields
[ * | where Label = 'Abnormal Termination'
| eventstats last('Row Number') as 'Crash Row'
]
Identifizieren Sie vorherige und nächste Ereignisse eines ausgewählten Ereignisses:
'Log Source' = 'Database Alert Logs' and Label != null and Entity = MyDB
| rename Entity as Database
| link span = 1minute Time, Database, Label
| sort Database, 'Start Time'
| addfields
[ *
| where Label != null
| eventstats lag(Label) as 'Previous Event',
lead(Label) as 'Next Event'
]