概要
モニター通知ルールは、タグとルールロジックに基づいてチームにアラートを自動的に送信するための事前定義された条件のセットです。各モニターの受信者を個別に構成する代わりに通知ルールを使用すると、一度定義するだけでルールのスコープに一致するすべてのモニター通知を自動的にルーティングできます。
組織ごとにデフォルトで 1000 個のルール制限があります。.
セットアップ
Datadog でモニター通知ルールを作成するには、次を実行します。
- 通知ルールに移動します。
- 新しいルールをクリックします。
- スコープを構成する: このルールにルーティングされるモニター通知に必要なタグを定義します。
- ルーティングと受信者を構成する: 通知のルーティング方法を選択し、受信者を指定します。
- 明確で識別可能なルール名を追加します。
このルールにルーティングされるモニター通知に必要なタグを追加します。マッチングは通知タグセットを評価します。マッチングの仕組みについての詳細はこちら。
通知ルールが保存された後に作成または更新されたモニターは、ルールのスコープに一致する場合、定義された受信者にルーティングされます。
通知ルールスコープクエリは、Boolean ロジックをサポートし、他の多くのプラットフォーム製品でサポートされているイベントベースの検索構文に従います。
| 構文要素 | 説明 |
|---|
| Boolean 演算子 | サポート対象: AND、OR、NOT Implicit 演算子: AND |
| Wildcard | は key:* のみサポートされています (例: env:*)。部分的なワイルドカードのような env:prod-* はサポートされていません。key:* は、キーが通知タグセットのどこにでも存在する場合に一致します。 |
| 同じキーの複数の値 | env:(prod OR staging) または env:prod OR env:staging のいずれかを使用します。 |
| 引用符 | スペースや特殊文字を含む値は引用符で囲みます。例: team:"data platform"。 |
| 通知ルールのスコープ | 説明 |
|---|
service:web-store | web-store サービスに関する通知をすべてルーティングします。 |
service:web-store AND env:prod | prod 環境で実行している web-store サービスに関する通知をすべてルーティングします。 |
service:webstore AND NOT env:staging | staging 環境で実行していない web-store サービスに関する通知をすべてルーティングします。 |
env:* | env:<value>タグを持つすべての通知をルーティングします (モニターのタグまたはグループからのもの)。 |
以下はサポートされていません。
prod AND service:(A or B) や prod のようなキーなしのタグはサポートされていません。タグにはキーが必要で、この場合はたとえば env:prod です。
部分的ワイルドカード (service:web-*) および疑問符ワイルドカード service:auth? はサポートされていません。ワイルドカードは service:* のように単独で使用される場合のみ許可されます。
スコープの長さは最大 3000 文字です。
モニターアラートがルールのスコープに一致する場合に通知をルーティングする方法を選択します。受信者を手動で指定するか、動的ルーティングを使用して、チームおよびサービスの構成から受信者を自動的に解決できます。
手動ルーティング
モニター通知がルールのスコープに一致したときに通知する受信者を指定します。常にすべての受信者に通知することも、特定の条件が満たされたときのみ通知される条件付き受信者を設定することもできます (例えば、重要なアラートをオンコールの受信者にルーティングし、警告を Slack チャンネルに送信します)。
条件はモニターのステータスまたはタグに基づいて設定できます。
- ステータスベースの条件: モニターが特定のステータス (アラート、OK、警告、またはデータなし) に遷移したときに受信者に通知します。
- タグベースの条件: 特定のタグキーが指定された値を持つときに受信者に通知します (例:
env:prod)。各条件は 1 つのタグキーのみをサポートします。
通知はメールまたは任意の統合チャネルに送信できます。ルールごとの通知受信者の上限は 50 です。詳細については、Notificationsを参照してください。
動的ルーティング
動的ルーティングはプレビュー中です。アクセスをリクエストするには、Datadog アカウントチームに連絡するか、
Datadog サポートにお問い合わせください。
動的ルーティングは、既存のチームおよびカタログの構成に基づいて、モニターアラートを適切なチームに自動的にルーティングします。静的な受信者リストを維持する代わりに、動的ルーティングはアラートモニターの service または team タグを使用して、通知を送信する場所を決定します。
| 構成 | 説明 | 要件 |
|---|
| サービスベース | モニターの service タグまたはグループタグをチェックし、そのサービスを管理しているチームを Catalog で調べて、そのチームの設定された通知チャネルにアラートを送信します。 | サービスにはカタログでチームが割り当てられている必要があります。チームが割り当てられていない場合、アラートはフォールバック受信者に戻ります。 |
| チームベース | モニターの team タグまたはグループタグを直接チェックし、そのチームの構成済み通知チャネルにアラートを送信します。 | モニターには team タグが必要です。 |
| フォールバック | ルーティングが解決できない場合 (例えば、サービスにチームが割り当てられていない、または構成された通知チャネルがチームにない場合)、アラートはフォールバック受信者に送信されます。フォールバック受信者は、手動ルーティング受信者と同様に動作します。 | すべての動的ルーティングルールに必要です。 |
サービスベースとチームベースのルーティングは、Slack、メール、PagerDuty、Microsoft Teams をサポートしています。Teams は、Teams 設定で通知チャネルを構成できます。
通知ルールの管理
モニター設定から
モニター通知ルールページには、次の列を持つすべての通知ルールのテーブルが表示されます。
- 名前: 通知ルール名
- スコープ: このルールが適用される条件を定義するタグの組み合わせを示します (例:
team:shopist service:web-store env:prod)。 - チーム: この通知ルールに関連付けられているチームのリスト (スコープにチームタグが追加されている場合のみ利用可能)
- カバレッジ: このルールのスコープに一致するモニターの数を示します。これを使用してルールのカバレッジを確認し、調整が必要なルールを特定します。
- 通知: このルールが一致したときにアラートを受信する通知チャネル (Slack やメールなど) をリストします。
さらに、通知ルールの縦 3 点メニューをクリックして、編集または削除できます。
個別のモニターから
モニター構成では、通知ルールにマッチングすることによってモニターに適用される受信者が受信者の概要に表示されます。モニターの編集ページでは、新しいグループが報告する際に一致する_可能性のある_ルール (マルチアラートモニター) も表示されることがあります。モニターのステータスページには一致するルールが表示されます。
マッチングの仕組み
- 通知タグセットは、モニタータグとファイアリンググループのタグの和集合です (マルチアラートモニター用)。キーがモニター / グループ全体で複数の値を持つ場合、すべての値が考慮されます。
- 現在の一致: ルールは、少なくとも 1 つの報告グループがモニタータグと組み合わさってスコープを満たす場合、またはモニタータグのみで満たす場合に一致します。NOT は候補タグセットごとに評価されるため、拒否された値を持つグループは一致しません。
- 新しいグループが報告する際に一致する可能性があります (マルチアラートモニター、モニター編集ページ): 各グループのキーを、モニタークエリの許可 / 拒否フィルターによって制約された任意の値を持つものとして扱います。
- 複数のルールが単一の通知に一致する場合、すべてのマッチングルールの受信者が統合され、重複が排除されます。
![モニター通知ルールがタグに一致し、モニターとルールから受信者を結合し、アラートを送信する前に重複を削除する方法を示すフローチャート]()
以下の表は、異なるタグの組み合わせを持つモニターが通知ルールとその結果の通知にどのように一致するかを示しています。このテーブルは次の方法を示しています。
- 複数の通知ルールがタグに基づいて単一のモニター通知に一致することがあります。
- AND ロジックは、ルール内の複数のタグに対して機能します。
- すべてのマッチング通知ルールは、最終的な通知リストに受信者を追加します。
- 受信者は最終的な通知リストで重複が排除されます。
| 通知ルール | |
|---|
| team:shopist, service:web-store | team:shopist | service:web-store | service:web-store env:prod | service:web-store env:dev | |
|---|
| モニターアラートタグと通知 | @slack-channel1 @jira-project | @jira-project | @jira-project | @user@datadoghq.com | @jira-project | 通知されたハンドル |
team:shopist, service:web-store @user@datadoghq.com | | | | | | @slack-channel1 @jira-project @user@datadoghq.com |
team:shopist | | | | | | @jira-project |
service:web-store | | | | | | @jira-project |
service:web-store, env:prod | | | | | | @jira-project @user@datadoghq.com |
service:web-store, env:dev | | | | | | @jira-project |
team:shopist and service:web-store, env:prod @slack-service1 @jira-project @user@datadoghq.com | | | | | | @slack-channel1 @slack-service1 @jira-project @user@datadoghq.com |
参考資料