プログラム可能テスト¶
本ドキュメントの位置づけ
本ドキュメントは、テストルール設定フローにおける第2ステップです。設定完了後、メインドキュメントに戻り第3ステップ:イベント通知に進んでください。
スクリプトを作成してテストルールを定義し、さまざまなシステムデータタイプに対するテストニーズをカバーします。DQL を使用したデータのクエリと、カスタムロジック(フィールドマッチング、しきい値判定など)によるシグナルトリガー条件の設定をサポートし、柔軟な監視およびアラートポリシーを実現します。
注意
プログラム可能テストモニターの実行自体は課金されません。そのルールはセキュリティチェックスキャントラフィックと同じ課金方式が適用されます。
テスト設定¶
テスト頻度¶
テストを実行する時間間隔を設定します。
-
プリセットオプション:30秒、1分、5分(デフォルト)、15分、30分、1時間
-
Crontab モード:「Crontab モードに切り替える」をクリックすると、カスタム周期を設定できます。秒、分、時、日、月、週などの単位で定期実行スケジュールを設定できます。
テスト範囲¶
テスト実行時にクエリするデータの時間範囲を設定します(❗️テストルール内の DQL クエリで時間範囲が指定されている場合、システムはルール内で定義された時間範囲を優先します)。
| テスト頻度 | テスト範囲(ドロップダウンで選択可能) |
|---|---|
| 30s | 1m/5m/15m/30m/1h/3h |
| 1m | 1m/5m/15m/30m/1h/3h |
| 5m | 5m/15m/30m/1h/3h |
| 15m | 15m/30m/1h/3h/6h |
| 30m | 30m/1h/3h/6h |
| 1h | 1h/3h/6h/12h/24h |
- カスタム形式:テスト範囲を直接入力できます。例:
20m(過去20分)、2h(過去2時間)、1d(過去1日)。
テストルールの定義¶
スクリプトを作成してセキュリティテストロジックを定義します。スクリプト内で DQL を使用したデータのクエリと、条件式(フィールドマッチング、しきい値判定など)によるシグナルトリガー条件の設定をサポートします。
エディタ機能¶
| 機能 | 説明 |
|---|---|
| 自動折り返し | テキストの自動折り返し、またはオーバーフロー表示を設定 |
| fx 関数 | fx 関数を利用してルール作成を支援 |
| ショートカットキー | ショートカットキーを使用して内容の整形処理を実行 |
| ワンクリックコピー | スクリプト内容をクリップボードにすばやくコピー |
| ルール作成ガイド | スクリプト作成の規範とサンプルを確認 |
| テスト開始 | スクリプトロジックが正しく実行されるかを検証 |
スクリプトサンプル¶
サンプル:
data1 = dql("T::re(`.*`):(avg(duration), service, span_id) by host limit 1")
status = "high"
host = dql_series_get(data1,"host")
service = dql_series_get(data1,"service")
trigger(data1,status,dimension_tags={"host":host},related_data={"service":service})
上記のスクリプトサンプルは、主に以下の部分で構成されています。
-
データクエリを実行し、すべてのサービスから各ホストの平均応答時間が最も悪いパフォーマンスデータを1件取得します。
-
アラートレベルを設定:優先度は
high。 -
データソースを特定:
-
最終的にアラートを生成:
ホスト {host} 上の {service} サービスの応答時間が異常です
後続の設定¶
上記のテスト設定が完了したら、引き続き以下の設定を行ってください。