NQL構文の概要

テーブルの指定

すべてのNQLクエリは、データを選択するテーブルを指定する短い文で始まります。 テーブルを指定する構文は次のとおりです:

<namespace>.<table>

例えば、execution名前空間のeventsテーブル内のすべてのレコードを一覧表示するには、次のような文になります:

execution.events

構文のショートカット

名前空間とテーブルを入力する代わりに、事前定義されたショートカットを使用することもできます。 最初に名前空間を付けずにテーブル名だけを入力すると、次のテーブルからデータを取得できます:

名前空間
テーブル
ショートカット

application

applications

applications

binary

binaries

binaries

campaign

campaigns

campaigns

device

devices

devices

user

user

users

例えば、device名前空間のdevicesテーブル内のすべてのレコードを一覧表示するには、device.devicesの代わりにdevicesと入力します。

devices

テーブルからデータを照会するために結果に含まれるテーブルフィールドを指定する必要はありません。 システムには、レコードを特定するために最も関連性の高いデフォルトフィールドが含まれています。 特定のテーブルに含まれるフィールドの詳細については、NQLデータモデルページを参照してください。 特定のテーブルの他のフィールドにアクセスするには、NQLリストキーワードを使用します。

時間枠の指定

特定の期間にわたって結果をフィルタリングするオプションがあります。NQL文のテーブル名のすぐ後に時間枠の選択を配置します。 必要に応じて、さまざまなデータ選択形式や時間精度を選択できます。 例えば、過去の日数を指定することができます:

execution.crashes during past 7d

または特定の日付:

execution.crashes on Feb 8, 2024

また、次の在庫オブジェクトを照会するときに時間選択を使用することができます:デバイス、ユーザー、バイナリ。 在庫オブジェクトに対して時間枠を指定すると、システムはオブジェクトのアクティビティの背後にあるイベントを参照します。

例えば、次のクエリは同じデータセットを参照します。

devices during past 7
devices 
| with device_performance.events during past 7

時間選択フォーマットに関する詳細情報は、NQL時間選択を参照してください。

クエリ結果のカスタマイズ

テーブルと時間枠を指定した後、キーワード演算子、および関数を使用して、システムに追加の指示を提供することでクエリをさらに絞り込むことができます。 これらの絞り込みにより、結果を整理、フィルタリング、または集約して、より充実した洞察を得ることができます。

例えば:

  1. where句を使用して結果をフィルタリング

binaries during past 24h
| where binary.name == "dllhost.exe"
  1. list句を使用して表示する特定のデータを選択

binaries during past 24h
| where binary.name == "dllhost.exe"
| list name, version, platform, architecture, size
  1. 結果をsort句を使用して順序付け 降順desc

binaries during past 24h
| where binary.name == "dllhost.exe"
| list name, version, platform, architecture, size
| sort size desc
  1. limit句を使用して結果の最大数を設定

binaries during past 24h
| where binary.name == "dllhost.exe"
| list name, version, platform, architecture, size
| sort size desc
| limit 10

特定の指示についての詳細は、NQLキーワードセクションを参照してください。

パターンマッチング

テキストフィルタで*?といったワイルドカード文字を使用してください。

*は任意の数の文字を置き換えます

?は任意の単一の文字を置き換えます

例えば、名前がdllで始まり**.exe**で終わるすべてのバイナリを一覧表示するには、次のクエリになります:

binaries during past 24h
| where binary.name == "dll*.exe"
| list size,name,version 
| sort size desc 
| limit 100

Last updated