コンテンツにスキップ

検出ルール


システムには豊富な検出ルールが組み込まれており、さまざまなデータのモニタリングニーズに的確に対応し、誤アラートとアラート漏れを効果的に防ぎます。

設定フロー

モニターを作成するには、以下の順序で設定を完了する必要があります:

  1. ルールタイプの選択:検出設定のデータ範囲とアルゴリズムロジックを決定します;
  2. 検出設定:タイプごとに対応する設定項目が異なります;
  3. イベント通知:イベントタイトル、内容、関連情報、およびデータ欠落時の処理を定義します;
  4. アラート設定:通知ポリシーとミュート期間を設定します;
  5. 関連付け:ダッシュボードの関連付けを設定します;
  6. 権限:操作権限を設定します。

「検出設定」はルールタイプによって異なりますが、イベント通知、アラート設定、関連付け、権限の設定ロジックはすべてのルールタイプで共通です。

ルールタイプ

モニタリング対象に応じて適切な検出ロジックを選択できます:

ルール名
データ範囲
基本説明
しきい値検知 すべて 設定したしきい値に基づいてメトリクスデータの異常を検知します
急変検知 メトリクス(M) 履歴データに基づいてメトリクスの突発的な異常を検知します。業務データや時間ウィンドウが短いシナリオに適しています
区間検知 メトリクス(M) 動的なしきい値範囲に基づいてメトリクスの異常データポイントを検知します。トレンドが安定している時系列に適しています
区間検知 V2 メトリクス(M)
トレース(T)
RUM データ(R)
動的なしきい値範囲に基づいてメトリクスの異常データポイントを検知します。トレンドが安定している時系列に適しています
外れ値検知 メトリクス(M) 特定のグループにおける検出対象のメトリクス/統計データに外れ値の乖離があるかを検知します
ログ検知 ログ(L) ログデータに基づいて業務アプリケーションの異常を検知します
プロセス異常検知 プロセスオブジェクト(O::host_processes) プロセスデータを定期的に検知し、プロセスの異常状況を把握します
インフラストラクチャー稼働検知 V2 オブジェクト(O) インフラストラクチャーのオブジェクトデータに基づいて稼働条件を設定し、インフラストラクチャーの安定性を監視します
APM メトリクス検知 トレース(T) アプリケーションパフォーマンスモニタリング(APM)データに基づいてしきい値ルールを設定し、異常を検知します
RUM メトリクス検知 RUM データ(R) リアルユーザーモニタリング(RUM)データに基づいてしきい値ルールを設定し、異常を検知します
複合検知 すべて 複数のモニターの結果を式で組み合わせて 1 つのモニターにし、組み合わせた結果に基づいてアラートを送信します
Synthetic テスト異常検知 Synthetic データ(D::类型) Synthetic モニタリングデータに基づいてしきい値ルールを設定し、異常を検知します
ネットワークデータ検知 ネットワーク(N) ネットワークデータに基づいてしきい値ルールを設定し、ネットワークパフォーマンスの安定性を検知します
外部イベント検知 その他 指定した URL アドレスを介して、サードパーティシステムで発生した異常イベントやレコードを POST リクエストで HTTP サーバーに送信し、イベントデータを生成します
インフラストラクチャー変更検知 オブジェクト(O) インフラストラクチャーのライフサイクル追跡に基づいて、さまざまな変更動作を監視し、構成ドリフトや不正操作などの異常を正確に特定します
プログラマブル検知 すべて スクリプトで検出ルールを作成します。ルールが多様で複雑なモニタリングシナリオに適しています

ルールタイプを選択すると、「検出設定」モジュールで選択可能なパラメータがそれに応じて変わります。イベント通知と以降の設定は、すべてのタイプで共通です。

検出設定

検出ルールのタイプに応じて、対応する検出頻度、検出区間、検出メトリクスをそれぞれ設定できます。

ルールタイプによって検出設定は大きく異なります。対応するタイプの詳細設定ドキュメントを参照してください。

データ待機ウィンドウ

