1 つのコマンドで Agent のインストール、構成、起動を行うと同時に、ASM によるサービスのインスツルメンテーションも可能です。
Ubuntu ホストの場合
1 行のインストールコマンドを実行します。
DD_API_KEY=<YOUR_DD_API_KEY> DD_SITE="<YOUR_DD_SITE>" DD_APM_INSTRUMENTATION_ENABLED=host DD_APM_INSTRUMENTATION_LIBRARIES="java:1,python:2,js:5,dotnet:3" DD_APPSEC_ENABLED=true bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
a. <YOUR_DD_API_KEY>
を自分の Datadog API キーに置き換えます。
b. <YOUR_DD_SITE>
を自分の Datadog サイトに置き換えます。
You can also optionally configure the following:
現在のシェルセッションを終了します。
新しいシェルセッションを開始します。
ホストまたは VM 上のサービスを再起動します。
Datadog でサービスのパフォーマンス可観測性を調べます。
注: ASM Threat Protection とコードセキュリティの両方をシングルステップで有効化するには、DD_APPSEC_ENABLED=true
と DD_IAST_ENABLED=true
の両環境変数をインストールコマンド (1行) に追加してください。
トレーシングライブラリのバージョン指定
デフォルトでは、サーバーで APM を有効化すると、Java、Python、Node.js、.NET Core の各サービスがサポートされます。これらの中から一部の言語のみで実装されたサービスがある場合は、インストールコマンド (1行) で DD_APM_INSTRUMENTATION_LIBRARIES
を設定してください。
DD_APM_INSTRUMENTATION_LIBRARIES="java:1.25.0,python" DD_API_KEY=<YOUR_DD_API_KEY> DD_SITE="<YOUR_DD_SITE>" DD_APM_INSTRUMENTATION_ENABLED=host DD_APPSEC_ENABLED=true DD_ENV=staging bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
言語名の後にコロンを置き、トレーシングライブラリのバージョンを指定することで、オプションでトレーシングライブラリのバージョン番号を指定できます。バージョンを指定しない場合、デフォルトは最新バージョンになります。言語名はカンマ区切りです。
サポートされている言語は以下の通りです。
- .NET (
dotnet
) - Python (
python
) - Java (
java
) - Node.js (
js
)
注: Node.js のトレーシングライブラリについては、Node.js のバージョンによって互換性があります。詳細は Datadog/dd-trace-js: JavaScript APM トレーサーを参照してください。
環境による可観測性データのタグ付け
Agent を通過するインスツルメンテーションされたサービスやその他のテレメトリーに、特定の環境を自動的にタグ付けするには、Linux 用の 1 行インストールコマンドで DD_ENV
を設定します。例えば、Agent がステージング環境にインストールされている場合、DD_ENV=staging
を設定して可観測性データを staging
に関連付けます。
例:
DD_API_KEY=<YOUR_DD_API_KEY> DD_SITE="<YOUR_DD_SITE>" DD_APM_INSTRUMENTATION_ENABLED=host DD_APM_INSTRUMENTATION_LIBRARIES="java:1,python:2,js:5,dotnet:3" DD_APPSEC_ENABLED=true DD_ENV=staging bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
Docker Linux コンテナの場合
- ライブラリインジェクターをインストールします。
DD_APM_INSTRUMENTATION_ENABLED=docker DD_APM_INSTRUMENTATION_LIBRARIES="java:1,python:2,js:5,dotnet:3" DD_NO_AGENT_INSTALL=true DD_APPSEC_ENABLED=true bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
- Docker で Agent を構成します。
docker run -d --name dd-agent \
-e DD_API_KEY=${YOUR_DD_API_KEY} \
-e DD_APM_ENABLED=true \
-e DD_APPSEC_ENABLED=true \
-e DD_APM_NON_LOCAL_TRAFFIC=true \
-e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true \
-e DD_APM_RECEIVER_SOCKET=/opt/datadog/apm/inject/run/apm.socket \
-e DD_DOGSTATSD_SOCKET=/opt/datadog/apm/inject/run/dsd.socket \
-v /opt/datadog/apm:/opt/datadog/apm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
gcr.io/datadoghq/agent:7
<YOUR_DD_API_KEY>
を自分の Datadog API に置き換えます。You can also optionally configure the following:
- Docker コンテナを再起動します。
- Datadog でサービスのパフォーマンス可観測性を調べます。
トレーシングライブラリのバージョン指定
デフォルトでは、サーバーで APM を有効にすると、Java、Python、Node.js、.NET サービスのサポートがインストールされます。これらの言語の一部で実装されたサービスしかない場合は、インストールスクリプトを実行するときに DD_APM_INSTRUMENTATION_LIBRARIES
を設定します。
例えば、Java トレーシングライブラリの v1.25.0 と最新の Python トレーシングライブラリのみのサポートをインストールするには、インストールコマンドに以下を追加します。
DD_APM_INSTRUMENTATION_LIBRARIES="java:1.25.0,python" DD_APM_INSTRUMENTATION_ENABLED=docker DD_NO_AGENT_INSTALL=true DD_APPSEC_ENABLED=true bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
言語名の後にコロンを置き、トレーシングライブラリのバージョンを指定することで、オプションでトレーシングライブラリのバージョン番号を指定できます。バージョンを指定しない場合、デフォルトは最新バージョンになります。言語名はカンマ区切りです。
サポートされている言語は以下の通りです。
- .NET (
dotnet
) - Python (
python
) - Java (
java
) - Node.js (
js
) - Ruby (
ruby
)
注: Node.js のトレーシングライブラリについては、Node.js のバージョンによって互換性があります。詳細は Datadog/dd-trace-js: JavaScript APM トレーサーを参照してください。
環境による可観測性データのタグ付け
Agent を通過するインスツルメンテーションされたサービスやその他のテレメトリーに、自動的に特定の環境をタグ付けするには、Docker 用のライブラリインジェクタのインストールコマンドで DD_ENV
を設定します。例えば、Agent がステージング環境にインストールされている場合、DD_ENV=staging
を設定して可観測性データを staging
に関連付けます。
例:
docker run -d --name dd-agent \
-e DD_API_KEY=${YOUR_DD_API_KEY} \
-e DD_APM_ENABLED=true \
-e DD_APPSEC_ENABLED=true \
-e DD_ENV=staging \
-e DD_APM_NON_LOCAL_TRAFFIC=true \
-e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true \
-e DD_APM_RECEIVER_SOCKET=/opt/datadog/apm/inject/run/apm.socket \
-e DD_DOGSTATSD_SOCKET=/opt/datadog/apm/inject/run/dsd.socket \
-v /opt/datadog/apm:/opt/datadog/apm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
gcr.io/datadoghq/agent:7
Datadog Helm チャートで Agent をインストールすることで、APM を有効にすることができます。これにより、Datadog Agent が DaemonSet で Linux ベースの Kubernetes クラスターの全ノードにデプロイされます。
注: シングルステップインスツルメンテーションは、Datadog Agent をインストールしたネームスペース内のアプリケーションをインスツルメントしません。そのため、アプリケーションを実行しない別のネームスペースに Agent をインストールすることを推奨します。
要件
- Helm がインストールされていることを確認します。
インストール
Helm でシングルステップのインスツルメンテーションを有効にするには
Helm Datadog リポジトリを追加します。
helm repo add datadog https://helm.datadoghq.com
helm repo update
Datadog の API キーを保存する Kubernetes Secret を作成します。
kubectl create secret generic datadog-secret --from-literal api-key=$DD_API_KEY