高度な検索演算子

最終更新日:21年2022月XNUMX日

高度な検索には、検索結果の絞り込みと変更に役立つ集計、処理、および書式設定演算子が含まれます。 

フィルタリング後に高度な検索操作をクエリに追加できます。 検索操作は一連のイベントに対して順番に機能し、XNUMXつの操作の結果が次の操作にパイプされます。 検索時にイベントを処理する操作(フィールドの解析)もあれば、結果を生成するためにイベントの部分的なセット(制限)または完全なセット(ソート)を必要とする操作もあります。 高度な検索の結果は、 集計 タブでを確認できます。

注意: LMLogsEnterpriseおよびLMLogsUnlimitedのお客様は、高度な検索操作を利用できます。

演算子 製品説明 種類
as 列名をエイリアス値として表示します。 書式設定
平均 指定されたソース フィールドの値の平均を計算します。 XNUMX つの特定の値を返します。 アグリゲーション
カウント オプションで XNUMX つ以上のフィールドでグループ化された、検索によって返されたイベントの数をカウントします。 アグリゲーション
制限 集計操作の結果を固定数の結果に制限します。 書式設定
マックス 指定されたソース フィールドの一連の値の最大値を抽出します。 XNUMX つの特定の値を返します。 アグリゲーション
指定されたソース フィールドの一連の値の最小値を抽出します。 XNUMX つの特定の値を返します。 アグリゲーション
パーズ 文字列パターンの一致に基づいて、指定されたソースフィールドの内容を新しいフィールドに抽出します。 新しいフィールドは、フィールドと値のペアとしてログメタデータに追加されます。 ソースフィールドが指定されていない場合、デフォルトでメッセージフィールドになります。 処理中
sort 集計操作の結果を一連のフィールドで昇順または降順で並べ替えます。 書式設定
合計 オプションで XNUMX つ以上のフィールドでグループ化された、指定されたフィールドの値の合計を計算します。 アグリゲーション
コラボレー 指定された条件によって操作の結果を制限します。 ログの処理または集計に使用できます。 処理で使用すると、ログの結果が制限されます。 集計で使用すると、集計結果が制限されます。 処理中 or アグリゲーション

注意: 次の例は、すべてのログを検索するワイルドカード * のフィルタリング クエリで始まります。 このワイルドカードは、任意のフィルタリング クエリに置き換えることができます。 詳細については、次を参照してください。 フィルタリングクエリの作成.

集計演算子

平均

指定されたソース フィールドの値の平均を計算します。 

構文

* | | 平均( ) (なので) * | 平均( ) (なので) に(、 )

例1: 次の例では、0 桁のシーケンス パターンで 9 ~ XNUMX の範囲の数字を検索し、見つかった数字がある場合はその平均を計算します。 平均数が抽出され、「number」というフィールドとしてログ イベントに追加されます。

* | parse / ([0-9]{4}) / as number | num(number) as number2 | avg(number2)

カウント

フィルター クエリによって返されるイベントの数をカウントし、オプションで XNUMX つ以上のフィールドでイベントをグループ化します。 特定のフィールドを含むイベントをカウントすることもできます。

構文

指定された時間範囲内のイベントの数をカウントします。

* | カウント

オプションでXNUMXつ以上のフィールドによってグループ化されたイベントの数を数えます。

* | カウント(として) に(、 )。

イベントの数をカウントするのは、イベントに次の引数で指定されたフィールドが含まれている場合のみです。 count():

* | カウント( ) (なので) に(、 )。

例1: 一意のリソースごとにイベントの数を数え、最初の15件の結果を表示します。

* | count by _resource.name | sort by _count desc | limit 15

例2: あるカウント操作の結果を別のカウントに渡すことにより、フィールドの一意の値の数をカウントできます。 次の例では、指定された時間範囲内にログを送信する一意のリソース名の数をカウントします。

* | count by _resource.name | count

マックス

指定されたソース フィールドの一連の値の最大値を抽出します。 「by」がない場合は XNUMX つのフィールドを返します」が指定されています。 それ以外の場合は、指定された各フィールドの平均が返されます。

構文

* | | 最大( )

例:1 次の例では、0 桁のシーケンス パターンで 9 ~ XNUMX の範囲の数字を検索します。 見つかった場合、最大数が抽出され、「number」というフィールドとしてログ イベントに追加されます。

* | parse / ([0-9]{4}) / as number | num(number) as number2 | max(number2)

指定されたソース フィールドの一連の値の最小値を抽出します。 「by」がない場合は XNUMX つのフィールドを返します」が指定されています。 それ以外の場合は、指定された各フィールドの平均が返されます。