データ待機ウィンドウはすべてのモニタータイプに適用されます。計画された実行時間に達すると、モニターは指定した時間だけ待機してから監視判定を実行し、データ遅延による誤報の可能性を低減します。

  • デフォルトは待機なしです;
  • 選択可能な待機時間は 1 分、2 分、3 分、5 分、10 分、15 分、30 分です;
  • 待機時間は隣接する 2 回の計画実行時間の間隔より短い必要があります。そうでない場合、モニターを保存できず、「データ待機ウィンドウはモニター実行間隔より短くする必要があります」と表示されます。Crontab モードでも隣接する 2 回の計画実行時間に基づいて検証されます。

たとえば、モニターが 10:00 に実行される予定で、データ待機ウィンドウが 5 分に設定されている場合、タスクは約 10:05 に実行されます。待機によって実行時間が遅れるだけで、クエリの時間範囲は変わりません。検出区間が直近 1 時間の場合でも、09:00 ~ 10:00 のデータを引き続きクエリします。

詳細な実行ロジックについては、モニターの内部原理を参照してください。

イベント通知

モニターがトリガーされたときに生成されるイベントのタイトル、内容、通知メンバー、および関連処理を定義します。

イベントタイトル

アラートのトリガー条件となるイベント名を定義します。プリセットのテンプレート変数を使用できます。

注意

最新バージョンでは、モニター名はイベントタイトルの入力後に自動的に生成されます。古いモニターではモニター名とイベントタイトルが一致しない場合があるため、最新バージョンへ同期することをお勧めします。

イベント内容

イベント通知の内容を入力します。トリガー条件を満たすと、システムはこの内容を外部に送信します。通常、以下の情報が含まれます:

イベント内容は構文チェックとテンプレートプレビューに対応しており、保存前に変数や条件分岐のレンダリング結果を確認できます。

+ リンクをクリックすると、システムが現在の検出メトリクスに基づいてジャンプリンクを自動生成します。リンクアドレスには、現在のドメイン名、ワークスペース ID、検出時間範囲({{df_check_range_start}} ~ {{df_check_range_end}})、および動的なフィルター条件が含まれます。

リンクタイプ 説明 設定要件
カスタムリンク 任意の URL をサポートし、テンプレート変数を使用できます 完全なリンクアドレスを手動で入力する必要があります
関連ログを表示 ログエクスプローラーにジャンプします 自動生成されます。挿入後にフィルター条件と時間範囲を調整できます
関連トレースを表示 トレースエクスプローラーにジャンプします 自動生成され、現在の trace_id またはサービス名に自動的に関連付けられます
関連 Profile を表示 Profile エクスプローラーにジャンプします 自動生成され、サービス名と時間範囲が自動的に入力されます
関連コンテナを表示 コンテナオブジェクトの詳細にジャンプします 自動生成され、コンテナ名とホストタグが自動的に照合されます
関連 Pod を表示 Pod オブジェクトの詳細にジャンプします 自動生成され、Pod 名と名前空間が自動的に入力されます
関連プロセスを表示 プロセスオブジェクトの詳細にジャンプします 自動生成され、ホストとプロセス名が自動的に照合されます
関連セッションを表示 RUM セッションリプレイにジャンプします 自動生成され、Session ID が自動的に入力されます
関連 View を表示 RUM View エクスプローラーにジャンプします 自動生成され、ビューパスが自動的に入力されます
関連エラーを表示 RUM Error エクスプローラーにジャンプします 自動生成され、エラータイプと時間範囲が自動的に入力されます
関連リソースを表示 RUM Resource エクスプローラーにジャンプします 自動生成され、リソースパスが自動的に入力されます
関連 Synthetic モニタリングを表示 Synthetic テストの詳細にジャンプします 自動生成され、Synthetic テスト名に自動的に関連付けられます
関連ダッシュボードを表示 指定したダッシュボードにジャンプします ダッシュボード ID と名前を手動で入力する必要があります。ビュー変数と時間範囲を調整できます

リンク形式の例:

ログエクスプローラー:[関連ログを表示](<{{STUDIO_CONSOLE_BASE_URL}}/logIndi/log/all?time={{df_check_range_start}},{{df_check_range_end}}&w={{df_workspace_uuid}}>)

