概要
トレーサー構成を変更したりコードを再デプロイしたりすることなく、Datadog 全体でサービスの表示方法を更新します。サービスリマッピングルールを使用すると、Datadog UI からインフラストラクチャータグに基づいてサービスの名前変更、マージ、分割、または新しいサービスの作成を行うことができます。推論されたサービス、データストア、キューなど、他のエンティティタイプのリマッピングルールを作成することもできます。
各組織に最大 100 個のリマッピングルールを含めることができます。
前提条件
リマッピングルールを作成、編集、削除するには、APM サービスリマッピング書き込み権限 (apm_service_renaming_write) が必要です。Datadog のロールベースのアクセス制御の詳細については、権限を参照してください。
トレーサーバージョンの要件
サービスリマッピングルールは、サポートされているトレーサーバージョンでインスツルメントされたサービスに対してのみ作成できます。サービスが古いトレーサーバージョンから報告されている場合は、そのサービスのリマッピングルールを作成する前に SDK をアップグレードしてください。
注: これは、インスツルメントされたサービスにのみ適用されます。推論されたサービス、データストア、またはキューをリマップするためのトレーサーバージョンの要件はありません。
サービスリマッピングルールを作成する
ステップ 1: リマッピングアクションとターゲットエンティティを選択する
Datadog で、[APM] > [Catalog] (カタログ) > [Manage] (管理) > [Service Remapping] (サービスリマッピング) の順に移動します。[Add Service Rule] (サービスのルールを追加) をクリックして、インスツルメントされたサービスをリマップします。推論されたサービス、データストア、またはキューをリマップするには、[Inferred Entity Rules] (推論されたエンティティのルール) タブを選択して [Add Inferred Entity Rule] (推論されたエンティティのルールを追加) をクリックします。
または、[APM] > [Catalog] に移動し、サービスをクリックしてサービスサイドパネルを開きます。そこから、[Service Page] (サービス詳細画面) > [Service Remapping] (サービスリマッピング) をクリックします。
新しいリマッピングルールに対して実行するリマッピングアクションを選択します。
- 単一のエンティティの分割または名前変更や、複数のエンティティのマージまたは名前変更を行うには、[Remap services] (サービスのリマップ) を選択します。
- インフラストラクチャータグに基づいてサービスを識別するには、[Correlate telemetry] (テレメトリの相関付け) を選択します。
検索バーを使用して、リマップするエンティティを選択します。
- 1 つ以上のエンティティを選択できますが、すべて同じタイプ (サービス、推論されたサービス、データストア、またはキュー) である必要があります。表示名のメタデータではなく、
service タグまたは peer.service タグに基づいてサービスを選択します。 - エンティティを選択すると、バックグラウンドでスパンクエリが構築されます。クエリを編集するには、[Build Advanced Query] (高度なクエリを構築) を選択します。
- サービスをインフラストラクチャータグと相関付ける場合は、_1 つ_のサービスのみを選択できます。テレメトリを相関付けるインフラストラクチャータグを選択します。選択したサービスと同じインフラストラクチャータグを持つすべてのテレメトリが、単一の統合されたサービス名にリマップされます。
ステップ 2: 新しいエンティティ名を指定する
テキストボックスに、選択したエンティティの一意の名前を入力します。または、{{tagName}} 構文でタグ値を使用して、エンティティのタグに基づいてリマップします。入力すると、新しいサービス名のプレビューが表示されます。
- タグ値が特定のパターンに従っている場合は、正規表現を適用して、名前に必要な部分のみを抽出します。
注: プレビューは網羅的ではありません。複数の値を持つタグに基づいてサービスをリマップする場合は、スパン数が最も多い値のみがプレビューに表示されます。
ステップ 3: ルールに名前を付けて確認する
- オプションで、後で識別できるようにリマッピングルールにわかりやすい名前を付けます。
- リマッピングルールを確認して保存します。ルールを保存した後、有効になるまでに約 1 分かかる場合があります。
リマッピングルールの動作
リマッピングルールは、サービスのリマッピングでは service タグ、推論されたサービス、データストア、キューのリマッピングでは peer.service タグを上書きすることで機能します。サービスは取り込み時にリマップされます。リマッピングルールが作成されても、サービス名を指定する既存の構成は変更されません。サービスリマッピングルールは、他のすべてのサービス名の構成よりも優先されます。
リマッピングルールは、APM、ログ、メトリクス、USM、DSM、DJM、DBM、プロファイリング、NPM、Live Processes、Live Containers、Kubernetes、およびイベント全体に適用されます。
- **履歴データ:**リマッピングルールによる変更は、ルールがアクティブな間に取り込まれたテレメトリにのみ影響します。過去のデータは遡及的に更新されません。ルールを削除または変更すると、新しいデータへの適用は停止されますが、以前に取り込まれたデータの名前は元に戻りません。
- ルールの順序: サービスリマッピングルールは順番に適用されます。ルールリストの先頭にあるルールが最初に適用されます。サービスは、最初にキャプチャされたルールによってのみリマップされます (同じサービスに複数のルールは適用されません)。
- 正規表現: 正規表現を使用して新しいサービス名を定義できますが、キャプチャグループ内で貪欲な量指定子を使用することはできません。
- ログサービスリマッパー: サービスリマッピングルールは、ログパイプラインの前に適用されます。ログサービスリマッパーとリマッピングルールの両方がサービスに適用される場合、リマッピングルールが優先されます。
- ダッシュボードとモニター: 古いサービス名を参照する既存のクエリは、自動的に更新されません。手動で確認して更新してください。
インテグレーションオーバーライドとカスタムオーバーライド: インテグレーションオーバーライドまたはカスタムオーバーライドがリマッピングルールのスコープ内にある場合、それらもリマップされます。最適な APM エクスペリエンスを得るには、インテグレーションオーバーライドを削除してください。
- サービス命名階層: サービス名は、優先度の高い順に以下の階層によって決定されます。
- サービスリマッピングルール
- コード内で定義されたサービス (
tracer.Start(WithService(xx))) - システムプロパティで定義されたサービス (
-Ddd.service={}) - 環境変数で定義されたサービス (
DD_SERVICE) - 構成ファイルで定義されたサービス (
application_monitoring.yaml)
参考資料