検索構文の概要
Sumo Logic の検索言語は、リアル タイムでログ リポジトリ全体を操作し、ログ Source の数にも影響されません。検索のクエリ言語は直感的で効率が良いため、数秒で数テラバイトのデータを検索して結果を確認できます。
クエリ構文
Sumo Logic の検索は、じょうご即ち「パイプライン」の概念に基づいています。現在の全 Sumo Logic データから始め、キーワードと operator をパイプ (「|」) で区切って入力していきます。各 operator は、前の operator からの結果に基づいて、さらに結果を処理します。結果が徐々に返され、最新のメッセージが最初に表示されます。時間をさかのぼってログ データの検索が進むにつれて、[Messages (メッセージ)] タブにメッセージが徐々に追加されます。
一般的な検索クエリの構文は次のようになります。
keyword expression | operator 1 | operator 2 | operator 3
Keyword Expression (キーワード式): 単純化のために、検索クエリの最初の語句を「キーワード」式と呼びます。実際、クエリのこの部分は非常に強力な全文ブール検索式です。キーワード式では、_sourceCategory、_sourceHost などのフィールドのメタデータ検索も含めることができ、大文字と小文字は区別されません。クエリでの全文検索の詳細については、「キーワード検索式」を参照してください。
Operators (operator): 最初の全文検索でフィルタ処理した後、後続の operator でデータのフィールド内を parse し、条件式を使用して結果を絞り込んでから、結果を集計して整理できます。
パイプ「|」区切り
パイプ区切りは、キーワード式とそれ以降の各 operator を区切るために使用します。各パイプ区切り operator は、前の operator からの検索結果をさらに処理します。複数の operator を 1 つのパイプで使用することができますが (例: sum と avg)、これらの operator は指定されたフィールドで一緒に処理されます。
構文:
- キーワード検索式の後にパイプ「|」を続けます。
- 各 operator の前にパイプ「|」を付けます。
例:
User-Parsed Fields
値を parse または抽出して、エイリアス (フィールド) に割り当ててから結果に割り当てることができます。このフィールドは現在の検索に対してのみ有効であり、新しい検索には引き継がれません。フィールドを作成するときには、次のいくつかのルールに従う必要があります。
- フィールド名には、英数字、ハイフン、およびアンダースコアを含めることができますが、先頭と末尾は常に英数字にする必要があります。Sumo Logic の組み込みフィールドとデフォルトのエイリアスはすべて、_sourceCategory、_sourceHost、_count_distinct のように先頭にアンダースコアが付けられています。src_IP というフィールドを生成するクエリの 2 つの例を次に示します。
* | parse regex "(?<src_IP>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"
_sourceCategory=apache | parse "* " as src_IP
- 1 つのクエリ内で複数のフィールドを抽出して名前を付けることができます。たとえば、次のクエリによって "type" および "user" フィールドが作成されます。
_sourcehost=vpn3000 | parse "Group [*] User [*]" as type, user
- フィールド名が指定されていない場合、aggregate operator は自動的にフィールド名を作成します。たとえば、count operator を使用すると、_count という名前のフィールドが作成されます。Sum operator によって _sum というフィールドが作成されます。Max operator によって _max という名前のフィールドが作成されます。
- ユーザが parse したフィールドの名前には、group や sum など、Sumo Logic operator の名前のような既存の単語を使用しないでください。
Parse フィールドの詳細については、parse field の説明を参照してください。