ウェブフック NQL 条件の設定

WebhookのNQL条件フィールドのクエリを書く際は次を使用してください:

WebhookがサポートするNQLテーブル

以下に、WebhookがサポートするNQLテーブルを<namespace>.<table>形式で示します。

サポートされていないNQLオブジェクトをNQL条件フィールドに入れてWebhook設定を保存すると、正しい構文であってもエラーメッセージが表示されます。

ページの末尾にある、Webhookに対するNQL条件の例を参照してください。

WebhookがサポートするNQLオブジェクト

alert.alerts

campaign.responses

execution.crashes

device_performance.boots

device_performance.system_crashes

device_performance.hard_resets

remote_action.executions

sessions

WebhookがサポートするNQLプロパティ

Webhook設定ページのNQL条件フィールドでクエリを書く際に、システムは上記のNQLオブジェクトからサポートされるNQLプロパティを表示します。 以下の画像をご覧ください。

サポートされていないNQLテーブルプロパティを使用すると、正しい構文であってもシステムエラーが発生します。

ページの末尾にある、Webhookに対するNQL条件の例を参照してください。

WebhookがサポートするNQL演算子

すべてのNQL演算子が顧客に利用可能というわけではありません。 特定のイベントを処理する場合、以下のサブセットのNQL演算子を使用してください。

NQL演算子
タイプ
Webhookで使用可能
必須

where

選択

はい

いいえ

list

プロジェクション

はい

はい、少なくとも一度。

and

フィルタリング

はい

いいえ

or

フィルタリング

はい

いいえ

contains

フィルタリング

はい

いいえ

in

フィルタリング

はい

いいえ

WebhookのResourceまたはPayloadプレースホルダーとして使用するすべてのNQLフィールドをlist句に追加する必要があります。&#x20

プレースホルダーを使用しない場合でも、list句に少なくとも一つのNQLフィールドを追加する必要があります。

アラート関連のWebhookに対する有効なNQL条件の例

以下の有効なNQLクエリの例のいくつかは、あらかじめ関連するalertsを定義していると仮定しています。 詳細については、アラートを使い始める ドキュメントを参照してください。

有効なNQL例.1 - “(...)”という名前のモニターがアラートをトリガーし、特定のWebアプリケーションに条件が合致した場合にWebhookをトリガーする。&#x20

alert.alerts
| where monitor.tags contains "web-applications"
| where alert.context contains "*Salesforce*" or alert.context contains "*Microsoft*"
| list alert.monitor.name, alert.status, monitor.tags, alert.context, trigger_time, recovery_time, alert.monitor.thresholds, monitor.priority, alert.trigger_values, alert.trigger_reference_value, alert.recovery_values, alert.context, device_view_link , issue_view_link

有効なNQL例.2 - “MS Teams crashes in the last 24 hours" という名前のモニターがアラートをトリガーした時にWebhookを発動する。

alert.alerts
| where monitor.nql_id == "#ms_teams_crashes_in_the_last_24_hours"
| list alert.context

有効なNQL例.3 - high プライオリティのモニターがアラートをトリガーした時にWebhookを発動する。

alert.alerts
| where monitor.priority == high
| list alert.context

有効なNQL例.4 - “MS Teams crashes in the last 24 hours" または “Poor video quality for computers" という名前のモニターがアラートをトリガーした時にWebhookを発動する。

alert.alerts
| where monitor.name == "MS Teams crashes in the last 24 hours" or monitor.name == "Poor video quality for computers"
| list alert.context

有効なNQL例.5 - high プライオリティのモニターまたは “MS Teams crashes for SD" という名前のモニター、さらに “servicenow" を含むtagが設定されたモニターがアラートをトリガーした時にWebhookを発動する。

alert.alerts
| where monitor.priority == high or monitor.name == "MS Teams crashes for SD" and monitor.tags contains "servicenow"
| list alert.context

Webhookに対するその他の有効なNQL条件の例

有効なNQL例.6 - fast_startup に等しいデバイス起動条件をフィルタし、持続時間が200秒を超える場合。

device_performance.boots
| where type == fast_startup and duration > 200s
| list device_performance.boot.type, device_performance.boot.duration

有効なNQL例.7 - デバイスクラッシュをエラーコード335または49でフィルタし、タイムアウト状況に関連付けます。

device_performance.system_crashes
| where error_code == 335 or error_code == 49 and label in ["TIMEOUT"]
| list device_performance.system_crash.error_code

有効なNQL例.8 - zoom.exe バイナリによる実行クラッシュをフィルタし、起動時に5回以上クラッシュした場合。

execution.crashes
| where binary_path in ["zoom.exe"] and number_of_crashes >= 5 and crash_on_start == true
| list execution.crash.number_of_crashes

有効なNQL例.9 - nql_idに基づくリモートアクションをフィルタし、ステータスが[expired , failure , cancelled ]でない場合に完了します。

remote_action.executions
| where remote_action.nql_id == "#update_binary" and status in [expired , failure , cancelled ]
| list remote_action.execution.outputs

有効なNQL例.10 - 特定のキャンペーンの回答、状態、および詳細をリストする。

campaign.responses 
| where campaign.name == "campaign name" 
| list answers , state , state_details

Webhookの無効なNQL条件と一般的な間違い

以下の無効なNQLクエリの例のいくつかは、あらかじめ関連するalertsを定義していると仮定しています。 詳細については、アラートを使い始める ドキュメントを参照してください。

無効なNQL例.1 - サポートされていないNQLテーブル、list 演算子を欠いており、in 演算子の誤用。

device_performance.system_crashes
| where error_code == 335 or error_code == 49 and label in [*TIMEOUT*]

無効なNQL例.2 - 利用可能なプロパティがなく、in 演算子の誤用。

alert.alerts
| where trigger_time == "2021-10-23" and monitor.tags in ["*Logitech*"]
| list alert.context

無効なNQL例.3 - 利用不可能な演算子。

devices
| with alert.alerts during past 7d 
| summarize c1 = count() by sid 

無効なNQL例.4 - サポートされていないNQLテーブル。

devices
| where device.operating_system.platform == Windows
| list device.name

無効なNQL例.5 - サポートされていないNQL演算子。

devices
| with execution.crashes
| summarize count=count() by operating_system.name

無効なNQL例.6 - 列挙型を比較する際の誤った値。

device_performance.BoOTS | where type == FULLboot
device_PErformance.BoOTS | where type == FULLboot
device_PErformance.BoOTS | where TyPe == FULLboot
device_performance . boots | where type == FullbooT

関連トピック

Last updated