定義
Datadog APM アプリケーション全体をスコープするために利用可能なディメンションがいくつかあります。これには、集計統計 (リクエスト/秒、レイテンシー、エラー率、Apdex スコアなど) や、表示可能なトレースが含まれます。これらのディメンションはプライマリタグを通じて設定され、アプリケーションの動作をより詳細に把握することが可能になります。プライマリタグのユースケースには、環境、アベイラビリティーゾーン、データセンターなどがあります。
プライマリタグは、従来の Datadog タグとは異なる一連のルールに従う必要があります。
セットアップ
環境
デフォルトかつ必須のプライマリタグは、トレースが収集される環境です。そのタグキーは env であり、タグ付けされていないデータのデフォルト値は env:none です。
トレーサー環境
Datadog では、SDK で env を設定することを推奨しています。これにより、env の定義がサービスの実際のランタイム内に存在するため、より高い柔軟性が得られます。
DD_ENV がサービスプロセスに公開されている場合、SDK はそれを自動的に使用します。DD_ENV やその他の標準的なサービス環境変数の設定については、「Unified Service Tagging」を参照してください。
また、コード内で env を SDK のグローバルタグとして手動で設定することもできます。詳細については、「APM でのタグの割り当て」を参照してください。
Agent の環境設定
env タグは Agent 設定で指定することもできます。
トレーサーと Agent で異なる env タグを設定しないでください。これを行うと、トレースメトリクスでタグの重複が発生する可能性があります。
オプション:
最上位レベルの Agent 設定:
Containerized environments: The Agent also supports configuration of the top-level env through the environment variable DD_ENV.
Agent ホストタグ:
tags:
env: <ENVIRONMENT>
...
Containerized environments: The Agent also supports configuration of top-level tags through the environment variable DD_TAGS.
環境別のデータ
環境は APM ページの上部に表示されます。env ドロップダウンを使用して、現在のページに表示されるデータのスコープを指定できます。
追加のディメンション全体でトレースメトリクスを集計する必要がある場合、Datadog では必須のプライマリタグ env:<ENVIRONMENT> に加えて、追加のプライマリタグを設定することを推奨しています。設定が完了すると、[Catalog Performance] タブで 2 つ目のドロップダウンが利用可能になります。
APM 設定ページに移動して、プライマリタグの定義、変更、削除を行います。
注:
- このページにアクセスできるのは組織の管理者のみです。
- 変更が UI に反映されるまで最大 2 時間かかる場合があります。
- SDK は常にスパンに、
resource タグ、name タグ、service タグを追加します。混乱を避けるため、Datadog ではこれらをホストレベルのタグとして追加しないことを推奨しています。 - 追加のプライマリタグは、タグごとに最大 100 個の一意の値をサポートします。詳細については、「APM データ量ガイドライン」を参照してください。
- 追加のプライマリタグには、ホストタグまたはコンテナタグを使用できます。SDK によって追加されたスパンレベルのタグは、プライマリタグとして使用できません。
以前に設定したプライマリタグを変更する場合は、以下の点に注意してください。
- 以前に設定されたタグによって集計された過去の APM データにはアクセスできなくなります。
- 以前のタグにスコープ設定された APM モニターは、No Data のステータスを表示します。
Linux ベースのプラットフォームでは、Docker コンテナおよび Kubernetes Pod のメタデータから派生したタグに基づいて、トレースメトリクスをインデックス化できます。
コンテナベースのプライマリタグは、Datadog Agent バージョン 7.65.0 以降でデフォルトで有効になっています。APM 設定ページに移動し、使用する追加プライマリタグを選択します。この設定の変更が有効になるまで、最大 2 時間かかる場合があります。
Catalog では、コンテナ化されたサービスによって送信されているタグでサービスをフィルタリングできます。Dashboards や Monitors で使用されるトレースメトリクスも、コンテナプライマリタグで集計できます。
注: プライマリタグの値には、大文字や特殊文字 (アンダースコア、マイナス、コロン、ピリオド、スラッシュを除く) を含めないでください。含めた場合、一部の機能が正常に動作しない可能性があります。
コンテナベースのプライマリタグを無効にするには、disable_cid_stats APM 機能を設定し、Agent を再起動してください。DD_APM_FEATURES がすでに設定されている場合は、カンマ区切りのリストに disable_cid_stats を追加してください。手順は、Agent のインストール方法によって異なります。
values ファイルに以下を追加してください。
#...
datadog:
#...
env:
- name: DD_APM_FEATURES
value: 'disable_cid_stats'
Agent の DaemonSet で以下の環境変数を使用してください。Agent プロセスごとにコンテナを実行している場合は、すべてのコンテナに以下の環境変数を追加してください。それ以外の場合は、Agent コンテナに追加してください。
# (...)
env:
# (...)
- name: DD_APM_FEATURES
value: 'disable_cid_stats'
docker-compose.yml ファイルに以下を追加してください。
services:
#...
datadog:
#...
environment:
- DD_APM_FEATURES=disable_cid_stats
Docker や ECS のインストールで一般的なように、環境変数を使用して Agent を設定する場合は、以下の環境変数をトレース Agent に渡してください。
DD_APM_FEATURES=disable_cid_stats
まだ設定していない場合は、Assigning Tags を使用して、コンテナまたは Pod のラベルをトレースのカスタムタグとして送信するように Agent を設定することもできます。
プライマリタグ別にデータを表示する
プライマリタグは、APM ページの上部に表示されます。これらのセレクターを使用して、現在のページに表示されるデータをフィルタリングできます。プライマリタグに関係なくすべてのデータを表示するには、ドロップダウンから [<TAG_NAME>:*] を選択します。
関連資料