ナビゲーションをスキップする

高度なクエリでサポートされる EQL 構文

構文ヘルプ

CylanceOPTICS
] > [高度なクエリ]の構文ヘルプペインには、使用可能な
CylanceOPTICS
イベントクラスと、それに関連するアーチファクト、タイプ、カテゴリ、およびサブカテゴリが一覧表示されます。入力を開始すると、構文オプションと検証メッセージが表示され、クエリを作成しやすくなります。

EQL クエリ形式

CylanceOPTICS
EQL クエリでは、基本クエリに次の形式を使用します。
<event class>
where
<event/artifact>
.
<facet>
==
<value>
クエリはアーチファクトに関連するイベントを検索するため、クエリで関連するイベントクラスを使用する必要があります。
where 句は、event.type、event.category、event.subcategory、または artifact.facet の値に基づいて結果をフィルタリングできます。
or
または
and
を使用して、複数のフィルター句を組み合わせることができます。

任意のイベントクラスの照合

イベントクラスに
any
を使用して、すべての利用可能なイベントクラスにマッピングできます。

イベントクラスのエスケープ

特殊文字(ハイフンやピリオドなど)を含むイベントクラスをエスケープするには、スペースを含めるか、数字で始まり、引用符(")で囲む、または 3 つの引用符("")で囲みます。

フィールド名のエスケープ

ハイフン、スペース、または数字で始まるフィールド名をエスケープするには、バックティック(`)で囲みます。フィールド名のバックティック(`)をエスケープするには、2 個のバックティック(``)で囲みます。

値のエスケープ

値に引用符やバックスラッシュを含む特殊文字を使用する場合は、前にバックスラッシュを付けてエスケープする必要があります(例:引用符の場合は \"、バックスラッシュの場合は \\)。

条件

条件は、イベントが一致する必要がある 1 つ以上の条件で構成されます。次のセクションで説明する演算子を使用して、条件を指定して組み合わせることができます。

比較演算子

演算子
説明
<
この演算子は、演算子の左側の値が右側の値より小さい場合に TRUE を返します。それ以外の場合は FALSE を返します。
<=
この演算子は、演算子の左側の値が右側の値と等しいか小さい場合に TRUE を返します。それ以外の場合は FALSE を返します。
==
この演算子は、演算子の左側と右側の値が等しい場合に TRUE を返します。それ以外の場合は FALSE を返します。ワイルドカードはサポートされていません。
:
この演算子は、演算子の左右の文字列が等しい場合に TRUE を返します。それ以外の場合は FALSE を返します。文字列の比較にのみ使用できます。
!=
この演算子は、演算子の左右の値が等しくない場合に TRUE を返します。それ以外の場合は FALSE を返します。ワイルドカードはサポートされていません。NULL 値も結果からフィルタリングされることに注意してください(==NULL を使用して NULL の結果を表示できます)。
>=
この演算子は、演算子の左側の値が右側の値と等しいか大きい場合に TRUE を返します。それ以外の場合は FALSE を返します。文字列を比較する場合、演算子は大文字と小文字を区別した辞書式順序を使用します。
>
この演算子は、演算子の左側の値が右側の値より大きい場合に TRUE を返します。それ以外の場合は FALSE を返します。文字列を比較する場合、演算子は大文字と小文字を区別した辞書式順序を使用します。
= は等しい演算子としてサポートされていません。== または : を使用します。

パターン比較キーワード

演算子
説明
like
この演算子は、キーワードの左側の文字列が右側の文字列と一致する場合に TRUE を返します(大文字と小文字が区別されます)。リスト検索(以下の lookup 演算子を参照)をサポートしており、文字列の比較にのみ使用できます。大文字と小文字を区別しない照合には、like~ を使用します。
regex
この演算子は、キーワードの左側の文字列が右側の正規表現と一致する場合に TRUE を返します(「正規表現の構文」を参照)。list 検索をサポートし、文字列の比較にのみ使用できます。大文字と小文字を区別しない照合には、regex~ を使用します。
my_field like "VALUE*" // case-sensitive wildcard matching my_field like~ "value*" // case-insensitive wildcard matching my_field regex "VALUE[^Z].?" // case-sensitive regex matching my_field regex~ "value[^z].?" // case-insensitive regex matching

比較の制限

比較を連鎖することはできません。代わりに、比較の間に論理演算子を使用します(以下の論理演算子のセクションを参照)。
たとえば、
foo < bar <= baz
はサポートされていませんが、
foo < bar and bar <= baz
はサポートされています。
関数を使用してフィールドを変更した場合でも、フィールドを別のフィールドと比較することはできません。
次のクエリは、process.parent.name フィールドの値と process.name フィールドを比較するため無効です。
process where process.parent.name == "foo" and process.parent.name == process.name
次のクエリは、process.parent.name フィールドと process.name フィールドの両方を静的な値と比較するため、有効です。
process where process.parent.name == "foo" and process.name == "foo"

論理演算子

演算子
説明
and
この演算子は、条件が左右の両方で TRUE を返した場合にのみ TRUE を返します。それ以外の場合は FALSE を返します。
OR
この演算子は、左側または右側のいずれかの条件が TRUE の場合に TRUE を返します。それ以外の場合は FALSE を返します。
not
この演算子は、右側の条件が FALSE の場合に TRUE を返します。

ルックアップ演算子

演算子
説明
in
この演算子は、指定されたリストに値が含まれている場合に TRUE を返します(大文字と小文字が区別されます)。大文字と小文字を区別しない照合の場合は、in~ を使用します。
not in
この演算子は、指定されたリストに値が含まれていない場合に TRUE を返します(大文字と小文字が区別されます)。大文字と小文字を区別しない照合の場合は、not in~ を使用します。
:
この演算子は、指定されたリストに文字列が含まれている場合に TRUE を返します。文字列の比較にのみ使用できます。
like
この演算子は、提供されたリストの文字列と文字列が一致する場合に TRUE を返します(大文字と小文字が区別されます)。文字列の比較にのみ使用できます。大文字と小文字を区別しない照合には、like~ を使用します。
regex
この演算子は、指定されたリスト内の正規表現パターンと文字列が一致する場合に TRUE を返します(正規表現構文を参照)。文字列の比較にのみ使用できます。大文字と小文字を区別しない照合には、regex~ を使用します。
my_field in ("Value-1", "VALUE2", "VAL3") // case-sensitive my_field in~ ("value-1", "value2", "val3") // case-insensitive my_field not in ("Value-1", "VALUE2", "VAL3") // case-sensitive my_field not in~ ("value-1", "value2", "val3") // case-insensitive my_field : ("value-1", "value2", "val3") // case-insensitive my_field like ("Value-*", "VALUE2", "VAL?") // case-sensitive my_field like~ ("value-*", "value2", "val?") // case-insensitive my_field regex ("[vV]alue-[0-9]", "VALUE[^2].?", "VAL3") // case-sensitive my_field regex~ ("value-[0-9]", "value[^2].?", "val3") // case-insensitive

すべての条件が一致する

イベントカテゴリだけでイベントを照合するには、
where true
条件を使用します。たとえば、次のクエリはすべてのファイルイベントに一致します。
file where true
任意のイベントを照合するには、any キーワードを where true 条件と組み合わせます。
any where true

クエリの例

CylanceOPTICS EQL クエリの例」を参照してください。