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時間選択を参照してください。
クエリ結果のカスタマイズ
テーブルと時間枠を指定した後、キーワード、演算子、および関数を使用して、システムに追加の指示を提供することでクエリをさらに絞り込むことができます。 これらの絞り込みにより、結果を整理、フィルタリング、または集約して、より充実した洞察を得ることができます。
例えば:
where
句を使用して結果をフィルタリング
```
binaries during past 24h
| where binary.name == "dllhost.exe"
```
list
句を使用して表示する特定のデータを選択
```
binaries during past 24h
| where binary.name == "dllhost.exe"
| list name, version, platform, architecture, size
```
結果を
sort
句を使用して順序付け 降順desc
句
```
binaries during past 24h
| where binary.name == "dllhost.exe"
| list name, version, platform, architecture, size
| sort size desc
```
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
Was this helpful?