定義
Datadog APM アプリケーション全体をスコープに設定するために使用できるディメンションが複数あります。これには、集計統計(リクエスト/秒、レイテンシー、エラー率、Apdex スコアなど)および表示可能なトレースが含まれます。こうしたディメンションは、アプリケーションの動作をさらに詳細に把握できるプライマリタグを介して設定されます。プライマリタグのユースケースには、環境、アベイラビリティゾーン、データセンターなどがあります。
プライマリタグは、従来の Datadog タグとは異なるルールセットに従う必要があります。
セットアップ
環境
デフォルトの必須プライマリタグは、トレースの収集元の環境です。タグキーは env
で、タグなしデータのデフォルト値は env:none
です。
トレーサー環境
Datadog は、トレーサーに env
を設定することをお勧めします。env
の定義はサービスの実際のランタイム内に存在するため、これにより柔軟性も向上します。
DD_ENV
がサービスのプロセスに公開されている場合、トレーサーはそれを自動的に使用します。DD_ENV
およびその他の標準サービス環境変数の設定については、統合サービスタグ付けを参照してください。
コードでトレーサーのグローバルタグとして env
を手動で設定することもできます。詳細については、APM でのタグの割り当てを参照してください。
Agent 環境
env
タグは、Agent コンフィギュレーションで設定できます。
トレーサーと Agent に異なる env
タグを設定しないでください。これを行うと、トレースメトリクスでタグが重複する可能性があります。
オプション
トップレベル Agent コンフィギュレーション:
コンテナ化環境: Agent は、環境変数 DD_ENV
によるトップレベルの env
のコンフィギュレーションもサポートしています。
Agent ホストタグ:
tags:
env: <ENVIRONMENT>
...
コンテナ化環境: Agent は、環境変数 DD_TAGS
によるトップレベルの tags
のコンフィギュレーションもサポートしています。
環境ごとのデータ
環境は、APM ページの上部に表示されます。env
ドロップダウンを使用して、現在のページに表示されるデータのスコープを設定します。
Datadog に 2 番目のプライマリタグを追加する
トレースメトリクスを追加のディメンションにわたって集計する必要がある場合、デフォルトで必須のプライマリタグ env:<ENVIRONMENT>
に加えて、2 つ目のプライマリタグを設定することをお勧めします。構成すると、Service Catalog Performance タブで 2 つ目のドロップダウンが利用可能になります。
APM 設定ページで、プライマリタグの定義、変更、削除を行います。
注:
- 組織管理者のみがこのページにアクセスできます。
- 変更が UI に反映されるまでに最大 2 時間かかる場合があります。
- トレーサーは常に
resource
、name
、service
タグをスパンに追加します。Datadog は、混乱を避けるために、これらをホストレベルのタグとして追加しないことをお勧めします。 - 2 つ目のプライマリタグは最大 30 個のユニークな値をサポートします。詳しくは APM データ量ガイドラインを参照してください。
以前に設定したプライマリタグを変更する場合は、次のことに注意してください。
- 以前に設定されたタグによって集計された履歴 APM データにはアクセスできなくなります。
- 前のタグをスコープとする APM モニターには、No Data のステータスが表示されます。
コンテナベースの第 2 プライマリタグ
Linux ベースのプラットフォームで、Docker コンテナや Kubernetes ポッドのメタデータに由来するタグに基づいて、トレースメトリクスのインデックスを作成することができます。コンテナベースの第 2 プライマリタグは、Datadog Agent バージョン 7.35.0 以降で利用可能です。
コンテナベースの第 2 プライマリタグを有効にするには、Agent バージョン 7.35.0 以降をインストールし、CID 統計の設定を以下のように更新し、Agent を再起動します。有効化の手順は、Agent のインストール方法によって異なります。
Datadog Helm チャートバージョン 2.26.2 以降を使用して、values ファイルに以下を追加します。
#...
datadog:
#...
env:
- name: DD_APM_FEATURES
value: 'enable_cid_stats'
Agent DaemonSet で以下の環境変数を使用します。Agent プロセスごとにコンテナを実行する場合は、すべてのコンテナに以下の環境変数を追加します。それ以外の場合は、Agent コンテナに追加します。
# (...)
env:
# (...)
- name: DD_APM_FEATURES
value: 'enable_cid_stats'
以下を docker-compose.yml ファイルに追加します。
services:
#...
datadog:
#...
environment:
- DD_APM_FEATURES: 'enable_cid_stats'
Docker や ECS のインストールでよくあるように、Agent を環境変数で構成する場合、Docker イメージのアップグレード後に以下の環境変数をトレース Agent に渡します。
DD_APM_FEATURES=enable_cid_stats
Agent を再起動します。APM 設定ページに移動し、使用する第 2 プライマリタグを選択します。この設定の変更が反映されるまで、最大で 2 時間かかることがあります。
これで、サービスカタログで、コンテナ化されたサービスから送信されるタグによって、サービスをフィルターすることができます。ダッシュボードやモニターで使用されるトレースメトリクスも、コンテナのプライマリタグで集計することができます。
タグとしてのカスタムラベル
まだの方は、タグの割り当てで、コンテナやポッドのラベルをトレースのカスタムタグとして送信するように Agent を構成することも可能です。
プライマリタグごとのデータの表示
プライマリタグは、APM ページの上部に表示されます。これらのセレクターを使用して、現在のページに表示されるデータをフィルターします。プライマリタグに依存しないすべてのデータを表示するには、ドロップダウンから <タグ名>:*
を選択します。
その他の参考資料