Sessionize operator を使用してユーザ定義のフィールドでメッセージをグループ化できます (Splunk のトランザクションと同様)。異なる種類のログ行と一致する複数の parse 式を定義すると、parse されたフィールドをまとめて 1 つのセッションにできます。

次に例を示します。

* | sessionize "Starting stream query with sessionId=*," as sessionId,
"*$sessionId *" as (_1, _2),
"Search delegate session started, sessionId=$sessionId,"

このクエリでは、sessionize operator は 3 つの parse 式を使用します。

  1. 最初の parse 式はログ エントリに一致します。一致すると、sessionId が抽出されます。
  2. 2 番目の parse 式は sessionId に一致します。この parse 式は、同じ sessionId を含む任意の文字列に一致します。
  3. セッションの最後のログ エントリが一致します。これが一致すると、セッションは完了したと見なされ、以降のログは検索されません。

抽出されたすべてのフィールドは UI の追加フィールドとして使用することもでき、分析ができます。