構文

* | | 分( )

例:1 次の例では、0 桁のシーケンス パターンで 9 ~ XNUMX の範囲の数字を検索します。 見つかった場合は、最小の番号が抽出され、「number」というフィールドとしてログ イベントに追加されます。

* | parse / ([0-9]{4}) / as number | num(number) as number2 | min(number2)

合計

指定されたフィールドの値の合計を計算し、オプションで計算を XNUMX つ以上のフィールドでグループ化します。

構文

指定された時間範囲内のイベント数をカウントします。

* | 和( ) (なので) に(、 )。

例1: 一意のリソース名ごとにサイズフィールドの合計を計算し、結果を並べ替えます。

* | sum(_size) by _resource.name | sort by _sum desc

処理オペレーター

パーズ

文字列パターンの一致に基づいて、指定されたソースフィールドの内容を新しいフィールドに抽出します。 新しいフィールドはとして追加されます field:value ログメタデータとペアリングします。

構文

* | 解析するなので(、 )。
  • ソースフィールドの場合、 <SRC-FIELD>が指定されていない場合、メッセージ フィールドがデフォルトで使用されます。
  • <PATTERN> ワイルドカードを含む文字列、または正規表現です。
  • 複数のフィールドを解析する場合、フィールド名の数はパターンと一致する必要があります。

例1: 次の例では、ワイルドカードを使用してメッセージ フィールドに「unix」を含む単語を検索し、「unix」の前の部分を抽出します。 見つかった場合、抽出された単語は「unix」というフィールドとしてログ イベントに追加されます。

* | parse "* unix" as unix

例2: 次の例では、正規表現検索を使用しています。 クエリは、メッセージ フィールドで「イメージのプルに失敗しました」というフレーズと、スペース、タブ、または改行以外のものを探します。 見つかった場合、イメージ名が解析され、「image」というフィールドとしてログ イベントに追加されます。

"Failed to pull image" | parse /Failed to pull image "(\S+)"/ as image

その後、クエリ image= を使用して特定の画像を検索できます。.

コラボレー

指定された条件によって操作の結果を制限します。 ログ処理または集計で使用できます。 処理で使用すると、ログの結果が制限されます。 集計で使用すると、集計結果が制限されます。 ソース フィールドが指定されていない場合、操作はデフォルトでメッセージ フィールドになります。

構文

から指定された値を抽出します。 ソース 分野。 次の例では、集計ではなくログを制限します。 集計を制限するには、集計関数を使用する必要があります。 

...どこ="値"

例1: 次の例では、イベント メッセージで「unix」という正確なフレーズを検索します。 見つかった場合、「unix」の部分が抽出され、「unix」というフィールドとしてログ イベントに追加されます。

* | parse /(unix)/ as unix | where unix="unix"

フォーマット演算子

as

列名をエイリアス値として表示します。

構文

... なので

例1: 一意のリソース名ごとにサイズフィールドの合計を計算し、結果を並べ替えます。

* | sum(_size) as log_volume by _resource.name | sort by log_volume desc

制限

結果セットを固定数の結果に制限します。 制限演算子は、集計操作の後でのみ使用できます。

構文

* | 制限

例1: 一意のリソースごとにイベントの数を数え、最初の15件の結果を表示します。

* | count by _resource.name | sort by _count desc | limit 15

sort

結果を一連のフィールドで昇順または降順で並べ替えます。 ソート演算子は、集計操作の後でのみ使用できます。 デフォルトでは、結果はタイムスタンプとIDの降順で並べ替えられます。

構文

* | 並び替え説明

例1: 集計演算子で並べ替える場合は、演算子に先頭の下線を付けてください。

* | count by _resource.name | sort by _count desc

例2: エイリアスで並べ替える場合、アンダースコアは必要ありません。

* | sum(_size) as log_volume by _resource.name | sort by log_volume desc

より多くの例

これらの例は、同じクエリで同時に複数の操作を評価する方法を示しています。

例1:  ログの数とログサイズの合計を含むリソースグループ名のリストを、ログの数でソートして、上位25のリソースグループ名に限定して表示します。

* | count(_size), sum(_size) by resource.group.name | sort by _count desc | limit 25

例2: メッセージから画像名を解析し、名前をに保存します 画像 フィールド(画像=イメージ名)。 次に、一意の画像名を表示し、並べ替えます イメージ名 指定された時間範囲内でほとんど発生します。

“Failed to pull image” | parse /Failed to pull image "(\S+)"/ as image | count by image | sort by _count desc | limit 15
記事上で