トレースエクスプローラー:[関連トレースを表示](<{{STUDIO_CONSOLE_BASE_URL}}/tracing/link/all?time={{df_check_range_start}},{{df_check_range_end}}&w={{df_workspace_uuid}}>)

テンプレート変数

+ 変数をクリックしてプリセットのテンプレート変数を挿入します。変数はイベントのトリガー時に実際の値に動的に置き換えられます:

変数 説明
{{df_dimension}} 検出ディメンションオブジェクト
{{df_monitor_checker_name}} 現在のモニター名
{{df_monitor_name}} 所属するアラートポリシー名
{{Result}} 検出結果の数値
{{df_status}} イベントステータス(error/warning/ok)
{{df_event_id}} イベントの一意の識別子

サポートされているすべてのテンプレート変数は、クリックしてご確認ください。

詳細設定

「詳細設定」を通じて、DQL を使用して関連データのコンテキストをイベントに埋め込めます。

1. 関連ログを追加

クリックするとテンプレートが自動生成されます:

{% set dql_data = DQL("L::RE(`.*`):(`message`) { `index` = 'default' } LIMIT 1") %}
{{ dql_data.message | limit_lines(10) }}

設定のポイント:

  • {index= 'default' } を実際のインデックス名に置き換える必要があります
  • RE(``.*``) は正規表現のマッチングをサポートします。例:RE(``error\|exception``)
  • limit_lines(10) は出力行数を制限し、通知が長くなりすぎるのを防ぎます

2. 関連エラースタックを追加

クリックするとテンプレートが自動生成されます:

{% set dql_data = DQL("T::re(`.*`):(`error_message`,`error_stack`){ (`source` NOT IN ['service_map', 'tracing_stat', 'service_list_1m', 'service_list_1d', 'service_list_1h', 'profile']) AND (`error_stack` = exists()) } LIMIT 1") %}
{{ dql_data.error_message | limit_lines(10) }}
{{ dql_data.error_stack | limit_lines(10) }}

設定のポイント:

  • source NOT IN [...] は統計系の集約データを除外し、元のトレースのみを保持します
  • (error_stack= exists()) はスタック情報を含むエラーを確実に返します
通知メンバー(@)

クリックしてワークスペースメンバーを選択します。

有効になる条件:

  1. インシデント関連付けが有効な場合のみ、@メンバー設定が有効になり、指定したメンバーにこのイベント内容が送信されます;
  2. この設定はアラート設定の通知先とは独立しており、アラート通知の範囲には影響しません。
カスタム通知内容

デフォルトでは、システムはイベント内容をアラート通知の内容として使用します。実際に外部へ送信する通知をカスタマイズする必要がある場合は、ここでスイッチを有効にして通知情報を入力できます。

  • 独立したエディターが展開され、外部に送信する通知内容を個別に定義できます;
  • 元のイベント内容は引き続きプラットフォーム内に保持され、イベント詳細の表示に使用されます;
  • 独立したエディターでも、Markdown、テンプレート変数、関連リンク、詳細設定を使用できます。

データ欠落イベント

データ欠落(データの報告がない)時の通知内容をカスタマイズします。この種のイベントが最終的に外部に送信される際のタイトルや内容などを併せて設定できます。

カスタム設定がない場合、システムは公式のデフォルトテンプレートを使用して欠落アラートを送信します。

カスタマイズしたデータ欠落イベントの内容でも構文チェックとテンプレートプレビューに対応しており、プレビューでは現在入力されているデータ欠落のタイトルと内容が使用されます。

インシデント関連付け

関連付けを有効にすると、このモニターで異常イベントが発生した場合、インシデントが同時に作成されます。

設定項目
  1. 自動的に作成されたインシデントにタグを追加し、インシデントセンターでの分類・絞り込みを容易にします;
  2. イベント重要度とインシデント重要度のマッピング関係を設定します。複数のルールを追加できます。

  3. 致命的/重大/重要/警告/データ欠落レベルのイベントが発生すると、新しいインシデント重要度 P0/P1/P2/P3/... が同時に作成されます

