Was ist der Unterschied zwischen Statistiken und Transaktionsbefehlen in Splunk?


Antwort 1:

Es gibt verschiedene Möglichkeiten, Ereignisse mit SPL zu gruppieren. Die gebräuchlichste Methode ist die Verwendung von Transaktions- oder Statistikbefehlen in Splunk.

Der Befehl Stats ist schneller als eine Transaktion, insbesondere in einer verteilten Umgebung. Sie können Ereignisse mit Statistiken gruppieren, wenn sie mindestens einen gemeinsamen Feldwert haben und wenn Sie keine anderen Einschränkungen benötigen.

Wie bei stats transaction werden auch Ereignisse basierend auf gemeinsamen Feldwerten gruppiert und es können auch komplexe Einschränkungen verwendet werden.

Der Transaktionsbefehl ist in zwei speziellen Fällen am nützlichsten:

  • Wenn eindeutige Feldwerte nicht ausreichen, um zwischen diskreten Transaktionen zu unterscheiden. Wenn es wünschenswert ist, den Rohtext der Ereignisse anstelle einer Analyse der konstituierenden Felder der Ereignisse anzuzeigen.

Antwort 2:

Der Transaktionsbefehl ist in zwei speziellen Fällen am nützlichsten:

  1. Eine eindeutige ID (aus einem oder mehreren Feldern) allein reicht nicht aus, um zwischen zwei Transaktionen zu unterscheiden. Dies ist der Fall, wenn die Kennung wiederverwendet wird, z. B. bei Websitzungen, die anhand der Cookie- / Client-IP-Adresse identifiziert wurden. In diesem Fall werden auch Zeitspannen oder Pausen verwendet, um die Daten in Transaktionen zu segmentieren. In anderen Fällen, wenn eine Kennung wiederverwendet wird, z. B. in DHCP-Protokollen, kann eine bestimmte Nachricht den Beginn oder das Ende einer Transaktion kennzeichnen. Wünschenswert ist es, den Rohtext der Ereignisse kombiniert zu sehen, anstatt die Felder der Ereignisse zu analysieren .

In anderen Fällen ist es normalerweise besser, Statistiken zu verwenden, da die Leistung höher ist, insbesondere in einer verteilten Suchumgebung. Oft gibt es eine eindeutige ID und Statistiken können verwendet werden.

Um zum Beispiel Statistiken über die Dauer von Trades zu berechnen, die durch die eindeutige ID "trade_id" gekennzeichnet sind, ergeben die folgenden Suchanfragen dieselbe Antwort:

 ... | Transaktion trade_id | Diagrammanzahl nach Dauer span = log2

und

 ... | Wertebereich (_time) als Dauer von trade_id | Diagrammanzahl nach Dauer span = log2

Die zweite Suche ist effizienter.

Wenn trade_ids jedoch wiederverwendet werden, aber jeder Trade mit einem Text "END" endet, ist die einzige praktikable Lösung:

 ... | Transaktion trade_id endswith = END | Diagrammanzahl nach Dauer span = log2

Wenn trade_ids stattdessen nicht innerhalb von 10 Minuten wiederverwendet werden, lautet die Lösung:

 ... | Transaktion trade_id maxpause = 10m | Diagrammanzahl nach Dauer span = log2

Beantwortet von: answers.splunk