- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
コードを使用してトレーシングライブラリをセットアップし、APM データを収集するように Agent を構成した後、オプションで統合サービスタグ付けのセットアップなど、必要に応じてトレーシングライブラリを構成してください。
以下のすべてのコンフィギュレーションオプションには、同等のシステムプロパティと環境変数があります。 両方に同じキータイプが設定されている場合は、システムプロパティコンフィギュレーションが優先されます。 システムプロパティは、JVM フラグとして設定できます。
注: Java トレーサーのシステムプロパティを使用する場合は、JVM オプションとして読み込まれるように、-jar
の前にリストされていることを確認してください。
dd.service
DD_SERVICE
unnamed-java-app
dd.tags
DD_TAGS
null
layer:api,team:intake,key:value
dd.env
DD_ENV
none
dd.version
DD_VERSION
null
dd.logs.injection
DD_LOGS_INJECTION
true
dd.trace.config
DD_TRACE_CONFIG
null
-Ddd.trace.config=<ファイルパス>.properties
経由として、ファイルのサービス名に dd.service=<SERVICE_NAME>
を設定して提供することができます。dd.service.mapping
DD_SERVICE_MAPPING
null
mysql:my-mysql-service-name-db, postgresql:my-postgres-service-name-db
dd.writer.type
DD_WRITER_TYPE
DDAgentWriter
LoggingWriter
で構成すると、トレースがコンソールに書き出されます。dd.agent.host
DD_AGENT_HOST
localhost
dd.trace.agent.port
DD_TRACE_AGENT_PORT
8126
receiver_port
または DD_APM_RECEIVER_PORT
をデフォルトの 8126
以外に設定した場合、dd.trace.agent.port
または dd.trace.agent.url
はそれに合わせる必要があります。dd.trace.agent.unix.domain.socket
DD_TRACE_AGENT_UNIX_DOMAIN_SOCKET
null
dd.trace.agent.url
DD_TRACE_AGENT_URL
null
receiver_port
または DD_APM_RECEIVER_PORT
をデフォルトの 8126
以外に設定した場合、dd.trace.agent.port
または dd.trace.agent.url
をそれに合わせる必要があります。URL の値は、HTTP で接続する場合は http://
で始まり、Unixドメインソケットを使用する場合は unix://
で始まることができます。この設定は DD_AGENT_HOST
と DD_TRACE_AGENT_PORT
よりも優先されます。バージョン 0.65+ で利用可能です。dd.trace.agent.timeout
DD_TRACE_AGENT_TIMEOUT
10
dd.trace.header.tags
DD_TRACE_HEADER_TAGS
null
CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name
http.request.headers.<header-name>
と http.response.headers.<header-name>
という形式のタグに自動的にマップされます。Ddd.trace.header.tags.legacy.parsing.enabled=true
を追加するか、環境変数 DD_TRACE_HEADER_TAGS_LEGACY_PARSING_ENABLED=true
を設定することで可能です。dd.trace.request_header.tags
DD_TRACE_REQUEST_HEADER_TAGS
null
CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name
http.request.headers.<header-name>
という形式のタグに自動的にマップされます。dd.trace.response_header.tags
DD_TRACE_RESPONSE_HEADER_TAGS
null
CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name
http.response.headers.<header-name>
という形式のタグに自動的にマップされます。dd.trace.header.baggage
DD_TRACE_HEADER_BAGGAGE
null
CASE-insensitive-Header:my-baggage-name,User-ID:userId,My-Header-And-Baggage-Name
dd.trace.annotations
DD_TRACE_ANNOTATIONS
com.some.Trace;io.other.Trace
@Trace
として処理するメソッドアノテーションのリスト。dd.trace.methods
DD_TRACE_METHODS
null
package.ClassName[method1,method2,...];AnonymousClass$1[call];package.ClassName[*]
@Trace
の追加と似ていますが、コードの変更はありません。注: ワイルドカード型メソッドのサポート ([*]
) は、コンストラクター、get アクセス操作子、set アクセス操作子、synthetic、toString、等号、ハッシュコード、またはファイナライザーメソッドのコールに対応しません。dd.trace.classes.exclude
DD_TRACE_CLASSES_EXCLUDE
null
package.ClassName,package.ClassName$Nested,package.Foo*,package.other.*
dd.trace.partial.flush.min.spans
DD_TRACE_PARTIAL_FLUSH_MIN_SPANS
1000
dd.trace.split-by-tags
DD_TRACE_SPLIT_BY_TAGS
null
aws.service
dd.trace.db.client.split-by-instance
DD_TRACE_DB_CLIENT_SPLIT_BY_INSTANCE
false
true
に設定すると、db スパンにインスタンス名がサービス名として割り当てられますdd.trace.health.metrics.enabled
DD_TRACE_HEALTH_METRICS_ENABLED
true
true
に設定すると、トレーサーヘルスメトリクスが送信されますdd.trace.health.metrics.statsd.host
DD_TRACE_HEALTH_METRICS_STATSD_HOST
dd.jmxfetch.statsd.host
と同じdd.trace.health.metrics.statsd.port
DD_TRACE_HEALTH_METRICS_STATSD_PORT
dd.jmxfetch.statsd.port
と同じdd.http.client.tag.query-string
DD_HTTP_CLIENT_TAG_QUERY_STRING
false
true
に設定すると、クエリ文字列パラメーターとフラグメントがウェブクライアントスパンに追加されますdd.http.client.error.statuses
DD_HTTP_CLIENT_ERROR_STATUSES
400-499
dd.http.client.error.statuses=400-403,405,410-499
dd.http.server.error.statuses
DD_HTTP_SERVER_ERROR_STATUSES
500-599
dd.http.server.error.statuses=500,502-599
dd.http.server.tag.query-string
DD_HTTP_SERVER_TAG_QUERY_STRING
true
true
に設定すると、クエリ文字列パラメーターとフラグメントがウェブサーバースパンに追加されますdd.trace.enabled
DD_TRACE_ENABLED
true
false
トレースエージェントが無効の時dd.jmxfetch.enabled
DD_JMXFETCH_ENABLED
true
dd.jmxfetch.config.dir
DD_JMXFETCH_CONFIG_DIR
null
/path/to/directory/etc/conf.d
yaml
ファイルの instance
セクションの jvm_direct:true
を探してコンフィギュレーションを変更します。dd.jmxfetch.config
DD_JMXFETCH_CONFIG
null
path/to/file/conf.yaml,other/path/to/file/conf.yaml
yaml
ファイルの instance
セクションの jvm_direct:true
を探してコンフィギュレーションを変更します。dd.jmxfetch.check-period
DD_JMXFETCH_CHECK_PERIOD
1500
dd.jmxfetch.refresh-beans-period
DD_JMXFETCH_REFRESH_BEANS_PERIOD
600
dd.jmxfetch.statsd.host
DD_JMXFETCH_STATSD_HOST
agent.host
と同じunix:///var/datadog-agent/dsd.socket
dd.jmxfetch.statsd.port
DD_JMXFETCH_STATSD_PORT
8125
dd.trace.obfuscation.query.string.regexp
DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP
null
http.url
タグで報告されるリクエストのクエリ文字列から機密データを削除するための正規表現 (マッチした場合は dd.integration.opentracing.enabled
DD_INTEGRATION_OPENTRACING_ENABLED
true
dd.hystrix.tags.enabled
DD_HYSTRIX_TAGS_ENABLED
false
dd.trace.servlet.async-timeout.error
DD_TRACE_SERVLET_ASYNC_TIMEOUT_ERROR
true
dd.trace.startup.logs
DD_TRACE_STARTUP_LOGS
true
false
の場合は起動ログの収集が無効化されます。バージョン 0.64 以上で使用可能です。dd.trace.servlet.principal.enabled
DD_TRACE_SERVLET_PRINCIPAL_ENABLED
false
true
の場合は、ユーザープリンシパルが収集されます。バージョン 0.61 以降で使用可能です。dd.instrumentation.telemetry.enabled
DD_INSTRUMENTATION_TELEMETRY_ENABLED
true
true
の場合、トレーサーはテレメトリーデータを収集します。バージョン 0.104+ で利用可能です。バージョン 0.115+ では true
がデフォルトとなります。dd.trace.128.bit.traceid.generation.enabled
DD_TRACE_128_BIT_TRACEID_GENERATION_ENABLED
false
dd.trace.128.bit.traceid.logging.enabled
DD_TRACE_128_BIT_TRACEID_LOGGING_ENABLED
false
注:
両方に同じキータイプが設定された場合、システムプロパティコンフィギュレーションが優先されます。
システムプロパティは JVM パラメーターとして使用できます。
デフォルトで、アプリケーションからの JMX メトリクスは、DogStatsD によりポート 8125
で Datadog Agent に送信されます。DogStatsD が Agent に対して有効になっていることを確認してください。
DD_DOGSTATSD_NON_LOCAL_TRAFFIC
が true
に設定されていることと、Agent コンテナでポート 8125
が開いていることを確認してください。インテグレーションを無効にする方法については、インテグレーションの互換性セクションを参照してください。
dd.service.mapping
システムプロパティの例:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.service.mapping=postgresql:web-app-pg -jar path/to/application.jar
dd.tags
スパンと JMX メトリクスにグローバルな env を設定:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -jar path/to/application.jar
dd.trace.span.tags
すべてのスパンに project:test を追加する例:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -jar path/to/application.jar
dd.trace.jmx.tags
JMX メトリクスに custom.type:2 を設定:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.span.tags=project:test -Ddd.trace.jmx.tags=custom.type:2 -jar path/to/application.jar
dd.trace.methods
システムプロパティの例:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.trace.methods="hello.GreetingController[doSomeStuff,doSomeOtherStuff];hello.Randomizer[randomize]" -jar path/to/application.jar
dd.trace.db.client.split-by-instance
システムプロパティの例:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.env=dev -Ddd.service=web-app -Ddd.trace.db.client.split-by-instance=TRUE -jar path/to/application.jar
これで、DB インスタンス 1 である webappdb
に、db.instance
スパンのメタデータと同じサービス名が付けられます:
これで、DB インスタンス 2 である secondwebappdb
に、db.instance
スパンのメタデータと同じサービス名が付けられます:
同様に、サービスマップで、1 つの Web アプリが 2 つの異なる Postgres データベースに呼び出しを行っていることがわかります。
dd.http.server.tag.query-string
システムプロパティの例:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.service=web-app -Ddd.env=dev -Ddd.http.server.tag.query-string=TRUE -jar path/to/application.jar
dd.trace.enabled
システムプロパティとデバッグアプリのモードの例:
java -javaagent:/path/to/dd-java-agent.jar -Ddd.trace.enabled=false -Ddatadog.slf4j.simpleLogger.defaultLogLevel=debug -jar path/to/application.jar
デバッグアプリのログに、Tracing is disabled, not installing instrumentations.
と表示されます。
dd.jmxfetch.config.dir
and dd.jmxfetch.config
構成サンプル
DD_JMXFETCH_CONFIG_DIR=<ディレクトリパス>
+ DD_JMXFETCH_CONFIG=conf.yaml
DD_JMXFETCH_CONFIG=<ディレクトリパス>/conf.yaml
conf.yaml
で以下の内容を使用します。
init_config:
instances:
- jvm_direct: true
port: '<PORT>'
conf:
- include:
bean:
- java.lang:type=MemoryPool,name=Metaspace
attribute:
Usage.used:
metric_type: gauge
alias: sb.usage.used
次の結果が生成されます。
JMX フェッチを使った Java メトリクス収集についての詳細は Java インテグレーションドキュメントを参照してください。
有効な値と以下のコンフィギュレーションオプションの使用に関する情報については、Java トレースコンテキストの伝播を参照してください。
dd.trace.propagation.style.inject
DD_TRACE_PROPAGATION_STYLE_INJECT
datadog
dd.trace.propagation.style.extract
DD_TRACE_PROPAGATION_STYLE_EXTRACT
datadog
dd.trace.propagation.style
DD_TRACE_PROPAGATION_STYLE
datadog
dd.trace.propagation.style.inject
と dd.trace.propagation.style.extract
の構成が存在する場合は、そちらが優先されます。これらの b3
(B3 マルチヘッダーおよび B3 シングルヘッダーの両方) 用の抽出および挿入の設定は、バージョン 1.9.0. 以降、非推奨となっています。
dd.propagation.style.inject
DD_PROPAGATION_STYLE_INJECT
datadog
dd.propagation.style.extract
DD_PROPAGATION_STYLE_EXTRACT
datadog