App Analytics

このページは、レガシー版 App Analytics に関するコンフィギュレーション情報を伴う非推奨機能について説明します。トラブルシューティングまたは古い設定の修正に利用可能です。トレース全体を完全に制御するには、取り込みコントロールおよび保持フィルターを使用してください。

新しいコンフィギュレーションオプションへの移行

取り込みコントロールページへ移動し、レガシー版コンフィギュレーションを使用しているサービスを確認します。Legacy Setup のステータスでフラグが立てられています。

新しいコンフィギュレーションオプションへ移行するには、Legacy Setup のフラグ付きのサービスから、すべてのレガシー版 App Analytics コンフィギュレーションオプションを削除します。次に、Datadog Agent およびトレーシングライブラリのサンプリングメカニズムを実装してトレースを送信します。

App Analytics のセットアップ

App Analytics の構成オプションは、トレーシングライブラリと Datadog Agent に配置されています。ライブラリでは、サービスからの分析スパンは、自動または手動のいずれかで生成されます。

トレーシングライブラリで

自動コンフィギュレーション

App Analytics は、C++ トレースクライアントのバージョン 1.0.0 以降で使用できます。環境変数 DD_TRACE_ANALYTICS_ENABLEDtrue に設定することで、すべてのサービスエントリスパンに対してグローバルに有効にすることができます。: この設定は、コードで直接設定することもできます。

datadog::opentracing::TracerOptions tracer_options;
  tracer_options.agent_host = "dd-agent";
  tracer_options.service = "<サービス名>";
  tracer_options.analytics_rate = 1.0;
  auto tracer = datadog::opentracing::makeTracer(tracer_options);

その他のサービスの構成 (オプション)

インテグレーションごとの構成

グローバルに設定するほか、次の設定を使用して個々のインテグレーションに対して App Analytics を有効または無効にすることも可能です。

  • システムプロパティ: -Ddd.<integration>.analytics.enabled=true
  • 環境変数: DD_<INTEGRATION>_ANALYTICS_ENABLED=true

カスタムサービスを送信するインテグレーションに対し、グローバルコンフィギュレーションに加えて上記を使用します。例えば、カスタムサービスとして送信される JMS スパンの場合、次のように設定して App Analytics ですべての JMS トレースを有効にします。

  • システムプロパティ: -Ddd.jms.analytics.enabled=true
  • 環境変数: DD_JMS_ANALYTICS_ENABLED=true

インテグレーション名は、インテグレーションテーブルにあります。

データベースサービス

デフォルトでは、App Analytics はデータベーストレースをキャプチャしないため、各インテグレーションに対して手動で収集を有効にする必要があります。例:

  • システムプロパティ: -Ddd.jdbc.analytics.enabled=true
  • 環境変数: DD_JDBC_ANALYTICS_ENABLED=true
カスタムインスツルメンテーション

カスタムインスツルメンテーションを使用するアプリケーションは、スパンで analytics_event タグを設定することで App Analytics を有効にできます。

...
#include <datadog/tags.h>
...
auto tracer = ...
auto span = tracer->StartSpan("operation_name");
// true のブール値はスパンに対して App Analytics を有効にします
//(サンプルレートは 1.0)。
span->SetTag(datadog::tags::analytics_event, true);
// 0.0~1.0 のダブル値は App Analytics を有効にし、
//サンプルレートを指定された値に設定します。
span->SetTag(datadog::tags::analytics_event, 0.5);

Datadog Agent で

このセクションでは、レガシー App Analytics に関連する構成情報とともに、非推奨の機能について説明します。

サービスごとに解析するスパンの割合を構成するには、datadog.yaml ファイルに以下のように設定します。

apm_config:
  analyzed_rate_by_service:
    service_A: 1
    service_B: 0.2
    service_C: 0.05

サービスおよび操作名ごとに解析するスパンの割合を構成するには、datadog.yaml ファイルに以下のように設定します。

apm_config:
  analyzed_spans:
    service_A|operation_name_X: 1
    service_A|operation_name_Y: 0.25
    service_B|operation_name_Z: 0.01

トラブルシューティング: 1 秒あたりの最大イベント制限

Agent ログに以下のエラーメッセージが表示される場合、アプリケーションは、デフォルトで APM で許可されている毎秒 200 件を超えるトレースイベントを発行しています。

Max events per second reached (current=300.00/s, max=200.00/s). Some events are now being dropped (sample rate=0.54). Consider adjusting event sampling rates.

Agent の APM レート制限を増やすには、Agent のコンフィギュレーションファイル (apm_config: セクションの下) 内で max_events_per_second 属性を構成します。コンテナ化されたデプロイメント (Docker、Kubernetes など) の場合は、DD_APM_MAX_EPS 環境変数を使用します。

: APM レート制限を増やすと、App Analytics のコストが増加する可能性があります。

PREVIEWING: deforest/fix-security-rule-link