ここで作成されたインシデントはインシデントセンターで確認できます(❗️この種のインシデントにはタグのフィルター条件が含まれます)。

連動の仕組み
  1. イベントがトリガーされると、インシデントセンターにインシデントレコードが自動的に作成され、インシデントの説明にイベント内容が自動的に同期されます;
  2. イベント内容の @メンバー リストに基づいて、インシデント作成の通知を送信します;
  3. インシデントセンターでインシデントの詳細を確認できます。システムは、そのインシデントに関連するデータ全体(パフォーマンスメトリクス、エラーログ、呼び出しトレース、インフラストラクチャートポロジーなど)を自動的に関連付けて表示します。

アラート設定

モニターがトリガー条件を満たすと、指定された通知先にアラートメッセージが直ちに送信されます。

アラートポリシー

作成済みのアラートポリシーを選択します。複数選択に対応しています。ポリシー名をクリックすると詳細が展開され、アラートポリシーを編集をクリックすると設定を変更できます:

設定項目 説明
通知設定 このポリシーにバインドされている通知先グループを表示します(例:すべてなど)
重複アラート 同じイベントについて、指定した時間内(例:10 分)は重複するアラート通知を送信しません
アラート集約 集約方法(例:AI 集約)
集約周期 指定した時間内(例:5 分)の新規イベントを 1 つのアラート通知に集約して送信します。周期を超えた新規イベントは、新しいアラート通知に集約されます

関連付け

作成済みのダッシュボードを選択してモニターとダッシュボードの関連付けを確立し、すばやくジャンプして監視データを可視化して確認できるようにします。

権限

モニターの操作権限を設定し、各ユーザーが役割と権限レベルに応じて設定に沿った操作を行えるようにします。現在のワークスペースの Owner は、ここでの操作権限設定の影響を受けません。

  • この設定を有効にしない場合:「モニター設定管理」のデフォルト権限に従います;
  • この設定を有効にしてカスタム権限オブジェクトを選択した場合:作成者と権限が付与されたオブジェクトのみが、このモニターに設定されたルールの有効化/無効化、編集、削除を実行できます;
  • この設定を有効にしたがカスタム権限オブジェクトを選択していない場合:作成者のみがこのモニターの有効化/無効化、編集、削除の権限を持ちます。

さらに、ワークスペースの Owner は統合権限管理設定を使用して、管理者、役割、またはメンバーにモニターの操作権限を一括して付与できます。権限を付与されたオブジェクトは、カスタム操作権限が有効になっているすべてのモニターを操作できるため、各モニターのカスタム権限オブジェクトに個別に追加する必要はありません。

検出を即時トリガー

ルールの設定が完了したら、検出を即時トリガーをクリックしてテストを手動で 1 回実行し、現在のルール設定の全体的な効果を検証できます。テストの実行によって実際のアラート通知が生成されることはありません。

アラートキャッシュ保護メカニズム

設定が完了すると、モニターは実行中に以下の保護ポリシーを実行します。システムは以下のメカニズムにより、高カーディナリティの集約によって過剰な検出オブジェクトが生成されるのを防ぎ、システムへの負荷を軽減します:

段階 トリガー条件 システム動作
しきい値警告 検出オブジェクト数がシステム制限の 80%(80,000 件)に達する システム通知をトリガーし(1 日最大 1 回)、クエリ条件とグループ設定の確認を促します
上限超過保護 検出オブジェクト数がシステム上限の 100,000 件に達する モニターを自動的に一時停止して通知を送信します。一時停止中は実行を停止します

アラートキャッシュの上限は 100,000 件、警告比率は 80% です。

一時停止からの復旧メカニズム

アラートキャッシュの上限超過によりモニターがシステムによって一時停止された場合、次のいずれかの操作を実行すると自動的に復旧します:

  • クエリ条件を変更してモニターを再保存する
  • モニターを直接再保存する

システムはアラートキャッシュのマーカーを自動的にクリアし、モニターの通常動作を復旧します。追加の操作は必要ありません。

関連情報

モニタールールの作成が完了したら、以下の操作が必要になる場合があります:

フィードバック

このページは役に立ちましたか?