概要
タグインデックスルールは、Datadog が取り込み時にメトリクスタグをどのように処理するかを定義する一元化された構成です。これにより、保持または除外するタグを事前に制御でき、不必要なタグを削除することで高いカーディナリティを軽減し、組織全体で一貫したタグ付けを確保することに役立ちます。
タグインデックスルールは、名前またはプレフィックスで識別されるメトリクスのグループに適用されます。定義されたパターンに一致する既存のメトリクスと新たに取り込まれたメトリクスの両方に適用され、リアクティブクリーンアップやコード変更の必要性を減らし、より予測可能なコスト管理を可能にします。
タグルールを作成する
ルールを作成すると、Datadog は自動的にすべての一致するメトリクスに適用します。
- メトリクス → 設定の順に移動します。
- タグインデックスルールを構成するを選択します。
ステップ 1: ルールの詳細を設定する
ルール名を入力します。ルールの目的を明確に識別できる説明的な名前を使用します。
ステップ 2: ルールスコープを定義する
ルールが適用されるメトリクスを選択します。次の 1 つ以上のオプションを使用してルールスコープを定義します。
- メトリクス名またはプレフィックス
- 特定のメトリクス名またはネームスペースにルールを適用します (例:
http.*、db.query.*) - プレフィックスの例外
- 特定のプレフィックスをルールスコープから除外します (例:
http.* に適用しますが、http.client.* は除外します)
複数のルールが同じメトリクスに適用される場合、Datadog はそれらを順番に評価します。オプションで上書きの動作を使用して、選択済みメトリクスの以前に評価されたルールを置き換えます。
ルールがスコープ内のメトリクスに対するタグをどのように処理するかを定義します。
既存の構成をマージまたは上書きする
このルールを既存のタグ構成に基づくものにするか置き換えるかを選択します。
- マージ (デフォルト) — 既存のタグ構成の上にこのルールを適用します。以前に構成されていないメトリクスには影響しません。
- 上書き — 同じプレフィックスに適用される他のすべてのルールを無視し、このルールを独占的に強制します。この動作を有効にするには、これらのプレフィックスに適用される他のすべてのルールを上書きするオプションを選択します。
注: より狭いルールで上書きの動作を使用して、より広いルールの除外されたタグが重複しないようにします。例えば、ルール 1 がマージの動作を使用して dd.* から hostを除外し、ルール 2 が dd.payments.* から app_name を除外するとします。ルール 2 もマージを使用する場合、host と app_name の両方が dd.payments.* メトリクスから削除されます。ルール 2 が上書きを使用する場合、app_name のみが削除されます (ルール 1 の効果はそのプレフィックスに対して上書きされます)。
新しいメトリクスにのみ適用する
このルールはルールが作成された後に送信されたメトリクスにのみ適用されます。ルールに一致する既存のメトリクスは変更されません。
タグフィルタリングに許可リストまたはブロックリストを使用するかどうかを選択します。
- タグを含める — クエリ可能なタグの許可リストを使用します。
- タグを除外する — クエリ不可能なタグを定義するためのブロックリストを使用します。
含めるまたは除外するタグキーを追加します。
タグの動作を設定した後、影響を受けるメトリクスのリストがプレビューに表示されます (UI で最大 100 件)。
制限事項
- 除外ルールは、Datadog がメトリクス上のタグを観測した後に適用されます。
- Datadog はルールを順次評価し、各後続のルールを以前の構成に基づくものにするか置き換えます。
ルールを修正する
既存のルールを修正するには、メトリクス → 設定 → ルールの順に移動します。変更を加えると、Datadog は自動的にそれらをすべての一致するメトリクスに適用します。
ルールを編集する
ルールを選択してその詳細パネルを開き、次に編集をクリックして、ルールスコープ、タグの選択、またはマージと上書きの動作を変更します。
ルールの順序を変更する
評価順序を変更するためにルールをドラッグします。評価順序は、複数のルールが同じメトリクスに適用される場合のルールの相互作用を決定します。
ルールを削除する
不要なルールを削除します。ルールを削除すると、Datadog は残りのルールに基づいて、影響を受けるメトリクスのタグ構成を再計算します。
特定のメトリクスに対するルールの上書き
メトリクスをタグルールから除外するには、メトリクスの詳細サイドパネルをメトリクスサマリーで開き、このメトリクスを個別に構成するを選択し、メトリクスがすべてのタグを保持するように設定します。すべてのタグを保持すると、そのメトリクスに対するタグルールは適用されなくなり、ルール自体を変更する必要がなくなります。
ルールを再適用するには、同じパネルからメトリクスのデフォルト構成を復元します。
ルールの優先度
複数のルールが同じメトリクスに適用される場合、Datadog はそれらを順番に評価します。ルールの順序が重要な理由:
- 評価順序が低いルールは以前のルールの結果を変更する
- 上書き動作は一致するメトリクスの以前の構成を上書きする
- マージ動作は既存の設定に基づいて構築される
- 複数のルールが上書き動作を使用する場合、最後に適用されたルールによって最終構成が含まれるモードか除外されるモードかが決まる
ルールページでルールの順序を変更して、どのルールを優先するかを変更します。異なる順序が異なる結果を生むことを理解するために、以下の例を参照してください。
優先度の例
例 1: マージとオーバーライドの動作
タグルールは、既存の構成を上書きまたはマージすることができます。この選択によって、ルールがタグ構成をリセットするか、既に存在するものの上に構築するかが決まります。
開始タグ:
host、env、service、team
重要なインサイト: env タグは infra.* メトリクスにのみ再追加されます。
例 2: ルールの順序
複数のルールが同じメトリクスに適用される場合、Datadog はそれらを順番に評価します。後に実行されるルールは、前のルールの効果を洗練したり上書きしたりできます。
開始タグ:
host、env、service
この例では、ルール 2 が含める構成を使用しており、これは許可リストとして機能します。リストに記載されたタグのみが保持され、リストにないタグは削除されます。
順序 1: 特定のルールが最初
重要なインサイト: ルール 1 が host タグを削除した後、ルール 2 が host を再追加します。
順序 2: 一般的なルールが最初
重要なインサイト: host タグは最後に削除され、削除されたままになります。
例 3: 広範なルールの例外
広範なルールを上書き動作で適用し、タグをグローバルに除外した後、特定のメトリクスに対してタグを復元するためにマージ動作を適用するターゲットルールを使用します。
開始タグ:
node、env、pod
重要なインサイト: 幅広い除外と狭い包含がメトリクスに対して互いに打ち消し合うと、タグの制限は適用されず、すべての元のタグが保持されます。
例 4: 幅広いルールの複数の例外
幅広いルールの上にマージ動作を持つ複数のルールを重ね、異なるメトリクスプレフィックスに対して異なるタグを復元するために上書き動作を持つルールを適用します。より具体的プレフィックスに一致するメトリクスは、より多くの復元を蓄積します。
開始タグ:
team、pod、env
重要なインサイト: マージ動作を持つ複数の包含ルールは、上書き動作を持つ除外ルールの後に適用されると加算的です (2 つの例外プレフィックスに一致するメトリクスは両方のセットのタグが復元されます)。
Metrics without Limits™ の互換性
タグルールは、既存のMetrics without Limits™ (MWL) のメトリクスごとの構成を自動的に上書きすることはしません。既存の MWL 構成が優先され、Datadog はタグルールを作成または変更する際にそれらを保持します。
メトリクスの MWL 構成が削除されると、タグルールは現在のルール順序に基づいてそのメトリクスに自動的に適用されます。
特定のメトリクスをすべてのタグルールから除外するには、メトリクスの詳細サイドパネルを使用してすべてのタグを保持します。ルールを再適用するには、同じパネルからメトリクスのデフォルト構成を復元します。
参考資料